68 lines
2.1 KiB
C#
Raw Normal View History

2023-02-27 00:35:38 +04:00
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; }
2023-06-01 01:58:22 +04:00
public int CurrentQuantity { get; private set; }
2023-02-27 00:35:38 +04:00
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,
2023-06-01 01:58:22 +04:00
CurrentQuantity = 0
2023-02-27 00:35:38 +04:00
};
}
public void Update(AtelierBindingModel? atelier)
{
if (atelier == null)
{
return;
}
Name = atelier.Name;
Address = atelier.Address;
DressesList = atelier.DressesList;
OpeningDate = atelier.OpeningDate;
MaxTotalOfDresses = atelier.MaxTotalOfDresses;
2023-06-01 01:58:22 +04:00
CurrentQuantity = atelier.DressesList.Sum(x => x.Value.Item2);
2023-02-27 00:35:38 +04:00
}
public AtelierViewModel GetViewModel => new()
{
ID = ID,
Name = Name,
Address = Address,
OpeningDate = OpeningDate,
DressesList = DressesList,
2023-06-01 01:58:22 +04:00
MaxTotalOfDresses = MaxTotalOfDresses,
CurrentQuantity = CurrentQuantity
};
2023-02-27 00:35:38 +04:00
}
}