using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Security.Principal; using System.Text; using System.Threading.Tasks; namespace Shared.DTOs { public class NUInvoiceDTO { public int? ID { get; set; } public string Title { get; set; } public int? PatternID { get; set; } public int CustomerID { get; set; } public string InvoicIssueDate { get; set; } public string InvoiceDate { get; set; } public string? Des { get; set; } } public class InvoiceGridDTO { [Display(Name = "شناسه")] public int ID { get; set; } [Display(Name = "عنوان")] public string Title { get; set; }// [Display(Name = "نوع صورتحساب")] public string? invoiceTypeTitle { get; set; }// public int CustomerID { get; set; }// [Display(Name = "مشتری")] public string CustomerName { get; set; }// public string? Udate { get; set; } [Display(Name = "تاریخ صدور")] public string InvoicIssueDate { get; set; }// //مجموع تخفیفات [Display(Name = "مجموع تخفیف")] public decimal? tdis { get; set; } //مجموع مالیات بر ارزش افزوده [MaxLength(18)] [Display(Name = "مجموع مالیات")] public decimal? tvam { get; set; } //مجموع صورتحساب [MaxLength(18)] [Display(Name = "مجموع صورتحساب")] public decimal? tbill { get; set; } [Display(Name = "صورتحساب مرجع")] public int? BillReference { get; set; } } public class InvoiceDTO { [Display(Name = "شناسه")] public int ID { get; set; } [Display(Name = "عنوان")] public string Title { get; set; }// public InvoiceType? invoiceType { get; set; }// public int? PatternID { get; set; }// public string? PatternTitle { get; set; }// [Display(Name = "نوع صورتحساب")] public string? invoiceTypeTitle { get; set; }// public int CustomerID { get; set; }// [Display(Name = "مشتری")] public string CustomerName { get; set; }// public string? Udate { get; set; } [Display(Name = "تاریخ صدور")] public string InvoicIssueDate { get; set; }// public string InvoiceDate { get; set; }// public bool PreparedtoSendtoTax { get; set; } public string? Des { get; set; } //مجموع تخفیفات [Display(Name = "مجموع تخفیف")] public decimal? tdis { get; set; } //مجموع مالیات بر ارزش افزوده [MaxLength(18)] [Display(Name = "مجموع مالیات")] public decimal? tvam { get; set; } //مجموع صورتحساب [MaxLength(18)] [Display(Name = "مجموع صورتحساب")] public decimal? tbill { get; set; } public int? BillReference { get; set; } public bool IsDeleted { get; set; } //public string? ExternalAccessCode { get; set; } public ICollection items { get; set; }=new List(); public ICollection payments { get; set; } = new List(); // public ICollection Invoicestatuschanges { get; set; } public ICollection InvoiceSendTaxs { get; set; }=new List { }; [MaxLength(10)] [Display(Name = "سریال صورتحساب داخلی حافظه مالیاتی")] public string? inno { get; set; } public bool HasaRemittance { get; set; } } public class InvoiceItemDTO { public int? ID { get; set; } public int CODID { get; set; } // شرح کاال/خدمت public string? sstt { get; set; } //واحد اندازهگیری------ public string? mu { get; set; } //تعداد/مقدار public decimal am { get; set; } //مبلغ واحد public decimal fee { get; set; } //نرخ مالیات بر ازش افزوده public decimal? vra { get; set; } //مبلغ مالیات بر ارزش افزوده public decimal? vam { get; set; } //مبلغ تخفیف public decimal? dis { get; set; } = 0; //مبلغ کل کالا/خدمت public decimal? tsstam { get; set; } //مبلغ قبل از تخفیف public decimal? prdis { get; set; } //مبلغ بعد از تخفیف public decimal? adis { get; set; } } public class InvoicePaymentDTO { public int? ID { get; set; } //[MaxLength(9)] public string? iinn { get; set; } //شماره پذیرنده فروشگاهی //[MaxLength(14)] public string? acn { get; set; } //شماره پایانه //[MaxLength(8)] public string? trmn { get; set; } //روش پرداخت //[MaxLength(2)] public int? pmt { get; set; } public string? paymentMethod { get; set; } //شماره پیگیری/شماره مرجع //[MaxLength(14)] public string? trn { get; set; } //شماره کارت پرداخت کننده صورتحساب //[MaxLength(16)] public string? pcn { get; set; } //شماره/شناسه ملی/کد فراگیر اتباع غیر ایرانی پرداخت کننده صورتحساب [MaxLength(12)] public string? pid { get; set; } //تاریخ و زمان پرداخت public string? PaymentDateTime { get; set; } = DateTime.Now.ConvertMiladiToShamsiinFront().ShamciToFormatShamciinFront(); //مبلغ پرداختی //[MaxLength(18)] public long? pv { get; set; } } //------------------------------ public class InvoiceStatusDto { public string Date { get; set; } public string User { get; set; } public string FromStatus { get; set; } public string ToStatus { get; set; } } public class InvoiceSendTaxDTO { public int SendTaxID { get; set; } public string Date { get; set; } public string Status { get; set; } public string Type { get; set; } } }