From 1d7ebaae8eb38e1912468877f5caa22fbc85a166 Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Sat, 11 Jan 2025 12:42:36 +0330 Subject: [PATCH] ... --- .../Warehouse/ReceiptController.cs | 69 + .../Warehouse/RemittanceController.cs | 65 + .../Warehouse/WarehouseController.cs | 24 + .../20250111074837_warehousenew1.Designer.cs | 2074 +++++++++++++++++ .../20250111074837_warehousenew1.cs | 87 + Back/Migrations/SqlDbContextModelSnapshot.cs | 1996 +++++++++++++++- Back/Program.cs | 4 + Back/Services/Warehouse/WarehouseService.cs | 17 +- 8 files changed, 4329 insertions(+), 7 deletions(-) create mode 100644 Back/Controllers/Warehouse/ReceiptController.cs create mode 100644 Back/Controllers/Warehouse/RemittanceController.cs create mode 100644 Back/Controllers/Warehouse/WarehouseController.cs create mode 100644 Back/Migrations/20250111074837_warehousenew1.Designer.cs create mode 100644 Back/Migrations/20250111074837_warehousenew1.cs diff --git a/Back/Controllers/Warehouse/ReceiptController.cs b/Back/Controllers/Warehouse/ReceiptController.cs new file mode 100644 index 0000000..6a68878 --- /dev/null +++ b/Back/Controllers/Warehouse/ReceiptController.cs @@ -0,0 +1,69 @@ +using Back.Data.Models; +using Back.Services; +using Back.Services.Warehouse; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Shared.DTOs.Warehouse; +using Shared.Enums; +using System.ComponentModel.Design; + +namespace Back.Controllers.Warehouse +{ + [Route("api/[controller]")] + [Authorize] + [ApiController] + public class ReceiptController : ControllerBase + { + private readonly ReceiptService _receiptService; + private readonly servUser _servUser; + [HttpGet("{ItemID}")] + public async Task Get(int ItemID) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + return Ok(await _receiptService.Get(ItemID, CompanyID)); + } + [HttpGet("AllReceip")] + public async Task GetAll(TypeReceipt? Type = null, int CODID = 0) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + return Ok(await _receiptService.GetAll(CompanyID, Type, CODID)); + } + [HttpPost("ADD")] + public async Task AddReceipt(ReceiptDto item) + { + // validate ADD + var newmodel = await _receiptService.ADD(item); + if (newmodel != null) return Ok(newmodel); + else return BadRequest(new List { "خطا در صدور" }); + } + + [HttpPut("Update")] + public async Task UpdateReceipt(ReceiptDto item) + { + // validate Update + var Updatemodel = await _receiptService.Update(item); + if (Updatemodel != null) return Ok(Updatemodel); + else return BadRequest(new List { "خطا در ویرایش" }); + } + [HttpDelete("{ItemID}")] + public async Task DeleteReceipt(int ItemID) + { + // validate Delete + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + + var Deletemodel = await _receiptService.Delete(ItemID, CompanyID); + if (Deletemodel) return Ok(); + else return BadRequest(new List { "خطا در حذف" }); + } + } +} diff --git a/Back/Controllers/Warehouse/RemittanceController.cs b/Back/Controllers/Warehouse/RemittanceController.cs new file mode 100644 index 0000000..8ed6bfd --- /dev/null +++ b/Back/Controllers/Warehouse/RemittanceController.cs @@ -0,0 +1,65 @@ +using Back.Services.Warehouse; +using Back.Services; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Shared.DTOs.Warehouse; +using Shared.Enums; + +namespace Back.Controllers.Warehouse +{ + [Route("api/[controller]")] + [ApiController] + public class RemittanceController : ControllerBase + { + private readonly RemittanceService _treanceService; + private readonly servUser _servUser; + [HttpGet("{ItemID}")] + public async Task Get(int ItemID) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + return Ok(await _treanceService.Get(ItemID, CompanyID)); + } + [HttpGet("AllRemittance")] + public async Task GetAll(TypeRemittance? Type = null, int CODID = 0) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + return Ok(await _treanceService.GetAll(CompanyID, Type, CODID)); + } + [HttpPost("ADD")] + public async Task Add(RemittanceDto item) + { + // validate ADD + var newmodel = await _treanceService.ADD(item); + if (newmodel != null) return Ok(newmodel); + else return BadRequest(new List { "خطا در صدور" }); + } + + [HttpPut("Update")] + public async Task Update(RemittanceDto item) + { + // validate Update + var Updatemodel = await _treanceService.Update(item); + if (Updatemodel != null) return Ok(Updatemodel); + else return BadRequest(new List { "خطا در ویرایش" }); + } + [HttpDelete("{ItemID}")] + public async Task Delete(int ItemID) + { + // validate Delete + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + + var Deletemodel = await _treanceService.Delete(ItemID, CompanyID); + if (Deletemodel) return Ok(); + else return BadRequest(new List { "خطا در حذف" }); + } + } +} diff --git a/Back/Controllers/Warehouse/WarehouseController.cs b/Back/Controllers/Warehouse/WarehouseController.cs new file mode 100644 index 0000000..61549e5 --- /dev/null +++ b/Back/Controllers/Warehouse/WarehouseController.cs @@ -0,0 +1,24 @@ +using Back.Services; +using Back.Services.Warehouse; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace Back.Controllers.Warehouse +{ + [Route("api/[controller]")] + [ApiController] + public class WarehouseController : ControllerBase + { + private readonly WarehouseService _warehouseService; + private readonly servUser _servUser; + public async Task Circulation(string date = "", int CODID = 0, int PageIndex = 1, int PageSize = 5) + { + var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); + var UserID = claim.Value; + var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); + var CompanyID = user.RolUsers.First().CompanyID; + return Ok(await _warehouseService.Circulation(CompanyID,date,CODID)); + } + + } +} diff --git a/Back/Migrations/20250111074837_warehousenew1.Designer.cs b/Back/Migrations/20250111074837_warehousenew1.Designer.cs new file mode 100644 index 0000000..821d8d8 --- /dev/null +++ b/Back/Migrations/20250111074837_warehousenew1.Designer.cs @@ -0,0 +1,2074 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using TaxPayer.Infrastructure.Persistence; + +#nullable disable + +namespace Back.Migrations +{ + [DbContext(typeof(SqlDbContext))] + [Migration("20250111074837_warehousenew1")] + partial class warehousenew1 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.15") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Back.Data.Models.BillType", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("Dec") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("inty") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("BillTypes"); + }); + + modelBuilder.Entity("Back.Data.Models.Blog", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionTag") + .HasColumnType("nvarchar(max)"); + + b.Property("PageTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Tags") + .HasColumnType("nvarchar(max)"); + + b.Property("Text") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("keywordsTag") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Blogs"); + }); + + modelBuilder.Entity("Back.Data.Models.CODItem", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("ItemTaxID") + .HasMaxLength(13) + .HasColumnType("nvarchar(13)"); + + b.Property("TaxRate") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UnitID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.HasIndex("UnitID"); + + b.ToTable("CODItems"); + }); + + modelBuilder.Entity("Back.Data.Models.CODUnit", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UnitTaxID") + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.HasKey("ID"); + + b.ToTable("CODUnits"); + }); + + modelBuilder.Entity("Back.Data.Models.CalculationType", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("CalculationTypes"); + }); + + modelBuilder.Entity("Back.Data.Models.Coding", b => + { + b.Property("FildID") + .HasColumnType("int"); + + b.Property("Code") + .HasColumnType("varchar(10)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("FildID", "Code"); + + b.ToTable("Codings"); + }); + + modelBuilder.Entity("Back.Data.Models.Company", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("BranchID") + .HasColumnType("nvarchar(max)"); + + b.Property("Credit") + .HasColumnType("decimal(18,2)"); + + b.Property("EconomicCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Logo") + .HasColumnType("varbinary(max)"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Phone") + .HasColumnType("nvarchar(max)"); + + b.Property("PrivateKey") + .HasColumnType("nvarchar(max)"); + + b.Property("RegisterDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UniqeMemory") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Companies"); + }); + + modelBuilder.Entity("Back.Data.Models.CreditDocuments", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Value") + .HasColumnType("decimal(18,2)"); + + b.Property("type") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.ToTable("CreditDocuments"); + }); + + modelBuilder.Entity("Back.Data.Models.Customer", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Address") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchID") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("CustomerType") + .HasColumnType("int"); + + b.Property("EconomicCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("FullName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("MeliCode") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("PassportNumber") + .HasMaxLength(9) + .HasColumnType("nvarchar(9)"); + + b.Property("Phone") + .HasColumnType("nvarchar(max)"); + + b.Property("ZipCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.ToTable("Customers"); + }); + + modelBuilder.Entity("Back.Data.Models.Fild", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("InputBox") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Filds"); + }); + + modelBuilder.Entity("Back.Data.Models.FildMode", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("FildModes"); + }); + + modelBuilder.Entity("Back.Data.Models.FildModeInPattern", b => + { + b.Property("FildID") + .HasColumnType("int"); + + b.Property("PatternID") + .HasColumnType("int"); + + b.Property("FildModeID") + .HasColumnType("int"); + + b.HasKey("FildID", "PatternID", "FildModeID"); + + b.HasIndex("FildModeID"); + + b.HasIndex("PatternID"); + + b.ToTable("FildModeInPattern"); + }); + + modelBuilder.Entity("Back.Data.Models.Invoice", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("BillReference") + .HasColumnType("int"); + + b.Property("Cdate") + .HasColumnType("nvarchar(max)"); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("CottageDateOfCustomsDeclaration") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CustomerID") + .HasColumnType("int"); + + b.Property("DateSaleAnnouncement") + .HasColumnType("nvarchar(max)"); + + b.Property("Des") + .HasColumnType("nvarchar(max)"); + + b.Property("InvoicIssueDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InvoiceDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("LastChangeUserID") + .HasColumnType("int"); + + b.Property("PatternID") + .HasColumnType("int"); + + b.Property("PreparedtoSendtoTax") + .HasColumnType("bit"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Udate") + .HasColumnType("nvarchar(max)"); + + b.Property("asn") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("billid") + .HasMaxLength(19) + .HasColumnType("nvarchar(19)"); + + b.Property("cdcn") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("cno") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("crn") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("dci") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("dco") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("did") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("ft") + .HasMaxLength(9) + .HasColumnType("int"); + + b.Property("inno") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ino") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("insp") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("invoiceType") + .HasColumnType("int"); + + b.Property("irno") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("irtaxid") + .HasMaxLength(22) + .HasColumnType("nvarchar(22)"); + + b.Property("lt") + .HasColumnType("int"); + + b.Property("oci") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ocu") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("rid") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("scc") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("scln") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("setm") + .HasMaxLength(1) + .HasColumnType("int"); + + b.Property("seventeentax") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("taxid") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("tid") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("tinc") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.HasKey("ID"); + + b.HasIndex("BillReference"); + + b.HasIndex("CompanyID"); + + b.HasIndex("CustomerID"); + + b.HasIndex("LastChangeUserID"); + + b.HasIndex("PatternID"); + + b.ToTable("Invoices"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceItem", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CODID") + .HasColumnType("int"); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("_cfee") + .HasColumnType("decimal(18,2)"); + + b.Property("am") + .HasMaxLength(36) + .HasColumnType("decimal(18,2)"); + + b.Property("bros") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("bsrn") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("consfee") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("cpr") + .HasColumnType("decimal(18,2)"); + + b.Property("cui") + .HasColumnType("decimal(18,2)"); + + b.Property("cut") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("dis") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("exr") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("fee") + .HasMaxLength(36) + .HasColumnType("decimal(18,2)"); + + b.Property("nw") + .HasMaxLength(23) + .HasColumnType("decimal(18,2)"); + + b.Property("odam") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("odr") + .HasMaxLength(5) + .HasColumnType("decimal(18,2)"); + + b.Property("odt") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("olam") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("olr") + .HasMaxLength(5) + .HasColumnType("decimal(18,2)"); + + b.Property("olt") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("pspd") + .HasColumnType("decimal(18,2)"); + + b.Property("sovat") + .HasColumnType("bigint"); + + b.Property("spro") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("sscv") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("ssrv") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.HasKey("ID"); + + b.HasIndex("CODID"); + + b.HasIndex("InvoiceID"); + + b.ToTable("InvoiceItems"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoicePayment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("PaymentDateTime") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("acn") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("iinn") + .HasMaxLength(9) + .HasColumnType("nvarchar(9)"); + + b.Property("pcn") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)"); + + b.Property("pid") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("pmt") + .HasMaxLength(2) + .HasColumnType("int"); + + b.Property("pv") + .HasMaxLength(18) + .HasColumnType("bigint"); + + b.Property("trmn") + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("trn") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.HasKey("ID"); + + b.HasIndex("InvoiceID"); + + b.ToTable("InvoicePayments"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceStatusChang", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("FromStatus") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("ToStatus") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("InvoiceID"); + + b.HasIndex("UserID"); + + b.ToTable("InvoiceStatusChangs"); + }); + + modelBuilder.Entity("Back.Data.Models.Notification", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ForUser") + .HasColumnType("nvarchar(max)"); + + b.Property("Message") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("Notifications"); + }); + + modelBuilder.Entity("Back.Data.Models.Order", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ApprovalDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("DateCreate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("TDiscount") + .HasColumnType("decimal(18,2)"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.HasIndex("UserID"); + + b.ToTable("Orders"); + }); + + modelBuilder.Entity("Back.Data.Models.OrderDiscountCode", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Val") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("OrderDiscountCodes"); + }); + + modelBuilder.Entity("Back.Data.Models.OrderItem", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("APrice") + .HasColumnType("decimal(18,2)"); + + b.Property("CreditAmount") + .HasColumnType("int"); + + b.Property("Discount") + .HasColumnType("decimal(18,2)"); + + b.Property("OrderID") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("PromotionID") + .HasColumnType("int"); + + b.Property("Tax") + .HasColumnType("decimal(18,2)"); + + b.HasKey("ID"); + + b.HasIndex("OrderID"); + + b.HasIndex("PermissionID"); + + b.HasIndex("PromotionID"); + + b.ToTable("OrderItems"); + }); + + modelBuilder.Entity("Back.Data.Models.Pattern", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("BillTypeID") + .HasColumnType("int"); + + b.Property("Dec") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("inp") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("BillTypeID"); + + b.ToTable("Patterns"); + }); + + modelBuilder.Entity("Back.Data.Models.Permission", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ParentID") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Permissions"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionPeriod", b => + { + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("CalculationTypeID") + .HasColumnType("int"); + + b.Property("IsLocked") + .HasColumnType("bit"); + + b.Property("RemainingAmount") + .HasColumnType("int"); + + b.Property("TotalAmount") + .HasColumnType("int"); + + b.HasKey("CompanyID", "PermissionID", "CalculationTypeID"); + + b.HasIndex("CalculationTypeID"); + + b.HasIndex("PermissionID"); + + b.ToTable("PermissionPeriods"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionUser", b => + { + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("RolUserID") + .HasColumnType("int"); + + b.HasKey("PermissionID", "RolUserID"); + + b.HasIndex("RolUserID"); + + b.ToTable("PermissionUsers"); + }); + + modelBuilder.Entity("Back.Data.Models.Pricing", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CalculationTypeID") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.HasKey("ID"); + + b.HasIndex("CalculationTypeID"); + + b.HasIndex("PermissionID"); + + b.ToTable("Pricing"); + }); + + modelBuilder.Entity("Back.Data.Models.Promotion", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.HasKey("ID"); + + b.ToTable("Promotions"); + }); + + modelBuilder.Entity("Back.Data.Models.PromotionDetails", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("APrice") + .HasColumnType("decimal(18,2)"); + + b.Property("CreditAmount") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("PromotionID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("PermissionID"); + + b.HasIndex("PromotionID"); + + b.ToTable("PromotionDetails"); + }); + + modelBuilder.Entity("Back.Data.Models.Question", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Answer") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("QuestionCategoryID") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("QuestionCategoryID"); + + b.ToTable("Questions"); + }); + + modelBuilder.Entity("Back.Data.Models.QuestionCategory", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("QuestionCategories"); + }); + + modelBuilder.Entity("Back.Data.Models.RolUser", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("IsAdmin") + .HasColumnType("bit"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.HasIndex("UserID"); + + b.ToTable("RolUsers"); + }); + + modelBuilder.Entity("Back.Data.Models.SaleLead", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Key") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("cn") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("company") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("csr") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("sn") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("SaleLeads"); + }); + + modelBuilder.Entity("Back.Data.Models.SentTax", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ErrorsModel") + .HasColumnType("nvarchar(MAX)"); + + b.Property("InquiryResultModel") + .HasColumnType("nvarchar(MAX)"); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("InvoiceModel") + .IsRequired() + .HasColumnType("nvarchar(MAX)"); + + b.Property("InvoiceType") + .HasColumnType("int"); + + b.Property("ReferenceNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ResponseModel") + .HasColumnType("nvarchar(MAX)"); + + b.Property("SentStatus") + .HasColumnType("int"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("uId") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("InvoiceID"); + + b.ToTable("SentTax"); + }); + + modelBuilder.Entity("Back.Data.Models.SpecialCondition", b => + { + b.Property("FildID") + .HasColumnType("int"); + + b.Property("condition") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasIndex("FildID"); + + b.ToTable("SpecialConditions"); + }); + + modelBuilder.Entity("Back.Data.Models.SubTicket", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Text") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TicketID") + .HasColumnType("int"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("TicketID"); + + b.ToTable("SubTickets"); + }); + + modelBuilder.Entity("Back.Data.Models.TiceketUnknownPeople", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("FullName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("TiceketUnknownPeoples"); + }); + + modelBuilder.Entity("Back.Data.Models.Ticket", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyIDOrMobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CreateDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CreateTime") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("nvarchar(max)"); + + b.Property("EndTime") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Tickets"); + }); + + modelBuilder.Entity("Back.Data.Models.Ulr", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Ip") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Ulrs"); + }); + + modelBuilder.Entity("Back.Data.Models.User", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("DateLastLogin") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("Fullname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasColumnType("varbinary(max)"); + + b.Property("Token") + .HasColumnType("varchar(max)"); + + b.Property("Username") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("Back.Data.Models.UserNotfi", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("NotificationID") + .HasColumnType("int"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("UserNotifis"); + }); + + modelBuilder.Entity("Back.Data.Models.VerificationCode", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("Type") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("prm") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("val") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("VerificationCodes"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Receipt", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CODID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ForSale") + .HasColumnType("bit"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("info") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("CODID"); + + b.ToTable("Receipts"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Remittance", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CODID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("info") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("CODID"); + + b.ToTable("Remittances"); + }); + + modelBuilder.Entity("Back.Data.Models.rptQueue", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("InvoicID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("rptQueue"); + }); + + modelBuilder.Entity("Back.Data.Models.stuff", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CID") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionOfID") + .HasColumnType("nvarchar(max)"); + + b.Property("ExpirationDate") + .HasColumnType("nvarchar(max)"); + + b.Property("RunDate") + .HasColumnType("nvarchar(max)"); + + b.Property("SpecialOrGeneral") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxableOrFree") + .HasColumnType("nvarchar(max)"); + + b.Property("Vat") + .HasColumnType("nvarchar(max)"); + + b.Property("VatCustomPurposes") + .HasColumnType("nvarchar(max)"); + + b.Property("sDate") + .HasColumnType("nvarchar(max)"); + + b.Property("sType") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Stuffs"); + }); + + modelBuilder.Entity("Back.Data.Models.CODItem", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("CODItemS") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.CODUnit", "CODUnit") + .WithMany("CODItemS") + .HasForeignKey("UnitID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CODUnit"); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Back.Data.Models.Coding", b => + { + b.HasOne("Back.Data.Models.Fild", "Fild") + .WithMany("Codings") + .HasForeignKey("FildID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Fild"); + }); + + modelBuilder.Entity("Back.Data.Models.CreditDocuments", b => + { + b.HasOne("Back.Data.Models.Company", "company") + .WithMany("CreditDocuments") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("company"); + }); + + modelBuilder.Entity("Back.Data.Models.Customer", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("Customers") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Back.Data.Models.FildModeInPattern", b => + { + b.HasOne("Back.Data.Models.Fild", "Fild") + .WithMany("FildModeInPatterns") + .HasForeignKey("FildID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.FildMode", "FildMode") + .WithMany("FildModeInPatterns") + .HasForeignKey("FildModeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Pattern", "pattern") + .WithMany("FildModeInPatterns") + .HasForeignKey("PatternID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Fild"); + + b.Navigation("FildMode"); + + b.Navigation("pattern"); + }); + + modelBuilder.Entity("Back.Data.Models.Invoice", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("Childinvoice") + .HasForeignKey("BillReference"); + + b.HasOne("Back.Data.Models.Company", "company") + .WithMany("invoices") + .HasForeignKey("CompanyID"); + + b.HasOne("Back.Data.Models.Customer", "Customer") + .WithMany() + .HasForeignKey("CustomerID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.User", "user") + .WithMany() + .HasForeignKey("LastChangeUserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Pattern", "pattern") + .WithMany() + .HasForeignKey("PatternID"); + + b.Navigation("Customer"); + + b.Navigation("company"); + + b.Navigation("invoice"); + + b.Navigation("pattern"); + + b.Navigation("user"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceItem", b => + { + b.HasOne("Back.Data.Models.CODItem", "cODItem") + .WithMany("invoiceDetails") + .HasForeignKey("CODID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("invoiceDetails") + .HasForeignKey("InvoiceID"); + + b.Navigation("cODItem"); + + b.Navigation("invoice"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoicePayment", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("payments") + .HasForeignKey("InvoiceID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("invoice"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceStatusChang", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("invoiceStatusChangs") + .HasForeignKey("InvoiceID"); + + b.HasOne("Back.Data.Models.User", "user") + .WithMany() + .HasForeignKey("UserID"); + + b.Navigation("invoice"); + + b.Navigation("user"); + }); + + modelBuilder.Entity("Back.Data.Models.Order", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany() + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.User", "User") + .WithMany() + .HasForeignKey("UserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Back.Data.Models.OrderItem", b => + { + b.HasOne("Back.Data.Models.Order", "Order") + .WithMany("OrderItems") + .HasForeignKey("OrderID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID"); + + b.HasOne("Back.Data.Models.Promotion", "Promotion") + .WithMany() + .HasForeignKey("PromotionID"); + + b.Navigation("Order"); + + b.Navigation("Permission"); + + b.Navigation("Promotion"); + }); + + modelBuilder.Entity("Back.Data.Models.Pattern", b => + { + b.HasOne("Back.Data.Models.BillType", "BillType") + .WithMany("Patterns") + .HasForeignKey("BillTypeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BillType"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionPeriod", b => + { + b.HasOne("Back.Data.Models.CalculationType", "CalculationType") + .WithMany("permissionPeriods") + .HasForeignKey("CalculationTypeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("PermissionPeriods") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CalculationType"); + + b.Navigation("Company"); + + b.Navigation("Permission"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionUser", b => + { + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany("RolUsers") + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.RolUser", "RolUser") + .WithMany("rolePermissions") + .HasForeignKey("RolUserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Permission"); + + b.Navigation("RolUser"); + }); + + modelBuilder.Entity("Back.Data.Models.Pricing", b => + { + b.HasOne("Back.Data.Models.CalculationType", "CalculationType") + .WithMany() + .HasForeignKey("CalculationTypeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CalculationType"); + + b.Navigation("Permission"); + }); + + modelBuilder.Entity("Back.Data.Models.PromotionDetails", b => + { + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Promotion", "Promotion") + .WithMany("PromotionDetails") + .HasForeignKey("PromotionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Permission"); + + b.Navigation("Promotion"); + }); + + modelBuilder.Entity("Back.Data.Models.Question", b => + { + b.HasOne("Back.Data.Models.QuestionCategory", "questionCategory") + .WithMany("questions") + .HasForeignKey("QuestionCategoryID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("questionCategory"); + }); + + modelBuilder.Entity("Back.Data.Models.RolUser", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("RolUsers") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.User", "User") + .WithMany("RolUsers") + .HasForeignKey("UserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Back.Data.Models.SentTax", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("sentTax") + .HasForeignKey("InvoiceID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("invoice"); + }); + + modelBuilder.Entity("Back.Data.Models.SpecialCondition", b => + { + b.HasOne("Back.Data.Models.Fild", "Fild") + .WithMany() + .HasForeignKey("FildID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Fild"); + }); + + modelBuilder.Entity("Back.Data.Models.SubTicket", b => + { + b.HasOne("Back.Data.Models.Ticket", "Ticket") + .WithMany("SubTickets") + .HasForeignKey("TicketID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Ticket"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Receipt", b => + { + b.HasOne("Back.Data.Models.CODItem", "cODItem") + .WithMany("Receipts") + .HasForeignKey("CODID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("cODItem"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Remittance", b => + { + b.HasOne("Back.Data.Models.CODItem", "cODItem") + .WithMany("Remittances") + .HasForeignKey("CODID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("cODItem"); + }); + + modelBuilder.Entity("Back.Data.Models.BillType", b => + { + b.Navigation("Patterns"); + }); + + modelBuilder.Entity("Back.Data.Models.CODItem", b => + { + b.Navigation("Receipts"); + + b.Navigation("Remittances"); + + b.Navigation("invoiceDetails"); + }); + + modelBuilder.Entity("Back.Data.Models.CODUnit", b => + { + b.Navigation("CODItemS"); + }); + + modelBuilder.Entity("Back.Data.Models.CalculationType", b => + { + b.Navigation("permissionPeriods"); + }); + + modelBuilder.Entity("Back.Data.Models.Company", b => + { + b.Navigation("CODItemS"); + + b.Navigation("CreditDocuments"); + + b.Navigation("Customers"); + + b.Navigation("PermissionPeriods"); + + b.Navigation("RolUsers"); + + b.Navigation("invoices"); + }); + + modelBuilder.Entity("Back.Data.Models.Fild", b => + { + b.Navigation("Codings"); + + b.Navigation("FildModeInPatterns"); + }); + + modelBuilder.Entity("Back.Data.Models.FildMode", b => + { + b.Navigation("FildModeInPatterns"); + }); + + modelBuilder.Entity("Back.Data.Models.Invoice", b => + { + b.Navigation("Childinvoice"); + + b.Navigation("invoiceDetails"); + + b.Navigation("invoiceStatusChangs"); + + b.Navigation("payments"); + + b.Navigation("sentTax"); + }); + + modelBuilder.Entity("Back.Data.Models.Order", b => + { + b.Navigation("OrderItems"); + }); + + modelBuilder.Entity("Back.Data.Models.Pattern", b => + { + b.Navigation("FildModeInPatterns"); + }); + + modelBuilder.Entity("Back.Data.Models.Permission", b => + { + b.Navigation("RolUsers"); + }); + + modelBuilder.Entity("Back.Data.Models.Promotion", b => + { + b.Navigation("PromotionDetails"); + }); + + modelBuilder.Entity("Back.Data.Models.QuestionCategory", b => + { + b.Navigation("questions"); + }); + + modelBuilder.Entity("Back.Data.Models.RolUser", b => + { + b.Navigation("rolePermissions"); + }); + + modelBuilder.Entity("Back.Data.Models.Ticket", b => + { + b.Navigation("SubTickets"); + }); + + modelBuilder.Entity("Back.Data.Models.User", b => + { + b.Navigation("RolUsers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Back/Migrations/20250111074837_warehousenew1.cs b/Back/Migrations/20250111074837_warehousenew1.cs new file mode 100644 index 0000000..e0d873b --- /dev/null +++ b/Back/Migrations/20250111074837_warehousenew1.cs @@ -0,0 +1,87 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Back.Migrations +{ + /// + public partial class warehousenew1 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Receipts", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + CODID = table.Column(type: "int", nullable: false), + Count = table.Column(type: "int", nullable: false), + Date = table.Column(type: "nvarchar(max)", nullable: false), + ForSale = table.Column(type: "bit", nullable: false), + Type = table.Column(type: "int", nullable: false), + info = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Receipts", x => x.ID); + table.ForeignKey( + name: "FK_Receipts_CODItems_CODID", + column: x => x.CODID, + principalTable: "CODItems", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Remittances", + columns: table => new + { + ID = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + CODID = table.Column(type: "int", nullable: false), + Count = table.Column(type: "int", nullable: false), + Date = table.Column(type: "nvarchar(max)", nullable: false), + Type = table.Column(type: "int", nullable: false), + info = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Remittances", x => x.ID); + table.ForeignKey( + name: "FK_Remittances_CODItems_CODID", + column: x => x.CODID, + principalTable: "CODItems", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_Receipts_CODID", + table: "Receipts", + column: "CODID"); + + migrationBuilder.CreateIndex( + name: "IX_Remittances_CODID", + table: "Remittances", + column: "CODID"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + + + + migrationBuilder.DropTable( + name: "Receipts"); + + migrationBuilder.DropTable( + name: "Remittances"); + + + } + } +} diff --git a/Back/Migrations/SqlDbContextModelSnapshot.cs b/Back/Migrations/SqlDbContextModelSnapshot.cs index 901221f..fb68379 100644 --- a/Back/Migrations/SqlDbContextModelSnapshot.cs +++ b/Back/Migrations/SqlDbContextModelSnapshot.cs @@ -22,6 +22,998 @@ namespace Back.Migrations SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + modelBuilder.Entity("Back.Data.Models.BillType", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("Dec") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("inty") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("BillTypes"); + }); + + modelBuilder.Entity("Back.Data.Models.Blog", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionTag") + .HasColumnType("nvarchar(max)"); + + b.Property("PageTitle") + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Tags") + .HasColumnType("nvarchar(max)"); + + b.Property("Text") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("keywordsTag") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Blogs"); + }); + + modelBuilder.Entity("Back.Data.Models.CODItem", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("ItemTaxID") + .HasMaxLength(13) + .HasColumnType("nvarchar(13)"); + + b.Property("TaxRate") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UnitID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.HasIndex("UnitID"); + + b.ToTable("CODItems"); + }); + + modelBuilder.Entity("Back.Data.Models.CODUnit", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UnitTaxID") + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.HasKey("ID"); + + b.ToTable("CODUnits"); + }); + + modelBuilder.Entity("Back.Data.Models.CalculationType", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("CalculationTypes"); + }); + + modelBuilder.Entity("Back.Data.Models.Coding", b => + { + b.Property("FildID") + .HasColumnType("int"); + + b.Property("Code") + .HasColumnType("varchar(10)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("FildID", "Code"); + + b.ToTable("Codings"); + }); + + modelBuilder.Entity("Back.Data.Models.Company", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("BranchID") + .HasColumnType("nvarchar(max)"); + + b.Property("Credit") + .HasColumnType("decimal(18,2)"); + + b.Property("EconomicCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Logo") + .HasColumnType("varbinary(max)"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Phone") + .HasColumnType("nvarchar(max)"); + + b.Property("PrivateKey") + .HasColumnType("nvarchar(max)"); + + b.Property("RegisterDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UniqeMemory") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Companies"); + }); + + modelBuilder.Entity("Back.Data.Models.CreditDocuments", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Value") + .HasColumnType("decimal(18,2)"); + + b.Property("type") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.ToTable("CreditDocuments"); + }); + + modelBuilder.Entity("Back.Data.Models.Customer", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Address") + .HasColumnType("nvarchar(max)"); + + b.Property("BranchID") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("CustomerType") + .HasColumnType("int"); + + b.Property("EconomicCode") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("FullName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Info") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("MeliCode") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("PassportNumber") + .HasMaxLength(9) + .HasColumnType("nvarchar(9)"); + + b.Property("Phone") + .HasColumnType("nvarchar(max)"); + + b.Property("ZipCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.ToTable("Customers"); + }); + + modelBuilder.Entity("Back.Data.Models.Fild", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("InputBox") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Filds"); + }); + + modelBuilder.Entity("Back.Data.Models.FildMode", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("FildModes"); + }); + + modelBuilder.Entity("Back.Data.Models.FildModeInPattern", b => + { + b.Property("FildID") + .HasColumnType("int"); + + b.Property("PatternID") + .HasColumnType("int"); + + b.Property("FildModeID") + .HasColumnType("int"); + + b.HasKey("FildID", "PatternID", "FildModeID"); + + b.HasIndex("FildModeID"); + + b.HasIndex("PatternID"); + + b.ToTable("FildModeInPattern"); + }); + + modelBuilder.Entity("Back.Data.Models.Invoice", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("BillReference") + .HasColumnType("int"); + + b.Property("Cdate") + .HasColumnType("nvarchar(max)"); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("CottageDateOfCustomsDeclaration") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CustomerID") + .HasColumnType("int"); + + b.Property("DateSaleAnnouncement") + .HasColumnType("nvarchar(max)"); + + b.Property("Des") + .HasColumnType("nvarchar(max)"); + + b.Property("InvoicIssueDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InvoiceDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("LastChangeUserID") + .HasColumnType("int"); + + b.Property("PatternID") + .HasColumnType("int"); + + b.Property("PreparedtoSendtoTax") + .HasColumnType("bit"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Udate") + .HasColumnType("nvarchar(max)"); + + b.Property("asn") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("billid") + .HasMaxLength(19) + .HasColumnType("nvarchar(19)"); + + b.Property("cdcn") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("cno") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("crn") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("dci") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("dco") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("did") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("ft") + .HasMaxLength(9) + .HasColumnType("int"); + + b.Property("inno") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ino") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("insp") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("invoiceType") + .HasColumnType("int"); + + b.Property("irno") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("irtaxid") + .HasMaxLength(22) + .HasColumnType("nvarchar(22)"); + + b.Property("lt") + .HasColumnType("int"); + + b.Property("oci") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ocu") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("rid") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("scc") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("scln") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("setm") + .HasMaxLength(1) + .HasColumnType("int"); + + b.Property("seventeentax") + .HasMaxLength(18) + .HasColumnType("nvarchar(18)"); + + b.Property("taxid") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("tid") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("tinc") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.HasKey("ID"); + + b.HasIndex("BillReference"); + + b.HasIndex("CompanyID"); + + b.HasIndex("CustomerID"); + + b.HasIndex("LastChangeUserID"); + + b.HasIndex("PatternID"); + + b.ToTable("Invoices"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceItem", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CODID") + .HasColumnType("int"); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("_cfee") + .HasColumnType("decimal(18,2)"); + + b.Property("am") + .HasMaxLength(36) + .HasColumnType("decimal(18,2)"); + + b.Property("bros") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("bsrn") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("consfee") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("cpr") + .HasColumnType("decimal(18,2)"); + + b.Property("cui") + .HasColumnType("decimal(18,2)"); + + b.Property("cut") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("dis") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("exr") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("fee") + .HasMaxLength(36) + .HasColumnType("decimal(18,2)"); + + b.Property("nw") + .HasMaxLength(23) + .HasColumnType("decimal(18,2)"); + + b.Property("odam") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("odr") + .HasMaxLength(5) + .HasColumnType("decimal(18,2)"); + + b.Property("odt") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("olam") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("olr") + .HasMaxLength(5) + .HasColumnType("decimal(18,2)"); + + b.Property("olt") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("pspd") + .HasColumnType("decimal(18,2)"); + + b.Property("sovat") + .HasColumnType("bigint"); + + b.Property("spro") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("sscv") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.Property("ssrv") + .HasMaxLength(18) + .HasColumnType("decimal(18,2)"); + + b.HasKey("ID"); + + b.HasIndex("CODID"); + + b.HasIndex("InvoiceID"); + + b.ToTable("InvoiceItems"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoicePayment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("PaymentDateTime") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("acn") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.Property("iinn") + .HasMaxLength(9) + .HasColumnType("nvarchar(9)"); + + b.Property("pcn") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)"); + + b.Property("pid") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("pmt") + .HasMaxLength(2) + .HasColumnType("int"); + + b.Property("pv") + .HasMaxLength(18) + .HasColumnType("bigint"); + + b.Property("trmn") + .HasMaxLength(8) + .HasColumnType("nvarchar(8)"); + + b.Property("trn") + .HasMaxLength(14) + .HasColumnType("nvarchar(14)"); + + b.HasKey("ID"); + + b.HasIndex("InvoiceID"); + + b.ToTable("InvoicePayments"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceStatusChang", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("FromStatus") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("ToStatus") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("InvoiceID"); + + b.HasIndex("UserID"); + + b.ToTable("InvoiceStatusChangs"); + }); + + modelBuilder.Entity("Back.Data.Models.Notification", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ForUser") + .HasColumnType("nvarchar(max)"); + + b.Property("Message") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("Notifications"); + }); + + modelBuilder.Entity("Back.Data.Models.Order", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ApprovalDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("DateCreate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("TDiscount") + .HasColumnType("decimal(18,2)"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.HasIndex("UserID"); + + b.ToTable("Orders"); + }); + + modelBuilder.Entity("Back.Data.Models.OrderDiscountCode", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Val") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("OrderDiscountCodes"); + }); + + modelBuilder.Entity("Back.Data.Models.OrderItem", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("APrice") + .HasColumnType("decimal(18,2)"); + + b.Property("CreditAmount") + .HasColumnType("int"); + + b.Property("Discount") + .HasColumnType("decimal(18,2)"); + + b.Property("OrderID") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("PromotionID") + .HasColumnType("int"); + + b.Property("Tax") + .HasColumnType("decimal(18,2)"); + + b.HasKey("ID"); + + b.HasIndex("OrderID"); + + b.HasIndex("PermissionID"); + + b.HasIndex("PromotionID"); + + b.ToTable("OrderItems"); + }); + + modelBuilder.Entity("Back.Data.Models.Pattern", b => + { + b.Property("ID") + .HasColumnType("int"); + + b.Property("BillTypeID") + .HasColumnType("int"); + + b.Property("Dec") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("inp") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("BillTypeID"); + + b.ToTable("Patterns"); + }); + + modelBuilder.Entity("Back.Data.Models.Permission", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("ParentID") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Permissions"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionPeriod", b => + { + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("CalculationTypeID") + .HasColumnType("int"); + + b.Property("IsLocked") + .HasColumnType("bit"); + + b.Property("RemainingAmount") + .HasColumnType("int"); + + b.Property("TotalAmount") + .HasColumnType("int"); + + b.HasKey("CompanyID", "PermissionID", "CalculationTypeID"); + + b.HasIndex("CalculationTypeID"); + + b.HasIndex("PermissionID"); + + b.ToTable("PermissionPeriods"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionUser", b => + { + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("RolUserID") + .HasColumnType("int"); + + b.HasKey("PermissionID", "RolUserID"); + + b.HasIndex("RolUserID"); + + b.ToTable("PermissionUsers"); + }); + + modelBuilder.Entity("Back.Data.Models.Pricing", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CalculationTypeID") + .HasColumnType("int"); + + b.Property("PermissionID") + .HasColumnType("int"); + + b.Property("Price") + .HasColumnType("decimal(18,2)"); + + b.HasKey("ID"); + + b.HasIndex("CalculationTypeID"); + + b.HasIndex("PermissionID"); + + b.ToTable("Pricing"); + }); modelBuilder.Entity("Back.Data.Models.Promotion", b => { @@ -35,7 +1027,7 @@ namespace Back.Migrations .IsRequired() .HasColumnType("nvarchar(max)"); - b.Property("Satus") + b.Property("Status") .HasColumnType("bit"); b.HasKey("ID"); @@ -72,7 +1064,1007 @@ namespace Back.Migrations b.ToTable("PromotionDetails"); }); - + modelBuilder.Entity("Back.Data.Models.Question", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Answer") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("QuestionCategoryID") + .HasColumnType("int"); + + b.Property("Status") + .HasColumnType("bit"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("QuestionCategoryID"); + + b.ToTable("Questions"); + }); + + modelBuilder.Entity("Back.Data.Models.QuestionCategory", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("QuestionCategories"); + }); + + modelBuilder.Entity("Back.Data.Models.RolUser", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("IsAdmin") + .HasColumnType("bit"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("CompanyID"); + + b.HasIndex("UserID"); + + b.ToTable("RolUsers"); + }); + + modelBuilder.Entity("Back.Data.Models.SaleLead", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Key") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("cn") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("company") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("csr") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("sn") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("SaleLeads"); + }); + + modelBuilder.Entity("Back.Data.Models.SentTax", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ErrorsModel") + .HasColumnType("nvarchar(MAX)"); + + b.Property("InquiryResultModel") + .HasColumnType("nvarchar(MAX)"); + + b.Property("InvoiceID") + .HasColumnType("int"); + + b.Property("InvoiceModel") + .IsRequired() + .HasColumnType("nvarchar(MAX)"); + + b.Property("InvoiceType") + .HasColumnType("int"); + + b.Property("ReferenceNumber") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ResponseModel") + .HasColumnType("nvarchar(MAX)"); + + b.Property("SentStatus") + .HasColumnType("int"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("uId") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("InvoiceID"); + + b.ToTable("SentTax"); + }); + + modelBuilder.Entity("Back.Data.Models.SpecialCondition", b => + { + b.Property("FildID") + .HasColumnType("int"); + + b.Property("condition") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasIndex("FildID"); + + b.ToTable("SpecialConditions"); + }); + + modelBuilder.Entity("Back.Data.Models.SubTicket", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Text") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TicketID") + .HasColumnType("int"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("TicketID"); + + b.ToTable("SubTickets"); + }); + + modelBuilder.Entity("Back.Data.Models.TiceketUnknownPeople", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("FullName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("TiceketUnknownPeoples"); + }); + + modelBuilder.Entity("Back.Data.Models.Ticket", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyIDOrMobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CreateDate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CreateTime") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EndDate") + .HasColumnType("nvarchar(max)"); + + b.Property("EndTime") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Tickets"); + }); + + modelBuilder.Entity("Back.Data.Models.Ulr", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Ip") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Time") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Ulrs"); + }); + + modelBuilder.Entity("Back.Data.Models.User", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("DateLastLogin") + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("Fullname") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("Mobile") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Photo") + .HasColumnType("varbinary(max)"); + + b.Property("Token") + .HasColumnType("varchar(max)"); + + b.Property("Username") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("Back.Data.Models.UserNotfi", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("NotificationID") + .HasColumnType("int"); + + b.Property("UserID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("UserNotifis"); + }); + + modelBuilder.Entity("Back.Data.Models.VerificationCode", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("Code") + .HasColumnType("int"); + + b.Property("Type") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("prm") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("val") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("VerificationCodes"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Receipt", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CODID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ForSale") + .HasColumnType("bit"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("info") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("CODID"); + + b.ToTable("Receipts"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Remittance", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CODID") + .HasColumnType("int"); + + b.Property("Count") + .HasColumnType("int"); + + b.Property("Date") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.Property("info") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("CODID"); + + b.ToTable("Remittances"); + }); + + modelBuilder.Entity("Back.Data.Models.rptQueue", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CompanyID") + .HasColumnType("int"); + + b.Property("InvoicID") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.ToTable("rptQueue"); + }); + + modelBuilder.Entity("Back.Data.Models.stuff", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID")); + + b.Property("CID") + .HasColumnType("nvarchar(max)"); + + b.Property("DescriptionOfID") + .HasColumnType("nvarchar(max)"); + + b.Property("ExpirationDate") + .HasColumnType("nvarchar(max)"); + + b.Property("RunDate") + .HasColumnType("nvarchar(max)"); + + b.Property("SpecialOrGeneral") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxableOrFree") + .HasColumnType("nvarchar(max)"); + + b.Property("Vat") + .HasColumnType("nvarchar(max)"); + + b.Property("VatCustomPurposes") + .HasColumnType("nvarchar(max)"); + + b.Property("sDate") + .HasColumnType("nvarchar(max)"); + + b.Property("sType") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.ToTable("Stuffs"); + }); + + modelBuilder.Entity("Back.Data.Models.CODItem", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("CODItemS") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.CODUnit", "CODUnit") + .WithMany("CODItemS") + .HasForeignKey("UnitID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CODUnit"); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Back.Data.Models.Coding", b => + { + b.HasOne("Back.Data.Models.Fild", "Fild") + .WithMany("Codings") + .HasForeignKey("FildID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Fild"); + }); + + modelBuilder.Entity("Back.Data.Models.CreditDocuments", b => + { + b.HasOne("Back.Data.Models.Company", "company") + .WithMany("CreditDocuments") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("company"); + }); + + modelBuilder.Entity("Back.Data.Models.Customer", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("Customers") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + }); + + modelBuilder.Entity("Back.Data.Models.FildModeInPattern", b => + { + b.HasOne("Back.Data.Models.Fild", "Fild") + .WithMany("FildModeInPatterns") + .HasForeignKey("FildID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.FildMode", "FildMode") + .WithMany("FildModeInPatterns") + .HasForeignKey("FildModeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Pattern", "pattern") + .WithMany("FildModeInPatterns") + .HasForeignKey("PatternID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Fild"); + + b.Navigation("FildMode"); + + b.Navigation("pattern"); + }); + + modelBuilder.Entity("Back.Data.Models.Invoice", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("Childinvoice") + .HasForeignKey("BillReference"); + + b.HasOne("Back.Data.Models.Company", "company") + .WithMany("invoices") + .HasForeignKey("CompanyID"); + + b.HasOne("Back.Data.Models.Customer", "Customer") + .WithMany() + .HasForeignKey("CustomerID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.User", "user") + .WithMany() + .HasForeignKey("LastChangeUserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Pattern", "pattern") + .WithMany() + .HasForeignKey("PatternID"); + + b.Navigation("Customer"); + + b.Navigation("company"); + + b.Navigation("invoice"); + + b.Navigation("pattern"); + + b.Navigation("user"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceItem", b => + { + b.HasOne("Back.Data.Models.CODItem", "cODItem") + .WithMany("invoiceDetails") + .HasForeignKey("CODID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("invoiceDetails") + .HasForeignKey("InvoiceID"); + + b.Navigation("cODItem"); + + b.Navigation("invoice"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoicePayment", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("payments") + .HasForeignKey("InvoiceID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("invoice"); + }); + + modelBuilder.Entity("Back.Data.Models.InvoiceStatusChang", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("invoiceStatusChangs") + .HasForeignKey("InvoiceID"); + + b.HasOne("Back.Data.Models.User", "user") + .WithMany() + .HasForeignKey("UserID"); + + b.Navigation("invoice"); + + b.Navigation("user"); + }); + + modelBuilder.Entity("Back.Data.Models.Order", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany() + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.User", "User") + .WithMany() + .HasForeignKey("UserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Back.Data.Models.OrderItem", b => + { + b.HasOne("Back.Data.Models.Order", "Order") + .WithMany("OrderItems") + .HasForeignKey("OrderID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID"); + + b.HasOne("Back.Data.Models.Promotion", "Promotion") + .WithMany() + .HasForeignKey("PromotionID"); + + b.Navigation("Order"); + + b.Navigation("Permission"); + + b.Navigation("Promotion"); + }); + + modelBuilder.Entity("Back.Data.Models.Pattern", b => + { + b.HasOne("Back.Data.Models.BillType", "BillType") + .WithMany("Patterns") + .HasForeignKey("BillTypeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BillType"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionPeriod", b => + { + b.HasOne("Back.Data.Models.CalculationType", "CalculationType") + .WithMany("permissionPeriods") + .HasForeignKey("CalculationTypeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("PermissionPeriods") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CalculationType"); + + b.Navigation("Company"); + + b.Navigation("Permission"); + }); + + modelBuilder.Entity("Back.Data.Models.PermissionUser", b => + { + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany("RolUsers") + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.RolUser", "RolUser") + .WithMany("rolePermissions") + .HasForeignKey("RolUserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Permission"); + + b.Navigation("RolUser"); + }); + + modelBuilder.Entity("Back.Data.Models.Pricing", b => + { + b.HasOne("Back.Data.Models.CalculationType", "CalculationType") + .WithMany() + .HasForeignKey("CalculationTypeID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CalculationType"); + + b.Navigation("Permission"); + }); + + modelBuilder.Entity("Back.Data.Models.PromotionDetails", b => + { + b.HasOne("Back.Data.Models.Permission", "Permission") + .WithMany() + .HasForeignKey("PermissionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.Promotion", "Promotion") + .WithMany("PromotionDetails") + .HasForeignKey("PromotionID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Permission"); + + b.Navigation("Promotion"); + }); + + modelBuilder.Entity("Back.Data.Models.Question", b => + { + b.HasOne("Back.Data.Models.QuestionCategory", "questionCategory") + .WithMany("questions") + .HasForeignKey("QuestionCategoryID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("questionCategory"); + }); + + modelBuilder.Entity("Back.Data.Models.RolUser", b => + { + b.HasOne("Back.Data.Models.Company", "Company") + .WithMany("RolUsers") + .HasForeignKey("CompanyID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Back.Data.Models.User", "User") + .WithMany("RolUsers") + .HasForeignKey("UserID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Company"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Back.Data.Models.SentTax", b => + { + b.HasOne("Back.Data.Models.Invoice", "invoice") + .WithMany("sentTax") + .HasForeignKey("InvoiceID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("invoice"); + }); + + modelBuilder.Entity("Back.Data.Models.SpecialCondition", b => + { + b.HasOne("Back.Data.Models.Fild", "Fild") + .WithMany() + .HasForeignKey("FildID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Fild"); + }); + + modelBuilder.Entity("Back.Data.Models.SubTicket", b => + { + b.HasOne("Back.Data.Models.Ticket", "Ticket") + .WithMany("SubTickets") + .HasForeignKey("TicketID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Ticket"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Receipt", b => + { + b.HasOne("Back.Data.Models.CODItem", "cODItem") + .WithMany("Receipts") + .HasForeignKey("CODID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("cODItem"); + }); + + modelBuilder.Entity("Back.Data.Models.Warehouse.Remittance", b => + { + b.HasOne("Back.Data.Models.CODItem", "cODItem") + .WithMany("Remittances") + .HasForeignKey("CODID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("cODItem"); + }); + + modelBuilder.Entity("Back.Data.Models.BillType", b => + { + b.Navigation("Patterns"); + }); + + modelBuilder.Entity("Back.Data.Models.CODItem", b => + { + b.Navigation("Receipts"); + + b.Navigation("Remittances"); + + b.Navigation("invoiceDetails"); + }); + + modelBuilder.Entity("Back.Data.Models.CODUnit", b => + { + b.Navigation("CODItemS"); + }); + + modelBuilder.Entity("Back.Data.Models.CalculationType", b => + { + b.Navigation("permissionPeriods"); + }); + + modelBuilder.Entity("Back.Data.Models.Company", b => + { + b.Navigation("CODItemS"); + + b.Navigation("CreditDocuments"); + + b.Navigation("Customers"); + + b.Navigation("PermissionPeriods"); + + b.Navigation("RolUsers"); + + b.Navigation("invoices"); + }); + + modelBuilder.Entity("Back.Data.Models.Fild", b => + { + b.Navigation("Codings"); + + b.Navigation("FildModeInPatterns"); + }); + + modelBuilder.Entity("Back.Data.Models.FildMode", b => + { + b.Navigation("FildModeInPatterns"); + }); + + modelBuilder.Entity("Back.Data.Models.Invoice", b => + { + b.Navigation("Childinvoice"); + + b.Navigation("invoiceDetails"); + + b.Navigation("invoiceStatusChangs"); + + b.Navigation("payments"); + + b.Navigation("sentTax"); + }); + + modelBuilder.Entity("Back.Data.Models.Order", b => + { + b.Navigation("OrderItems"); + }); + + modelBuilder.Entity("Back.Data.Models.Pattern", b => + { + b.Navigation("FildModeInPatterns"); + }); + + modelBuilder.Entity("Back.Data.Models.Permission", b => + { + b.Navigation("RolUsers"); + }); + + modelBuilder.Entity("Back.Data.Models.Promotion", b => + { + b.Navigation("PromotionDetails"); + }); + + modelBuilder.Entity("Back.Data.Models.QuestionCategory", b => + { + b.Navigation("questions"); + }); + + modelBuilder.Entity("Back.Data.Models.RolUser", b => + { + b.Navigation("rolePermissions"); + }); + + modelBuilder.Entity("Back.Data.Models.Ticket", b => + { + b.Navigation("SubTickets"); + }); + + modelBuilder.Entity("Back.Data.Models.User", b => + { + b.Navigation("RolUsers"); + }); #pragma warning restore 612, 618 } } diff --git a/Back/Program.cs b/Back/Program.cs index 4ab553a..5ec820b 100644 --- a/Back/Program.cs +++ b/Back/Program.cs @@ -3,6 +3,7 @@ using Back.Data.Contracts; using Back.Data.Infrastructure.Repository; using Back.Features; using Back.Services; +using Back.Services.Warehouse; using Back.Validations; using Microsoft.EntityFrameworkCore; using Microsoft.IdentityModel.Tokens; @@ -83,6 +84,9 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(c => new mpNuget.RestClient("09119660045", "C54S2")); diff --git a/Back/Services/Warehouse/WarehouseService.cs b/Back/Services/Warehouse/WarehouseService.cs index 65f5e77..5d61c50 100644 --- a/Back/Services/Warehouse/WarehouseService.cs +++ b/Back/Services/Warehouse/WarehouseService.cs @@ -1,7 +1,9 @@ -using Back.Data.Contracts; +using Back.Common; +using Back.Data.Contracts; using Back.Data.Models.Warehouse; using Microsoft.EntityFrameworkCore; using Microsoft.OpenApi.Extensions; +using Shared.DTOs; using Shared.DTOs.Warehouse; using System; using System.Collections.Generic; @@ -21,7 +23,7 @@ namespace Back.Services.Warehouse _RemittanceRepo = remittanceRepo; _ReceiptRepo = receiptRepo; } - public async Task> Circulation(int CompanyID,string date="",int CODID=0) + public async Task> Circulation(int CompanyID,string date="",int CODID=0,int PageIndex=1,int PageSize=5) { var RequestRemittance = _RemittanceRepo.Get(w => w.cODItem.CompanyID == CompanyID) .Select(s=>new CirculationDto @@ -57,9 +59,14 @@ namespace Back.Services.Warehouse if (CODID != 0) RequestReceipt = RequestReceipt.Where(w => w.CODID == CODID); - var list = await RequestReceipt.ToListAsync(); - list.AddRange(await RequestRemittance.ToListAsync()); - return list.OrderByDescending(o=>o.Date).ToList(); + return await RequestReceipt.Union(RequestRemittance).OrderByDescending(o => o.Date).Paging(PageIndex, PageSize); + //var list = await RequestReceipt.ToListAsync(); + //list.AddRange(await RequestRemittance.ToListAsync()); + //return await list.OrderByDescending(o=>o.Date).AsQueryable().Paging(PageIndex, PageSize); + } + public async Task Inventory(int CompanyID,int CODID) + { + } } }