Files
moadiran/Back/Data/Models/InvoiceItem.cs
mmrbnjd 42ce2a29e7 ...
2024-08-09 23:20:25 +03:30

148 lines
5.5 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Reflection.Metadata.Ecma335;
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 != null ? cODItem.Title : null; } }
//واحد اندازهگیری
[MaxLength(8)]
public string? mu { get { return cODItem != null ? cODItem.CODUnit.UnitTaxID : null; } }
//میزان ارز
[MaxLength(18)]
public decimal? cfee { get { return
invoice?.pattern?.inp == 2 ? _cfee
: invoice?.pattern?.inp == 1 && exr != null && exr != 0 ? fee / exr
: null ; } }
//مبلغ مالیات بر ارزش افزوده
[MaxLength(18)]
public decimal? vam { get
{
return vra==0 ? 0 : 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
{
if (invoice==null || invoice.pattern==null)
{
return vam + adis;
}
else
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 != null ? cODItem.TaxRate : null; } }
//واحد اندازه گیری عنوان
public string? unitTitle { get { return cODItem!=null ? cODItem.CODUnit.Title : null; } }
#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; } = 0;
//ارزش ارزی کالا
[MaxLength(18)]
public decimal? sscv { get; set; } = 0;
//مبلغ تخفیف
[MaxLength(18)]
public decimal? dis { get; set; } = 0;
//موضوع سایر مالیات و عوارض
[MaxLength(255)]
public string? odt { get; set; }
//نرخ سایرمالیات و عوارض
[MaxLength(5)]
public decimal? odr { get; set; }
//مبلغ سایر مالیات و عواض
[MaxLength(18)]
public decimal? odam { get; set; } = 0;
//موضوع سایر وجوه قانونی
[MaxLength(255)]
public string? olt { get; set; }
//نرخ سایروجوه قانونی
[MaxLength(5)]
public decimal? olr { get; set; }
//مبلغ سایر وجوه قانونی
[MaxLength(18)]
public decimal? olam { get; set; } = 0;
//اجرت دساخت
[MaxLength(18)]
public decimal? consfee { get; set; } = 0;
//سود فروشنده
[MaxLength(18)]
public decimal? spro { get; set; } = 0;
//حق العمل
[MaxLength(18)]
public decimal? bros { get; set; } = 0;
//شناسه یکتای ثبت قرارداد حق العمل کاری
[MaxLength(12)]
public string? bsrn { get; set; }
public decimal? _cfee { get; set; }
#endregion
#region Navigation
[ForeignKey("InvoiceID")]
public virtual Invoice? invoice { get; set; }
[ForeignKey("CODID")]
public virtual CODItem cODItem { get; set; }
#endregion
}
}