using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Back.Data.Models { public class InvoiceItem { #region Key public int ID { get; set; } public int CODID { get; set; } public int? InvoiceID { get; set; } #endregion #region autofild //شناسه کاال/خدمت [MaxLength(13)] // [DatabaseGenerated(DatabaseGeneratedOption.None)] public string? sstid { get { return cODItem.ItemTaxID; } } // شرح کاال/خدمت [MaxLength(13)] [DatabaseGenerated(DatabaseGeneratedOption.None)] public string? sstt { get { return cODItem.Title; } } //واحد اندازهگیری [MaxLength(8)] public string? mu { get { return cODItem.CODUnit.UnitTaxID; } } //میزان ارز [MaxLength(18)] public decimal? cfee { get { return fee / exr; } } //مبلغ مالیات بر ارزش افزوده [MaxLength(18)] public decimal? vam { get { return invoice.pattern.inp == 9 ? fee*vra/100 : invoice.pattern.inp == 13 ? ((tcpbs+9)/100)+((prdis*vra)/100) : vra * adis / 100; } } //جمع کل اجرت ،حق العمل و سود [MaxLength(18)] public decimal? tcpbs { get { return consfee + spro + bros; } } //سهم نقدی از پرداخت [MaxLength(18)] public decimal? cop { get { return (tsstam * invoice.cap) / invoice.tadis; } } //سهم مالیات بر ارزش افزوده از پرداخت [MaxLength(18)] public decimal? vop { get { return vra == 0 ? 0 : (vam * invoice.cap) / invoice.tadis; } } //مبلغ کل کالا/خدمت [MaxLength(18)] public decimal? tsstam { get { return invoice.pattern.inp == 9 ? fee+vam : invoice.pattern.inp == 10 ? sscv + vam + odam + olam : invoice.pattern.inp == 4 ? prdis + vam + odam + olam : vam + adis + odam + olam; } } //مبلغ بعد از تخفیف [MaxLength(18)] public decimal? adis { get { return invoice.pattern.inp == 13 ? prdis+ tcpbs - dis: prdis - dis; } } //مبلغ قبل از تخفیف [MaxLength(18)] public decimal? prdis { get { return am * fee; } } //نرخ مالیات بر ازش افزوده [MaxLength(5)] public decimal? vra { get { return cODItem.TaxRate; } } //واحد اندازه گیری عنوان public string? unitTitle { get { return cODItem.CODUnit.Title; } } #endregion #region fild //تعداد/مقدار [MaxLength(36)] public decimal? am { get; set; } //وزن خالص [MaxLength(23)] public decimal? nw { get; set; } //مبلغ واحد [MaxLength(36)] public decimal? fee { get; set; } //نوع ارز [MaxLength(4)] public string? cut { get; set; } //نرخ برابری ارز با ریال [MaxLength(18)] public decimal? exr { get; set; } //ارزش ریالی کالا [MaxLength(18)] public decimal? ssrv { get; set; } //ارزش ارزی کالا [MaxLength(18)] public decimal? sscv { get; set; } //مبلغ تخفیف [MaxLength(18)] public decimal? dis { get; set; } //موضوع سایر مالیات و عوارض [MaxLength(255)] public string? odt { get; set; } //نرخ سایرمالیات و عوارض [MaxLength(5)] public decimal? odr { get; set; } //مبلغ سایر مالیات و عواض [MaxLength(18)] public decimal? odam { get; set; } //موضوع سایر وجوه قانونی [MaxLength(255)] public string? olt { get; set; } //نرخ سایروجوه قانونی [MaxLength(5)] public decimal? olr { get; set; } //مبلغ سایر وجوه قانونی [MaxLength(18)] public decimal? olam { get; set; } //اجرت دساخت [MaxLength(18)] public decimal? consfee { get; set; } //سود فروشنده [MaxLength(18)] public decimal? spro { get; set; } //حق العمل [MaxLength(18)] public decimal? bros { get; set; } //شناسه یکتای ثبت قرارداد حق العمل کاری [MaxLength(12)] public string? bsrn { get; set; } #endregion #region Navigation [ForeignKey("InvoiceID")] public virtual Invoice? invoice { get; set; } [ForeignKey("CODID")] public virtual CODItem cODItem { get; set; } #endregion } }