2023-06-01 01:58:22 +04:00

68 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DressAtelierContracts.BindingModels;
using DressAtelierContracts.ViewModels;
using DressAtelierDataModels.Models;
namespace DressAtelierListImplement.Models
{
public class Atelier :IAtelierModel
{
public int ID { get; private set; }
public string Name { get; private set; } = string.Empty;
public string Address { get; private set; } = string.Empty;
public int MaxTotalOfDresses { get; private set; }
public int CurrentQuantity { get; private set; }
public DateTime OpeningDate { get; private set; } = DateTime.Today;
public Dictionary<int, (IDressModel, int)> DressesList { get; private set; } = new Dictionary<int, (IDressModel, int)>();
public static Atelier? Create(AtelierBindingModel? atelier)
{
if(atelier == null)
{
return null;
}
return new Atelier()
{
ID = atelier.ID,
Name = atelier.Name,
Address = atelier.Address,
OpeningDate = atelier.OpeningDate,
DressesList = atelier.DressesList,
MaxTotalOfDresses = atelier.MaxTotalOfDresses,
CurrentQuantity = 0
};
}
public void Update(AtelierBindingModel? atelier)
{
if (atelier == null)
{
return;
}
Name = atelier.Name;
Address = atelier.Address;
DressesList = atelier.DressesList;
OpeningDate = atelier.OpeningDate;
MaxTotalOfDresses = atelier.MaxTotalOfDresses;
CurrentQuantity = atelier.DressesList.Sum(x => x.Value.Item2);
}
public AtelierViewModel GetViewModel => new()
{
ID = ID,
Name = Name,
Address = Address,
OpeningDate = OpeningDate,
DressesList = DressesList,
MaxTotalOfDresses = MaxTotalOfDresses,
CurrentQuantity = CurrentQuantity
};
}
}