using Contracts.BindingModels; using Contracts.ViewModels; using DataModels.Models; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DatabaseImplement.Models { public class Role : IRole { public Guid Id { get; set; } [Required] public string Name { get; set; } = string.Empty; public RoleBindingModel GetBindingModel() => new() { Id = Id, Name = Name, }; public static Role ToRoleFromView(RoleViewModel model) => new() { Id = model.Id, Name = model.Name, }; public static Role ToRoleFromBinding(RoleBindingModel model) => new() { Id = model.Id, Name = model.Name, }; public void Update(RoleBindingModel model) { if (model is null) { throw new ArgumentNullException("Update role: bindinng model is null"); } Name = model.Name; } } }