Files
WatchIt/WatchIt.DTO/Models/Controllers/Roles/RolesMappers.cs

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
}