private SaleBillHeader MapToEntity(SaleBillHeaderViewModel model) { var salebillheader = new SaleBillHeader { SaleBillHeaderid = model.SaleBillHeaderid, PartyAccountId = model.PartyAccountId, MyProperty = model.MyProperty, InvoiceNo = Convert.ToDecimal(model.InvoiceNo), Date = model.Date, VoucherHeaderId = model.VoucherHeaderId, SaleOrderNo = model.SaleOrderNo, TotalAmount = model.TotalAmount, FreightAmount = model.FreightAmount, Taxamount = model.Taxamount, Narration = model.Narration, DiscountAmount = model.DiscountAmount, GodownId = model.GodownId, SaleBillDetails = ConvertViewModelToModel(model.SaleBillDetails) }; salebillheader.VoucherHeader = CreateVouhcer(salebillheader); return(salebillheader); }
//public ActionResult GetSaleBill() //{ // var saledetail = this.db.SaleBillHeaders.Include(x => x.SaleBillDetails) // .Include(x => x.p) //} private VoucherHeaders CreateVouhcer(SaleBillHeader model) { VoucherHeaders voucherheader = new VoucherHeaders() { VoucherDate = model.Date, VoucherHeaderID = model.VoucherHeaderId, VoucherTypeSeriesID = model.VoucherHeaderId, HistoryHeaderID = model.VoucherHeaderId }; List <VoucherDetail> voucherdetail = new List <VoucherDetail>(); Int64 SaleAccountId = 0; foreach (var item in model.SaleBillDetails) { SaleAccountId = Convert.ToInt64(itemManager.GetItemAccountById(item.ItemId).SaleAccountId); //Debit To PartyAccount voucherdetail.Add(new VoucherDetail() { VoucherHeaderID = voucherheader.VoucherHeaderID, AccountID = SaleAccountId, SAccountID = model.PartyAccountId, Amount = item.TaxableAmount, BillNo = model.InvoiceNo.ToString(), InstrumentNo = model.InvoiceNo.ToString(), InstrumentDesc = model.InvoiceNo.ToString(), Narration = model.SaleBillDetails.Select(x => x.Description).FirstOrDefault() }); if (item.SGSTAmount > 0) { voucherdetail.Add(new VoucherDetail() { VoucherHeaderID = voucherheader.VoucherHeaderID, AccountID = Convert.ToInt64(Variables.SGSTACCOUNT), SAccountID = model.PartyAccountId, Amount = item.SGSTAmount, BillNo = model.InvoiceNo.ToString(), InstrumentNo = model.InvoiceNo.ToString(), InstrumentDesc = model.InvoiceNo.ToString(), Narration = model.SaleBillDetails.Select(x => x.Description).FirstOrDefault() }); } if (item.CGSTAmount > 0) { voucherdetail.Add(new VoucherDetail() { VoucherHeaderID = voucherheader.VoucherHeaderID, AccountID = Convert.ToInt64(Variables.CGSTACCOUNT), SAccountID = model.PartyAccountId, Amount = item.CGSTAmount, BillNo = model.InvoiceNo.ToString(), InstrumentNo = model.InvoiceNo.ToString(), InstrumentDesc = model.InvoiceNo.ToString(), Narration = model.SaleBillDetails.Select(x => x.Description).FirstOrDefault() }); } if (item.IGSTAmount > 0) { voucherdetail.Add(new VoucherDetail() { VoucherHeaderID = voucherheader.VoucherHeaderID, AccountID = Convert.ToInt64(Variables.IGSTACCOUNT), SAccountID = model.PartyAccountId, Amount = item.IGSTAmount, BillNo = model.InvoiceNo.ToString(), InstrumentNo = model.InvoiceNo.ToString(), InstrumentDesc = model.InvoiceNo.ToString(), Narration = model.SaleBillDetails.Select(x => x.Description).FirstOrDefault() }); } } //credit To supplier voucherdetail.Add(new VoucherDetail() { VoucherHeaderID = voucherheader.VoucherHeaderID, AccountID = model.PartyAccountId, SAccountID = SaleAccountId, Amount = model.TotalAmount * -1, BillNo = model.InvoiceNo.ToString(), InstrumentNo = model.InvoiceNo.ToString(), InstrumentDesc = model.InvoiceNo.ToString(), Narration = model.SaleBillDetails.Select(x => x.Description).FirstOrDefault() }); voucherheader.VoucherDetails = voucherdetail; return(voucherheader); }