Files
moadiran/Back/Data/Models/InvoiceItem.cs

157 lines
5.9 KiB
C#
Raw Normal View History

2024-03-30 15:10:36 +03:30
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
2024-08-09 23:20:25 +03:30
using System.Reflection.Metadata.Ecma335;
2024-03-30 15:10:36 +03:30
namespace Back.Data.Models
{
2025-01-24 19:18:17 +03:30
public class InvoiceItem : ICloneable
2024-03-30 15:10:36 +03:30
{
#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)]
2024-05-28 15:03:08 +03:30
public string? sstt { get { return cODItem != null ? cODItem.Title : null; } }
2024-03-30 15:10:36 +03:30
//واحد اندازهگیری
[MaxLength(8)]
2024-05-28 15:03:08 +03:30
public string? mu { get { return cODItem != null ? cODItem.CODUnit.UnitTaxID : null; } }
2024-03-30 15:10:36 +03:30
//میزان ارز
[MaxLength(18)]
2024-08-09 23:20:25 +03:30
public decimal? cfee { get { return
2024-10-19 18:30:02 +03:30
invoice?.pattern?.ID == 4 ? _cfee
: exr.HasValue ? Math.Floor(fee.GetValueOrDefault() / exr.GetValueOrDefault()) : 0; } }
2024-03-30 15:10:36 +03:30
//مبلغ مالیات بر ارزش افزوده
[MaxLength(18)]
public decimal? vam { get
{
2024-12-14 14:20:36 +03:30
return Math.Floor((vra ==0 ? 0 : invoice?.pattern?.ID == 9 ? fee*vra/100 :
2024-10-19 18:30:02 +03:30
invoice?.pattern?.ID == 13 || invoice?.pattern?.ID == 5 ? ((tcpbs+9)/100)+((prdis*vra)/100)
2024-12-14 14:20:36 +03:30
: vra * adis / 100).GetValueOrDefault());
2024-03-30 15:10:36 +03:30
} }
//جمع کل اجرت ،حق العمل و سود
[MaxLength(18)]
public decimal? tcpbs { get { return consfee + spro + bros; } }
//سهم نقدی از پرداخت
[MaxLength(18)]
2024-12-14 14:20:36 +03:30
public decimal? cop { get { return Math.Floor(((tsstam * invoice?.cap) / invoice?.tadis).GetValueOrDefault()); } }
2024-03-30 15:10:36 +03:30
//سهم مالیات بر ارزش افزوده از پرداخت
[MaxLength(18)]
2024-12-14 14:20:36 +03:30
public decimal? vop { get { return vra == 0 ? 0 : Math.Floor(((vam * invoice?.cap) / invoice?.tadis).GetValueOrDefault()); } }
2024-03-30 15:10:36 +03:30
//مبلغ کل کالا/خدمت
[MaxLength(18)]
public decimal? tsstam { get
{
2024-10-19 18:30:02 +03:30
return /*invoice?.pattern?.ID == 9 ? fee+vam :*/
invoice?.pattern?.ID == 10 ? ssrv + vam + odam + olam :
invoice?.pattern?.ID == 4 ? prdis + vam + odam + olam :
2024-03-30 15:10:36 +03:30
vam + adis + odam + olam;
} }
//مبلغ بعد از تخفیف
[MaxLength(18)]
public decimal? adis { get
{
2024-10-19 18:30:02 +03:30
return invoice?.pattern?.ID == 5 || invoice?.pattern?.ID == 13 ? prdis+ tcpbs - dis: prdis - dis;
2024-03-30 15:10:36 +03:30
} }
//مبلغ قبل از تخفیف
[MaxLength(18)]
public decimal? prdis { get { return am * fee; } }
2025-01-25 12:57:07 +03:30
2024-05-23 01:16:59 +03:30
//واحد اندازه گیری عنوان
2024-05-28 15:03:08 +03:30
public string? unitTitle { get { return cODItem!=null ? cODItem.CODUnit.Title : null; } }
2024-03-30 15:10:36 +03:30
#endregion
#region fild
2025-01-25 12:57:07 +03:30
//نرخ مالیات بر ازش افزوده
[MaxLength(5)]
public decimal? vra { get; set; }
2024-03-30 15:10:36 +03:30
//تعداد/مقدار
[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)]
2024-05-28 15:03:08 +03:30
public decimal? ssrv { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//ارزش ارزی کالا
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? sscv { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//مبلغ تخفیف
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? dis { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//موضوع سایر مالیات و عوارض
[MaxLength(255)]
public string? odt { get; set; }
//نرخ سایرمالیات و عوارض
[MaxLength(5)]
public decimal? odr { get; set; }
//مبلغ سایر مالیات و عواض
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? odam { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//موضوع سایر وجوه قانونی
[MaxLength(255)]
public string? olt { get; set; }
//نرخ سایروجوه قانونی
[MaxLength(5)]
public decimal? olr { get; set; }
//مبلغ سایر وجوه قانونی
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? olam { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//اجرت دساخت
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? consfee { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//سود فروشنده
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? spro { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//حق العمل
[MaxLength(18)]
2024-05-28 15:03:08 +03:30
public decimal? bros { get; set; } = 0;
2024-03-30 15:10:36 +03:30
//شناسه یکتای ثبت قرارداد حق العمل کاری
[MaxLength(12)]
public string? bsrn { get; set; }
2024-08-09 23:20:25 +03:30
public decimal? _cfee { get; set; }
2024-08-15 19:15:51 +03:30
//تفاوت نرخ خرید و فروش ارز
public decimal? pspd { get; set; }
//عیار
public decimal? cui { get; set; }
2024-12-10 17:17:17 +03:30
//نرخ خرید ارز
public decimal? cpr { get; set; }
//ماخذ مالیات بر ارزش افزوده در الگوی فروش ارز
public long? sovat { get; set; }
2024-03-30 15:10:36 +03:30
#endregion
#region Navigation
[ForeignKey("InvoiceID")]
public virtual Invoice? invoice { get; set; }
[ForeignKey("CODID")]
public virtual CODItem cODItem { get; set; }
2025-01-24 19:18:17 +03:30
public object Clone()
{
return this.MemberwiseClone();
}
2024-03-30 15:10:36 +03:30
#endregion
}
}