65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
using ElectronicsShopContracts.BindingModels;
|
||
using ElectronicsShopContracts.ViewModels;
|
||
using ElectronicsShopDataModels.Enums;
|
||
using ElectronicsShopDataModels.Models;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
using System.Diagnostics;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace ElectronicsShopDataBaseImplement.Models
|
||
{
|
||
public class Payment : IPaymentModel
|
||
{
|
||
public int ID { get; set; }
|
||
[ForeignKey("ProductID")]
|
||
public int ProductID { get; set; }
|
||
[ForeignKey("OrderID")]
|
||
public int OrderID { get; set; }
|
||
[Required]
|
||
public double SumPayment { get; set; }
|
||
[Required]
|
||
public PaymeantOption PayOption { get; set; } = PaymeantOption.Неизвестно;
|
||
public static Payment? Create(PaymentBindingModel? model)
|
||
{
|
||
if (model == null)
|
||
{
|
||
return null;
|
||
}
|
||
return new Payment()
|
||
{
|
||
ID = model.ID,
|
||
ProductID = model.ProductID,
|
||
OrderID = model.OrderID,
|
||
SumPayment = model.SumPayment,
|
||
PayOption = model.PayOption,
|
||
};
|
||
}
|
||
public void Update(PaymentBindingModel model)
|
||
{
|
||
if (model == null)
|
||
{
|
||
return;
|
||
}
|
||
ProductID = model.ProductID;
|
||
OrderID = model.OrderID;
|
||
SumPayment = model.SumPayment;
|
||
PayOption = model.PayOption;
|
||
}
|
||
|
||
public PaymentViewModel GetViewModel => new()
|
||
{
|
||
ID = ID,
|
||
ProductID = ProductID,
|
||
OrderID = OrderID,
|
||
SumPayment = SumPayment,
|
||
PayOption = PayOption,
|
||
};
|
||
|
||
}
|
||
}
|