public ActionResult SaveForLocalMarket(string totalAmount, string PONo, int supplierId, string descriptions, int WarehouseId, DateTime dates, List <GoodsReceiveResponse> response, List <AdditionalCost> additionalCost) { string ID = ""; ReceiveMaster master = new ReceiveMaster(); master.InvoiceNoPaper = descriptions; master.InvoiceDate = dates; master.InvoiceNo = new GlobalClass().GetMaxIdWithPrfix("InvoiceNo", "8", "00000001", "ReceiveMaster", "GL"); master.SupplierID = supplierId; master.TotalAmount = decimal.Parse(totalAmount); ID = master.InvoiceNo; master.MarketType = "Local"; foreach (var item in response) { ReceiveDetail details = new ReceiveDetail(); //details.Id = item.Id; details.ReceiveMasterId = master.Id; details.ProductId = item.ProductId; details.WarehouseId = item.WarehouseId; details.Qty = item.Qty; details.Rate = item.Rate; details.SD = item.SDRate; details.Tax = item.TaxRate; details.Amount = item.Amount; details.IsActive = true; details.CreatedBy = CurrentSession.GetCurrentSession().UserName; details.CreatedDate = DateTime.Now; master.ReceiveDetails.Add(details); // total += details.QTY??0 * details.RetailPrice??0; } master.RecieveFrom = CurrentSession.GetCurrentSession().UserName; if (additionalCost != null && additionalCost.Count > 0) { master.AdditionalCost = additionalCost.Select(a => a.Debit).Sum(a => a.Value); } else { master.AdditionalCost = 0; } master.GrandTotal = master.TotalAmount + master.AdditionalCost - master.BillDiscount; master.IsActive = true; master.SupplierID = supplierId; master.Notes = descriptions; master.MarketType = "Local"; master.TransportType = "Truck"; master.TransportNo = "1"; master.CreatedBy = CurrentSession.GetCurrentSession().UserName; master.CreatedDate = DateTime.Now; var result = service.Save(master, WarehouseId, 3); //return Json(result.Id, JsonRequestBehavior.AllowGet); return(Json(new { result = true, Error = "Saved", ID = ID }, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(string totalAmount, string PONo, int supplierId, string descriptions, int WarehouseId, List <GoodsReceiveResponse> response) { string ID = ""; ReceiveMaster master = new ReceiveMaster(); master.InvoiceNoPaper = PONo; master.TotalAmount = decimal.Parse(totalAmount); master.InvoiceNo = new GlobalClass().GetMaxIdWithPrfix("InvoiceNo", "8", "00000001", "ReceiveMaster", "GR"); master.SupplierID = supplierId; ID = master.InvoiceNo; var total = 0.0m; foreach (var item in response) { ReceiveDetail details = new ReceiveDetail(); //details.Id = item.Id; details.ReceiveMasterId = master.Id; details.ProductId = item.ProductId; details.WarehouseId = item.WarehouseId; details.TotalBale = item.TotalBale; details.QtyInBale = item.QtyInBale; details.WeightInKG = item.WeightInKG; details.WeightType = item.WeightType; details.WeightInMon = item.WeightInMon; details.Amount = item.Amount; details.TotalAmount = item.TotalAmount; details.IsActive = true; details.CreatedBy = CurrentSession.GetCurrentSession().UserName; details.CreatedDate = DateTime.Now; master.ReceiveDetails.Add(details); // total += details.QTY??0 * details.RetailPrice??0; } master.RecieveFrom = CurrentSession.GetCurrentSession().UserName; master.AdditionalCost = 0.0m; master.BillDiscount = 0.0m; //master.TotalAmount = total; master.GrandTotal = master.TotalAmount + master.AdditionalCost - master.BillDiscount; master.InvoiceDate = DateTime.Now; master.IsActive = true; master.SupplierID = supplierId; master.Notes = descriptions; master.MarketType = "Not Local"; master.TransportType = "Truck"; master.TransportNo = "1"; master.CreatedBy = CurrentSession.GetCurrentSession().UserName; master.CreatedDate = DateTime.Now; var result = service.Save(master, WarehouseId, 1); //return Json(result.Id, JsonRequestBehavior.AllowGet); return(Json(new { result = true, Error = "Saved", ID = ID }, JsonRequestBehavior.AllowGet)); }
public ReceiveMaster Save(ReceiveMaster cus, int wareHouseId, int goodsType) { var result = service.Save(cus); if (result != null || result.Id > 0) { foreach (var item in cus.ReceiveDetails) { var existingItem = inventory.GetAll(a => a.ProductId == item.ProductId && a.IsActive == true && a.WarehouseId == wareHouseId && a.SupplierId == cus.SupplierID && a.QtyInBale == item.QtyInBale).ToList(); if (existingItem.Count > 0) { foreach (var inv in existingItem) { inv.UpdatedDate = DateTime.Now; inv.UpdatedBy = ""; inv.BalanceQty = inv.BalanceQty + item.TotalBale; inv.ReceiveQty = inv.ReceiveQty + item.QtyInBale; inventory.Update(inv, inv.Id); } } else { Inventory inv = new Inventory(); inv.IsActive = true; inv.ProductId = item.ProductId; inv.ReceiveQty = item.TotalBale; inv.QtyInBale = item.QtyInBale; inv.SupplierId = cus.SupplierID; inv.WarehouseId = wareHouseId; inv.OpeningQty = 0; inv.BalanceQty = item.TotalBale; inv.GoodsType = goodsType.ToString(); inventory.Save(inv); } } // Ledger Saves var ledgerObj = new LedgerPosting(); ledgerObj.YearId = 1; ledgerObj.VoucherTypeId = 14; ledgerObj.VoucherNo = result.InvoiceNoPaper; ledgerObj.PostingDate = cus.InvoiceDate; ledgerObj.LedgerId = 2; ledgerObj.InvoiceNo = cus.InvoiceNo; ledgerObj.Credit = cus.TotalAmount; ledgerObj.Debit = cus.TotalAmount; var save = ledgerService.Save(ledgerObj); } return(cus); }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReceiveMaster sales = service.GetById(id); if (sales == null) { return(HttpNotFound()); } var result = service.Delete(sales); return(View("PaddyReceiveReport")); }
// GET: /Category/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReceiveMaster category = service.GetById(id); if (category == null) { return(HttpNotFound()); } var result = AutoMapper.Mapper.Map <ReceiveMaster, ReceiveMasterResponse>(category); return(View(category)); }
public ReceiveMaster Save(ReceiveMaster cus, List <AdditionalCost> additionalCosts, int wareHouseId, int goodsType) { var avgAdditionalCost = cus.AdditionalCost / cus.ReceiveDetails.Select(a => a.Qty).Sum(); var avgCostPrice = 0.0m; var supplier = supplierService.GetById(cus.SupplierID); cus.YearId = financialYearId; var result = service.Save(cus); if (result != null || result.Id > 0) { foreach (var item in cus.ReceiveDetails) { var balance = 0.0m; var existingItem = _inventoryService.GetAll(a => a.ProductId == item.ProductId && a.IsActive == true && a.WarehouseId == wareHouseId && a.SizeId == item.SizeId && a.BrandId == item.BrandId && a.APIId == item.APIId).ToList(); if (existingItem.Count > 0) { foreach (var inv in existingItem) { var existingCosting = inv.BalanceQty * inv.Costprice ?? 0; var totalAmount = item.Amount + avgAdditionalCost * item.Qty + existingCosting; avgCostPrice = totalAmount / (item.Qty + inv.BalanceQty); inv.Costprice = avgCostPrice; inv.PurchasePrice = item.Rate; inv.UpdatedDate = DateTime.Now; inv.UpdatedBy = ""; inv.BalanceQty = inv.BalanceQty + item.Qty; inv.ReceiveQty = inv.ReceiveQty ?? 0 + item.Qty; _inventoryService.Update(inv, inv.Id); balance = inv.BalanceQty; } } else { Inventory inv = new Inventory(); inv.IsActive = true; inv.CreatedDate = DateTime.Now; inv.CreatedBy = ""; inv.ProductId = item.ProductId; inv.ReceiveQty = item.Qty; inv.SupplierId = cus.SupplierID; inv.WarehouseId = wareHouseId; inv.BrandId = item.BrandId; inv.SizeId = item.SizeId; inv.APIId = item.APIId; inv.Faulty = 0; inv.OpeningQty = 0; inv.BalanceQty = item.Qty; inv.PurchasePrice = item.Rate; inv.Costprice = avgCostPrice; inv.SalesPrice = 0; inv.GoodsType = goodsType.ToString(); _inventoryService.Save(inv); balance = item.Qty; } var invTransaction = new InventoryTransaction() { APIId = item.APIId, BalanceQty = balance, BrandId = item.BrandId, CreatedBy = CurrentSession.GetCurrentSession().UserName, CreatedDate = DateTime.Now, GoodsType = goodsType.ToString(), InventoryGuid = Guid.NewGuid().ToString(), InvoiceNo = cus.InvoiceNo, IsActive = true, ProductId = item.ProductId, PurchasePrice = item.Rate, CostPrice = avgCostPrice, Qty = item.Qty, SalesPrice = 0, SizeId = item.SizeId, SupplierId = cus.SupplierID, TransactionType = (int)Util.TransactionType.ReceiveQty, WarehouseId = item.WarehouseId ?? 0 }; _invTransactionService.Save(invTransaction); } // Ledger posting debit to purchase account var ledgerObj = new LedgerPosting(); ledgerObj.VoucherTypeId = (int)VoucherTypeEnum.PurchaseInvoice; ledgerObj.VoucherNo = result.InvoiceNoPaper; ledgerObj.PostingDate = cus.InvoiceDate; ledgerObj.LedgerId = (int)DefaultLedger.PurchaseAccount; ledgerObj.InvoiceNo = cus.InvoiceNo; ledgerObj.Credit = 0; ledgerObj.Debit = cus.GrandTotal; ledgerObj.MasterId = result.Id; var save = ledgerService.Save(ledgerObj); //Ledger posting to customer ledger credit var detailsLedger = new LedgerPosting(); detailsLedger.VoucherTypeId = (int)VoucherTypeEnum.PurchaseInvoice; detailsLedger.VoucherNo = result.InvoiceNoPaper; detailsLedger.PostingDate = cus.InvoiceDate; detailsLedger.LedgerId = supplier.LedgerId; detailsLedger.InvoiceNo = cus.InvoiceNo; detailsLedger.Credit = cus.TotalAmount - cus.BillDiscount; detailsLedger.Debit = 0; detailsLedger.MasterId = result.Id; var detailsLedgerResult = ledgerService.Save(detailsLedger); //save addisitonalCost if (additionalCosts != null && additionalCosts.Count > 0) { foreach (var item in additionalCosts) { item.CreatedBy = CurrentSession.GetCurrentSession().UserId; item.CreatedDate = DateTime.Now; item.LedgerId = supplier.LedgerId; item.VoucherNo = cus.InvoiceNo; item.Extra1 = cus.AdditionalCostPurpose; item.VoucherTypeId = (int)VoucherTypeEnum.PurchaseInvoice; var isSaved = _addCostService.Save(item); } // var additionalCost = new LedgerPosting(); additionalCost.VoucherTypeId = (int)VoucherTypeEnum.AdditionalCost; additionalCost.VoucherNo = result.InvoiceNoPaper; additionalCost.PostingDate = cus.InvoiceDate; additionalCost.LedgerId = (int)DefaultLedger.AdditionalCost; additionalCost.InvoiceNo = cus.InvoiceNo; additionalCost.Credit = cus.AdditionalCost; additionalCost.Debit = 0; additionalCost.MasterId = result.Id; var _ = ledgerService.Save(additionalCost); } var party = new PartyBalance(); party.InvoiceNo = result.InvoiceNo; party.LedgerId = supplier.LedgerId ?? 0; party.Credit = cus.TotalAmount - cus.BillDiscount; party.CreditPeriod = 60; party.Debit = 0; party.MasterId = result.Id; party.FinancialYearId = CurrentSession.GetCurrentSession().FinancialYear; party.PostingDate = cus.InvoiceDate; party.VoucherTypeId = (int)VoucherTypeEnum.PurchaseInvoice; party.VoucherNo = result.InvoiceNo; party.extra1 = "Purchase Invoice: " + cus.InvoiceNo + " Paper Invoice No:" + cus.InvoiceNoPaper; party.extra2 = result.Id.ToString(); partyBalanceService.Save(party); } return(cus); }
public int Delete(ReceiveMaster master) { try { var salesdetails = serviceDetails.GetAll(a => a.ReceiveMasterId == master.Id).ToList(); foreach (var item in salesdetails) { try { var isdetails = new DBService <ReceiveDetail>().Delete(item.Id); } catch (Exception ex) { } } var isDeleted = service.Delete(master.Id); foreach (var item in master.ReceiveDetails) { var existingItem = _inventoryService.GetAll(a => a.ProductId == item.ProductId && a.IsActive == true && a.WarehouseId == item.WarehouseId).ToList(); if (existingItem.Count > 0) { foreach (var inv in existingItem) { inv.UpdatedDate = DateTime.Now; inv.UpdatedBy = ""; inv.BalanceQty = inv.BalanceQty - item.Qty; inv.ReceiveQty = inv.ReceiveQty ?? 0 - item.Qty; _inventoryService.Update(inv, inv.Id); } } } var supplier = supplierService.GetById(master.SupplierID); foreach (LedgerPosting item in this.ledgerService.GetAllByInvoice(master.InvoiceNo, true)) { item.IsActive = false; this.ledgerService.Update(item, item.Id); } PartyBalanceService partyBalanceService = this.partyBalanceService; int? ledgerId = supplier.LedgerId; PartyBalance paymentObj = partyBalanceService.GetByInvoiceNo(supplier.LedgerId ?? 0, master.InvoiceNo); this.partyBalanceService.Delete(paymentObj.PartyBalanceId); // Ledger Saves credit //var ledgerObj = new LedgerPosting(); //ledgerObj.VoucherTypeId = (int)VoucherType.PurchaseInvoice; //ledgerObj.VoucherNo = master.InvoiceNoPaper; //ledgerObj.PostingDate = master.InvoiceDate; //ledgerObj.LedgerId = (int)DefaultLedger.PurchaseAccount; //ledgerObj.InvoiceNo = master.InvoiceNo; //ledgerObj.Debit = 0; //ledgerObj.Credit = master.GrandTotal; //ledgerObj.Extra1 = "Purchase Invoice Deleted: " + master.InvoiceNo; //var save = ledgerService.Save(ledgerObj); //Ledger posting to customer ledger credit //var detailsLedger = new LedgerPosting(); //detailsLedger.VoucherTypeId = (int)VoucherType.PurchaseInvoice; //detailsLedger.VoucherNo = master.InvoiceNoPaper; //detailsLedger.PostingDate = master.InvoiceDate; //detailsLedger.LedgerId = supplier.LedgerId; //detailsLedger.InvoiceNo = master.InvoiceNo; //detailsLedger.Debit = master.GrandTotal; //detailsLedger.Credit = 0; //detailsLedger.Extra1 = "Purchase Invoice Deleted: " + master.InvoiceNo; //var detailsLedgerResult = ledgerService.Save(detailsLedger); //var party = new PartyBalance(); //party.InvoiceNo = master.InvoiceNo; //party.LedgerId = supplier.LedgerId ?? 0; //party.Debit = master.GrandTotal; //party.CreditPeriod = 60; //party.Credit = 0; //party.FinancialYearId =CurrentSession.GetCurrentSession().FinancialYear; //party.PostingDate = master.InvoiceDate; //party.VoucherTypeId = (int)VoucherType.PurchaseInvoice; //party.extra1 = "Purchase Invoice Deleted: " + master.InvoiceNo; //partyBalanceService.Save(party); return(1); } catch (Exception ex) { return(0); } }
public ReceiveMaster Update(ReceiveMaster t, int id) { service.Update(t, id); return(t); }
public ReceiveMaster Save(ReceiveMaster cus, int wareHouseId, int goodsType) { var supplier = supplierService.GetById(cus.SupplierID); cus.YearId = financialYearId; var result = service.Save(cus); if (result != null || result.Id > 0) { foreach (var item in cus.ReceiveDetails) { var product = productService.GetById(item.ProductId); if (product != null) { goodsType = product.ProductTypeId ?? 1; } var existingItem = inventory.GetAll(a => a.ProductId == item.ProductId && a.IsActive == true && a.WarehouseId == wareHouseId).ToList(); if (existingItem.Count > 0) { foreach (var inv in existingItem) { inv.UpdatedDate = DateTime.Now; inv.UpdatedBy = ""; inv.BalanceQty = inv.BalanceQty + item.Qty; inv.ReceiveQty = inv.ReceiveQty ?? 0 + item.Qty; inventory.Update(inv, inv.Id); } } else { Inventory inv = new Inventory(); inv.IsActive = true; inv.ProductId = item.ProductId; inv.ReceiveQty = item.Qty; inv.QtyInBale = 0; inv.SupplierId = cus.SupplierID; inv.WarehouseId = wareHouseId; inv.OpeningQty = 0; inv.BalanceQty = item.Qty; inv.GoodsType = goodsType.ToString(); inventory.Save(inv); } } // Ledger posting debit to purchase account var ledgerObj = new LedgerPosting(); ledgerObj.VoucherTypeId = (int)VoucherType.PurchaseInvoice; ledgerObj.VoucherNo = result.InvoiceNoPaper; ledgerObj.PostingDate = cus.InvoiceDate; ledgerObj.LedgerId = (int)DefaultLedger.PurchaseAccount; ledgerObj.InvoiceNo = cus.InvoiceNo; ledgerObj.Credit = 0; ledgerObj.Debit = cus.GrandTotal; var save = ledgerService.Save(ledgerObj); //Ledger posting to customer ledger credit var detailsLedger = new LedgerPosting(); detailsLedger.VoucherTypeId = (int)VoucherType.PurchaseInvoice; detailsLedger.VoucherNo = result.InvoiceNoPaper; detailsLedger.PostingDate = cus.InvoiceDate; detailsLedger.LedgerId = supplier.LedgerId; detailsLedger.InvoiceNo = cus.InvoiceNo; detailsLedger.Credit = cus.GrandTotal; detailsLedger.Debit = 0; var detailsLedgerResult = ledgerService.Save(detailsLedger); var party = new PartyBalance(); party.InvoiceNo = result.InvoiceNo; party.LedgerId = supplier.LedgerId ?? 0; party.Credit = cus.GrandTotal; party.CreditPeriod = 60; party.Debit = 0; party.FinancialYearId = CurrentSession.GetCurrentSession().FinancialYear; party.PostingDate = cus.InvoiceDate; party.VoucherTypeId = (int)VoucherType.PurchaseInvoice; party.VoucherNo = result.InvoiceNo; party.extra1 = "Purchase Invoice: " + cus.InvoiceNo + " Coutha:" + cus.InvoiceNoPaper; partyBalanceService.Save(party); } return(cus); }