2023-04-09 12:14:52 +04:00

82 lines
2.6 KiB
C#

using BankContracts.BindingModels;
using BankContracts.ViewModels;
using BankDataModels.Models;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BankDataBaseImplement.Models
{
public class Clerc : IClercModel
{
[Required]
public string ClercFIO { get; set; } = string.Empty;
[Required]
public string ClercPassword { get; set; } = string.Empty;
[Required]
public string ClercLogin { get; set; } = string.Empty;
[Required]
public string ClercEmail { get; set; } = string.Empty;
[Required]
public string ClercNumber { get; set; } = string.Empty;
public int Id { get; private set; }
[ForeignKey("OrganiserId")]
public virtual List<Conference> Conferences { get; set; } = new();
[ForeignKey("OrganiserId")]
public virtual List<Additions> Additions { get; set; } = new();
[ForeignKey("OrganiserId")]
public virtual List<Member> Members { get; set; } = new();
public static Clerc? Create(ClercBindingModel model)
{
if (model == null)
{
return null;
}
return new Clerc()
{
Id = model.Id,
ClercFIO = model.ClercFIO,
ClercEmail = model.ClercEmail,
ClercPassword = model.ClercPassword,
ClercLogin = model.ClercLogin,
ClercNumber = model.ClercNumber
};
}
public static Clerc Create(ClercViewModel model)
{
return new Clerc
{
Id = model.Id,
ClercFIO = model.ClercFIO,
ClercEmail = model.ClercEmail,
ClercPassword = model.ClercPassword,
ClercLogin = model.ClercLogin,
ClercNumber = model.ClercNumber
};
}
public void Update(ClercBindingModel model)
{
if (model == null)
{
return;
}
ClercFIO = model.ClercFIO;
ClercEmail = model.ClercEmail;
ClercPassword = model.ClercPassword;
ClercLogin = model.ClercLogin;
ClercNumber = model.ClercNumber;
}
public ClercViewModel GetViewModel => new()
{
Id = Id,
ClercFIO = ClercFIO,
ClercEmail = ClercEmail,
ClercPassword = ClercPassword,
ClercNumber = ClercNumber,
ClercLogin = ClercLogin
};
}
}