130 lines
3.7 KiB
C#
130 lines
3.7 KiB
C#
using WatchIt.Database.Model.Roles;
|
|
using WatchIt.DTO.Models.Controllers.Roles.Role.Request;
|
|
using WatchIt.DTO.Models.Controllers.Roles.Role.Response;
|
|
using WatchIt.DTO.Models.Controllers.Roles.RoleActorType;
|
|
using WatchIt.DTO.Models.Controllers.Roles.RoleCreatorType;
|
|
using WatchIt.DTO.Models.Generics.Rating;
|
|
|
|
namespace WatchIt.DTO.Models.Controllers.Roles;
|
|
|
|
public static class RolesMappers
|
|
{
|
|
#region PUBLIC METHODS
|
|
|
|
#region Roles
|
|
|
|
public static RoleActor ToEntity(this RoleActorRequest request)
|
|
{
|
|
RoleActor roleActor = new RoleActor();
|
|
roleActor.SetRoleEntityProperties(request);
|
|
roleActor.ActorTypeId = request.TypeId;
|
|
roleActor.Name = request.Name;
|
|
return roleActor;
|
|
}
|
|
|
|
public static void UpdateWithRequest(this RoleActor entity, RoleActorRequest request)
|
|
{
|
|
entity.SetRoleEntityProperties(request);
|
|
entity.ActorTypeId = request.TypeId;
|
|
entity.Name = request.Name;
|
|
}
|
|
|
|
public static RoleCreator ToEntity(this RoleCreatorRequest request)
|
|
{
|
|
RoleCreator roleActor = new RoleCreator();
|
|
roleActor.SetRoleEntityProperties(request);
|
|
roleActor.CreatorTypeId = request.TypeId;
|
|
return roleActor;
|
|
}
|
|
|
|
public static void UpdateWithRequest(this RoleCreator entity, RoleCreatorRequest request)
|
|
{
|
|
entity.SetRoleEntityProperties(request);
|
|
entity.CreatorTypeId = request.TypeId;
|
|
}
|
|
|
|
public static RoleActorResponse ToResponse(this RoleActor entity)
|
|
{
|
|
RoleActorResponse response = new RoleActorResponse();
|
|
response.SetRoleResponseProperties(entity);
|
|
response.Name = entity.Name;
|
|
response.TypeId = entity.ActorTypeId;
|
|
return response;
|
|
}
|
|
|
|
public static RoleCreatorResponse ToResponse(this RoleCreator entity)
|
|
{
|
|
RoleCreatorResponse response = new RoleCreatorResponse();
|
|
response.SetRoleResponseProperties(entity);
|
|
response.TypeId = entity.CreatorTypeId;
|
|
return response;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region RoleRating
|
|
|
|
public static RoleRating ToEntity(this RatingRequest request, Guid roleId, long userId)
|
|
{
|
|
RoleRating entity = new RoleRating
|
|
{
|
|
RoleId = roleId,
|
|
AccountId = userId
|
|
};
|
|
entity.UpdateWithRequest(request);
|
|
return entity;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region RoleActorType
|
|
|
|
public static RoleActorTypeResponse ToResponse(this Database.Model.Roles.RoleActorType entity) => new RoleActorTypeResponse
|
|
{
|
|
Id = entity.Id,
|
|
Name = entity.Name,
|
|
};
|
|
|
|
public static Database.Model.Roles.RoleActorType ToEntity(this RoleActorTypeRequest request) => new Database.Model.Roles.RoleActorType
|
|
{
|
|
Name = request.Name,
|
|
};
|
|
|
|
#endregion
|
|
|
|
#region RoleCreatorType
|
|
|
|
public static RoleCreatorTypeResponse ToResponse(this Database.Model.Roles.RoleCreatorType entity) => new RoleCreatorTypeResponse
|
|
{
|
|
Id = entity.Id,
|
|
Name = entity.Name,
|
|
};
|
|
|
|
public static Database.Model.Roles.RoleCreatorType ToEntity(this RoleCreatorTypeRequest request) => new Database.Model.Roles.RoleCreatorType
|
|
{
|
|
Name = request.Name,
|
|
};
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region PRIVATE METHODS
|
|
|
|
private static void SetRoleEntityProperties(this Database.Model.Roles.Role role, RoleRequest request)
|
|
{
|
|
role.MediumId = request.MediumId;
|
|
role.PersonId = request.PersonId;
|
|
}
|
|
|
|
private static void SetRoleResponseProperties(this RoleResponse response, Database.Model.Roles.Role entity)
|
|
{
|
|
response.Id = entity.Id;
|
|
response.PersonId = entity.PersonId;
|
|
response.MediumId = entity.MediumId;
|
|
}
|
|
|
|
#endregion
|
|
} |