2024-03-30 15:10:36 +03:30
|
|
|
|
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; } }
|
2024-05-23 01:16:59 +03:30
|
|
|
|
//واحد اندازه گیری عنوان
|
|
|
|
|
public string? unitTitle { get { return cODItem.CODUnit.Title; } }
|
2024-03-30 15:10:36 +03:30
|
|
|
|
#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
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|