public ActionResult GetItemList(MainApplication mainapp, FormCollection frmcol) { MainApplication model = new MainApplication() { OutwardStkDisDetails = new OutwardStockDistribution(), OutwardItemStkDisDetails = new OutwardItemStockDistribution(), StockItemDistributionDetails = new StockItemDistribution(), }; //CREATE STOCK DISTRIBUTION CODE string year = FinancialYear; string[] yr = year.Split(' ', '-'); string FinYr = "/" + yr[2].Substring(2) + "-" + yr[6].Substring(2); string stockdistributioncode = string.Empty; var StkDisData = _stockdistributionservice.GetLastStockDisByFinYr(FinYr); int StkDisVal = 0; int length = 0; if (StkDisData != null) { stockdistributioncode = StkDisData.StockDistributionCode.Substring(3, 6); length = (Convert.ToInt32(stockdistributioncode) + 1).ToString().Length; StkDisVal = Convert.ToInt32(stockdistributioncode) + 1; } else { StkDisVal = 1; length = 1; } stockdistributioncode = _utilityservice.getName("SDS", length, StkDisVal); stockdistributioncode = stockdistributioncode + FinYr; mainapp.StockDistributionDetails.StockDistributionCode = stockdistributioncode; //save stock distribution mainapp.StockDistributionDetails.Status = "Active"; mainapp.StockDistributionDetails.ModifiedOn = DateTime.Now; _stockdistributionservice.Create(mainapp.StockDistributionDetails); //save outward stock distribution model.OutwardStkDisDetails.OutwardCode = stockdistributioncode; model.OutwardStkDisDetails.GodownName = mainapp.StockDistributionDetails.GodownName; model.OutwardStkDisDetails.Code = mainapp.StockDistributionDetails.Code; model.OutwardStkDisDetails.GodownContactNo = mainapp.StockDistributionDetails.GodownContactNo; model.OutwardStkDisDetails.GodownContactPerson = mainapp.StockDistributionDetails.GodownContactPerson; model.OutwardStkDisDetails.ShopName = mainapp.StockDistributionDetails.ShopName; model.OutwardStkDisDetails.ShopContactNo = mainapp.StockDistributionDetails.ShopContactNo; model.OutwardStkDisDetails.ShopContactPerson = mainapp.StockDistributionDetails.ShopContactPerson; model.OutwardStkDisDetails.GatePass = mainapp.StockDistributionDetails.GatePass; model.OutwardStkDisDetails.Narration = mainapp.StockDistributionDetails.Narration; model.OutwardStkDisDetails.Status = "Active"; model.OutwardStkDisDetails.ModifiedOn = DateTime.Now; _outwardstkdisservice.Create(model.OutwardStkDisDetails); //save stock item distribution mainapp.OpeningStockList = TempData["OpeningItemList"] as IEnumerable <OpeningStockMaster>; mainapp.EntryStockItemList = TempData["EntryItemList"] as IEnumerable <EntryStockItem>; int count = 1; foreach (var data in mainapp.EntryStockItemList) { string itemcode = "ItemCode" + count; string intertransfer = "InterTransfer" + count; if (frmcol[intertransfer] != "" && frmcol[intertransfer] != null) { //if same item with same godowncode then update item in stockdistribution var itemdetails = _stockitemdistributionservice.GetDetailsByItemCodeAndGodownCode(frmcol[itemcode], mainapp.StockDistributionDetails.Code); if (itemdetails == null) { //if item already prsent in stock distribution (same item and same godown) then update item otherwise create new item var itemdata = _itemservice.GetDescriptionByItemCode(frmcol[itemcode]); model.StockItemDistributionDetails.Category = itemdata.itemCategory; model.StockItemDistributionDetails.SubCategory = itemdata.itemSubCategory; model.StockItemDistributionDetails.ItemCode = itemdata.itemCode; model.StockItemDistributionDetails.ItemName = itemdata.itemName; model.StockItemDistributionDetails.Description = itemdata.description; model.StockItemDistributionDetails.ItemQuantity = Convert.ToDouble(frmcol[intertransfer]); model.StockItemDistributionDetails.Color = itemdata.colorCode; model.StockItemDistributionDetails.DesignCode = itemdata.designCode; model.StockItemDistributionDetails.DesignName = itemdata.designName; model.StockItemDistributionDetails.Unit = itemdata.unit; model.StockItemDistributionDetails.NumberType = itemdata.NumberType; model.StockItemDistributionDetails.SellingPrice = Convert.ToDouble(itemdata.sellingprice); model.StockItemDistributionDetails.MRP = Convert.ToDouble(itemdata.mrp); model.StockItemDistributionDetails.Material = itemdata.typeOfMaterial; model.StockItemDistributionDetails.StockDistributionCode = stockdistributioncode; model.StockItemDistributionDetails.Code = mainapp.StockDistributionDetails.Code; if (mainapp.StockDistributionDetails.Code.Contains("GD")) { model.StockItemDistributionDetails.GodownShopName = _godownservice.GetGodownByCode(mainapp.StockDistributionDetails.Code).GodownName; } else { model.StockItemDistributionDetails.GodownShopName = _shopservice.GetShopByCode(mainapp.StockDistributionDetails.Code).ShopName; } model.StockItemDistributionDetails.Brand = itemdata.brandName; model.StockItemDistributionDetails.Size = itemdata.size; model.StockItemDistributionDetails.Barcode = itemdata.Barcode; model.StockItemDistributionDetails.Status = "Active"; model.StockItemDistributionDetails.ModifiedOn = DateTime.Now; _stockitemdistributionservice.Create(model.StockItemDistributionDetails); //Save Outward Item To Godown //Calculate total remaining quantity = Item Quantity + (Previous row quantity but this row having the same itemcode & godowncode) var QuanDetails = _outwarditemstkdisservice.GetLastRowFromItemAndGodownCode(frmcol[itemcode], mainapp.StockDistributionDetails.Code); if (QuanDetails != null) { double CalcQuan = Convert.ToDouble(frmcol[intertransfer]) + Convert.ToDouble(QuanDetails.TotalQuantity); model.OutwardItemStkDisDetails.TotalQuantity = CalcQuan; } else { model.OutwardItemStkDisDetails.TotalQuantity = Convert.ToDouble(frmcol[intertransfer]); } model.OutwardItemStkDisDetails.ItemCode = model.StockItemDistributionDetails.ItemCode; model.OutwardItemStkDisDetails.ItemName = model.StockItemDistributionDetails.ItemName; model.OutwardItemStkDisDetails.ItemQuantity = Convert.ToDouble(frmcol[intertransfer]); model.OutwardItemStkDisDetails.Code = mainapp.StockDistributionDetails.Code; model.OutwardItemStkDisDetails.OutwardCode = stockdistributioncode; model.OutwardItemStkDisDetails.Description = model.StockItemDistributionDetails.Description; model.OutwardItemStkDisDetails.Color = model.StockItemDistributionDetails.Color; model.OutwardItemStkDisDetails.DesignCode = model.StockItemDistributionDetails.DesignCode; model.OutwardItemStkDisDetails.DesignName = model.StockItemDistributionDetails.DesignName; model.OutwardItemStkDisDetails.Material = model.StockItemDistributionDetails.Material; model.OutwardItemStkDisDetails.SellingPrice = model.StockItemDistributionDetails.SellingPrice; model.OutwardItemStkDisDetails.MRP = model.StockItemDistributionDetails.MRP; model.OutwardItemStkDisDetails.Unit = model.StockItemDistributionDetails.Unit; model.OutwardItemStkDisDetails.NumberType = model.StockItemDistributionDetails.NumberType; model.OutwardItemStkDisDetails.Brand = model.StockItemDistributionDetails.Brand; model.OutwardItemStkDisDetails.Size = model.StockItemDistributionDetails.Size; model.OutwardItemStkDisDetails.Barcode = model.StockItemDistributionDetails.Barcode; model.OutwardItemStkDisDetails.Status = "Active"; model.OutwardItemStkDisDetails.ModifiedOn = DateTime.Now; _outwarditemstkdisservice.Create(model.OutwardItemStkDisDetails); } else { itemdetails.ItemQuantity = itemdetails.ItemQuantity + Convert.ToDouble(frmcol[intertransfer]); itemdetails.Status = "Active"; itemdetails.ModifiedOn = DateTime.Now; _stockitemdistributionservice.Update(itemdetails); //Save Outward Item To Godown //Calculate total remaining quantity = Item Quantity + (Previous row quantity but this row having the same itemcode & godowncode) var QuanDetails = _outwarditemstkdisservice.GetLastRowFromItemAndGodownCode(frmcol[itemcode], mainapp.StockDistributionDetails.Code); if (QuanDetails != null) { double CalcQuan = Convert.ToDouble(frmcol[intertransfer]) + Convert.ToDouble(QuanDetails.TotalQuantity); model.OutwardItemStkDisDetails.TotalQuantity = CalcQuan; } else { model.OutwardItemStkDisDetails.TotalQuantity = Convert.ToDouble(frmcol[intertransfer]); } model.OutwardItemStkDisDetails.ItemCode = itemdetails.ItemCode; model.OutwardItemStkDisDetails.ItemName = itemdetails.ItemName; model.OutwardItemStkDisDetails.ItemQuantity = Convert.ToDouble(frmcol[intertransfer]); model.OutwardItemStkDisDetails.Code = mainapp.StockDistributionDetails.Code; model.OutwardItemStkDisDetails.OutwardCode = stockdistributioncode; model.OutwardItemStkDisDetails.Description = itemdetails.Description; model.OutwardItemStkDisDetails.Color = itemdetails.Color; model.OutwardItemStkDisDetails.DesignCode = itemdetails.DesignCode; model.OutwardItemStkDisDetails.DesignName = itemdetails.DesignName; model.OutwardItemStkDisDetails.Material = itemdetails.Material; model.OutwardItemStkDisDetails.SellingPrice = itemdetails.SellingPrice; model.OutwardItemStkDisDetails.MRP = itemdetails.MRP; model.OutwardItemStkDisDetails.Unit = itemdetails.Unit; model.OutwardItemStkDisDetails.NumberType = itemdetails.NumberType; model.OutwardItemStkDisDetails.Brand = itemdetails.Brand; model.OutwardItemStkDisDetails.Size = itemdetails.Size; model.OutwardItemStkDisDetails.Barcode = itemdetails.Barcode; model.OutwardItemStkDisDetails.Status = "Active"; model.OutwardItemStkDisDetails.ModifiedOn = DateTime.Now; _outwarditemstkdisservice.Create(model.OutwardItemStkDisDetails); } } count = count + 1; } foreach (var data in mainapp.OpeningStockList) { string itemcode = "ItemCode" + count; string intertransfer = "InterTransfer" + count; if (frmcol[intertransfer] != "" && frmcol[intertransfer] != null) { //if same item with same godowncode then update item in stockdistribution var itemdetails = _stockitemdistributionservice.GetDetailsByItemCodeAndGodownCode(frmcol[itemcode], mainapp.StockDistributionDetails.Code); if (itemdetails == null) { var itemdata = _itemservice.GetDescriptionByItemCode(frmcol[itemcode]); model.StockItemDistributionDetails.Category = itemdata.itemCategory; model.StockItemDistributionDetails.SubCategory = itemdata.itemSubCategory; model.StockItemDistributionDetails.ItemCode = itemdata.itemCode; model.StockItemDistributionDetails.ItemName = itemdata.itemName; model.StockItemDistributionDetails.Description = itemdata.description; model.StockItemDistributionDetails.ItemQuantity = Convert.ToDouble(frmcol[intertransfer]); model.StockItemDistributionDetails.Color = itemdata.colorCode; model.StockItemDistributionDetails.DesignCode = itemdata.designCode; model.StockItemDistributionDetails.DesignName = itemdata.designName; model.StockItemDistributionDetails.Unit = itemdata.unit; model.StockItemDistributionDetails.NumberType = itemdata.NumberType; model.StockItemDistributionDetails.SellingPrice = Convert.ToDouble(itemdata.sellingprice); model.StockItemDistributionDetails.MRP = Convert.ToDouble(itemdata.mrp); model.StockItemDistributionDetails.Material = itemdata.typeOfMaterial; model.StockItemDistributionDetails.StockDistributionCode = stockdistributioncode; model.StockItemDistributionDetails.Code = mainapp.StockDistributionDetails.Code; model.StockItemDistributionDetails.Brand = itemdata.brandName; model.StockItemDistributionDetails.Size = itemdata.size; model.StockItemDistributionDetails.Barcode = itemdata.Barcode; model.StockItemDistributionDetails.Status = "Active"; model.StockItemDistributionDetails.ModifiedOn = DateTime.Now; _stockitemdistributionservice.Create(model.StockItemDistributionDetails); //Save Outward Item To Godown //Calculate total remaining quantity = Item Quantity + (Previous row quantity but this row having the same itemcode & godowncode) var QuanDetails = _outwarditemstkdisservice.GetLastRowFromItemAndGodownCode(frmcol[itemcode], mainapp.StockDistributionDetails.Code); if (QuanDetails != null) { double CalcQuan = Convert.ToDouble(frmcol[intertransfer]) + Convert.ToDouble(QuanDetails.TotalQuantity); model.OutwardItemStkDisDetails.TotalQuantity = CalcQuan; } else { model.OutwardItemStkDisDetails.TotalQuantity = Convert.ToDouble(frmcol[intertransfer]); } model.OutwardItemStkDisDetails.ItemCode = model.StockItemDistributionDetails.ItemCode; model.OutwardItemStkDisDetails.ItemName = model.StockItemDistributionDetails.ItemName; model.OutwardItemStkDisDetails.ItemQuantity = Convert.ToDouble(frmcol[intertransfer]); model.OutwardItemStkDisDetails.Code = mainapp.StockDistributionDetails.Code; model.OutwardItemStkDisDetails.OutwardCode = stockdistributioncode; model.OutwardItemStkDisDetails.Description = model.StockItemDistributionDetails.Description; model.OutwardItemStkDisDetails.Color = model.StockItemDistributionDetails.Color; model.OutwardItemStkDisDetails.DesignCode = model.StockItemDistributionDetails.DesignCode; model.OutwardItemStkDisDetails.DesignName = model.StockItemDistributionDetails.DesignName; model.OutwardItemStkDisDetails.Material = model.StockItemDistributionDetails.Material; model.OutwardItemStkDisDetails.SellingPrice = model.StockItemDistributionDetails.SellingPrice; model.OutwardItemStkDisDetails.MRP = model.StockItemDistributionDetails.MRP; model.OutwardItemStkDisDetails.Unit = model.StockItemDistributionDetails.Unit; model.OutwardItemStkDisDetails.NumberType = model.StockItemDistributionDetails.NumberType; model.OutwardItemStkDisDetails.Brand = model.StockItemDistributionDetails.Brand; model.OutwardItemStkDisDetails.Size = model.StockItemDistributionDetails.Size; model.OutwardItemStkDisDetails.Barcode = model.StockItemDistributionDetails.Barcode; model.OutwardItemStkDisDetails.Status = "Active"; model.OutwardItemStkDisDetails.ModifiedOn = DateTime.Now; _outwarditemstkdisservice.Create(model.OutwardItemStkDisDetails); } else { itemdetails.ItemQuantity = itemdetails.ItemQuantity + Convert.ToDouble(frmcol[intertransfer]); itemdetails.Status = "Active"; itemdetails.ModifiedOn = DateTime.Now; _stockitemdistributionservice.Update(itemdetails); //Save Outward Item To Godown //Calculate total remaining quantity = Item Quantity + (Previous row quantity but this row having the same itemcode & godowncode) var QuanDetails = _outwarditemstkdisservice.GetLastRowFromItemAndGodownCode(frmcol[itemcode], mainapp.StockDistributionDetails.Code); if (QuanDetails != null) { double CalcQuan = Convert.ToDouble(frmcol[intertransfer]) + Convert.ToDouble(QuanDetails.TotalQuantity); model.OutwardItemStkDisDetails.TotalQuantity = CalcQuan; } else { model.OutwardItemStkDisDetails.TotalQuantity = Convert.ToDouble(frmcol[intertransfer]); } model.OutwardItemStkDisDetails.ItemCode = itemdetails.ItemCode; model.OutwardItemStkDisDetails.ItemName = itemdetails.ItemName; model.OutwardItemStkDisDetails.ItemQuantity = Convert.ToDouble(frmcol[intertransfer]); model.OutwardItemStkDisDetails.Code = mainapp.StockDistributionDetails.Code; model.OutwardItemStkDisDetails.OutwardCode = stockdistributioncode; model.OutwardItemStkDisDetails.Description = itemdetails.Description; model.OutwardItemStkDisDetails.Color = itemdetails.Color; model.OutwardItemStkDisDetails.DesignCode = itemdetails.DesignCode; model.OutwardItemStkDisDetails.DesignName = itemdetails.DesignName; model.OutwardItemStkDisDetails.Material = itemdetails.Material; model.OutwardItemStkDisDetails.SellingPrice = itemdetails.SellingPrice; model.OutwardItemStkDisDetails.MRP = itemdetails.MRP; model.OutwardItemStkDisDetails.Unit = itemdetails.Unit; model.OutwardItemStkDisDetails.NumberType = itemdetails.NumberType; model.OutwardItemStkDisDetails.Brand = itemdetails.Brand; model.OutwardItemStkDisDetails.Size = itemdetails.Size; model.OutwardItemStkDisDetails.Barcode = itemdetails.Barcode; model.OutwardItemStkDisDetails.Status = "Active"; model.OutwardItemStkDisDetails.ModifiedOn = DateTime.Now; _outwarditemstkdisservice.Create(model.OutwardItemStkDisDetails); } } count = count + 1; } var SDID = _stockdistributionservice.GetDetailsByCode(mainapp.StockDistributionDetails.StockDistributionCode).Id; var StkDisId = Encode(SDID.ToString()); return(RedirectToAction("StockDistributionDetails/" + StkDisId, "StockDistribution")); }
public ActionResult PurchaseReturn(MainApplication model, FormCollection frmcol) { string shopcode = Session["LOGINSHOPGODOWNCODE"].ToString(); string shopname = Session["SHOPGODOWNNAME"].ToString(); string year = FinancialYear; string[] yr = year.Split(' ', '-'); string FinYr = "/" + yr[2].Substring(2) + "-" + yr[6].Substring(2); var LastPurchaseReturn = _PurchaseReturnService.GetLastPurchaseByFinYr(FinYr, shopcode); string PurchaseReturnCode = string.Empty; int PurchaseReturnLength = 0; int PurchaseReturnNo = 0; if (LastPurchaseReturn == null) { PurchaseReturnLength = 1; PurchaseReturnNo = 1; } else { int PurchaseReturnIndex = LastPurchaseReturn.PurchaseReturnNo.LastIndexOf('P'); PurchaseReturnCode = LastPurchaseReturn.PurchaseReturnNo.Substring(PurchaseReturnIndex + 2, 6); PurchaseReturnLength = (Convert.ToInt32(PurchaseReturnCode) + 1).ToString().Length; PurchaseReturnNo = Convert.ToInt32(PurchaseReturnCode) + 1; } string ShortCode = string.Empty; if (shopcode.Contains("SH")) { var detail = _ShopService.GetShopDetailsByName(shopname); ShortCode = detail.ShortCode; } else { var detail = _GodownService.GetGodownDetailsByName(shopname); ShortCode = detail.ShortCode; } PurchaseReturnCode = _UtilityService.getName(ShortCode + "/PR", PurchaseReturnLength, PurchaseReturnNo); PurchaseReturnCode = PurchaseReturnCode + FinYr; string DebitNoteNo = _UtilityService.getName(ShortCode + "/DBN", PurchaseReturnLength, PurchaseReturnNo); DebitNoteNo = DebitNoteNo + FinYr; model.PurchaseReturnDetails.Code = Session["LOGINSHOPGODOWNCODE"].ToString(); model.PurchaseReturnDetails.PurchaseReturnNo = PurchaseReturnCode; model.PurchaseReturnDetails.PurchaseReturnDate = DateTime.Now; model.PurchaseReturnDetails.DebitNoteNo = DebitNoteNo; model.PurchaseReturnDetails.DebitNoteDate = DateTime.Now; if (model.PurchaseReturnDetails.PackAndForwd == null) { model.PurchaseReturnDetails.PackAndForwd = 0; } model.PurchaseReturnDetails.DebitNoteAmount = Convert.ToDouble(frmcol["SupplierAmount"]); model.PurchaseReturnDetails.TotalAmount = Convert.ToDouble(frmcol["TotalAmountValue"]); model.PurchaseReturnDetails.TotalTaxAmount = Convert.ToDouble(frmcol["TotalTaxAmountValue"]); model.PurchaseReturnDetails.GrandTotal = Convert.ToDouble(frmcol["GrandTotalValue"]); model.PurchaseReturnDetails.Status = "Active"; model.PurchaseReturnDetails.ModifiedOn = DateTime.Now; _PurchaseReturnService.Create(model.PurchaseReturnDetails); DebitNote DebitNote = new DebitNote(); DebitNote.DebitNoteNo = DebitNoteNo; DebitNote.DebitNoteDate = DateTime.Now; DebitNote.SupplierName = model.PurchaseReturnDetails.SupplierName; DebitNote.BillNo = model.PurchaseReturnDetails.SupplierBillNo; DebitNote.ChallanNo = model.PurchaseReturnDetails.SupplierChallanNo; DebitNote.InwardNo = model.PurchaseReturnDetails.InwardNo; DebitNote.PurchaseReturnNo = PurchaseReturnCode; DebitNote.Amount = Convert.ToDouble(frmcol["SupplierAmount"]); DebitNote.Status = "Active"; DebitNote.ModifiedOn = DateTime.Now; _DebitNoteService.Create(DebitNote); var Inwardreturnlist = TempData["InwardItemList"] as IEnumerable <InwardItemsFromSupplier>; int count = 1; foreach (var item in Inwardreturnlist) { string checkbox = "CheckBox" + count; string quantity = "quantity" + count; string amount = "amountvalue" + count; string prevqty = "prevquantityvalue" + count; if (frmcol[checkbox] == "Yes") { PurchaseReturnItem PurchaseReturnItem = new PurchaseReturnItem(); PurchaseReturnItem.PurchaseReturnNo = PurchaseReturnCode; PurchaseReturnItem.Barcode = item.Barcode; PurchaseReturnItem.ItemCode = item.itemCode; PurchaseReturnItem.ItemName = item.Item; PurchaseReturnItem.ItemType = item.ItemType; PurchaseReturnItem.Description = item.Description; PurchaseReturnItem.DesignCode = item.Design; PurchaseReturnItem.DesignName = item.DesignName; PurchaseReturnItem.Color = item.Color; PurchaseReturnItem.Material = item.Material; PurchaseReturnItem.Brand = item.Brand; PurchaseReturnItem.Size = item.Size; PurchaseReturnItem.Unit = item.Unit; PurchaseReturnItem.NumberType = item.NumberType; PurchaseReturnItem.Quantity = Convert.ToDouble(frmcol[quantity]); PurchaseReturnItem.Balance = Convert.ToDouble(frmcol[prevqty]) - Convert.ToDouble(frmcol[quantity]); PurchaseReturnItem.CostPrice = item.CostPrice; PurchaseReturnItem.DisPer = item.Discount.ToString(); PurchaseReturnItem.SellingPrice = item.SellingPrice; PurchaseReturnItem.MRP = item.MRP; PurchaseReturnItem.ItemTax = item.ItemTax; PurchaseReturnItem.Amount = Convert.ToDouble(frmcol[amount]); PurchaseReturnItem.Status = "Active"; PurchaseReturnItem.ModifiedOn = DateTime.Now; _PurchaseReturnItemService.Create(PurchaseReturnItem); var inwarditem = _InwardItemFromSupplierService.GetItemByInwardNoAndItemCode(model.PurchaseReturnDetails.InwardNo, PurchaseReturnItem.ItemCode); inwarditem.PurchaseReturn = "Yes"; _InwardItemFromSupplierService.Update(inwarditem); DebitNoteItem DebitNoteItem = new DebitNoteItem(); DebitNoteItem.DebitNoteNo = DebitNoteNo; DebitNoteItem.ItemCode = item.itemCode; DebitNoteItem.ItemName = item.Item; DebitNoteItem.Description = item.Description; DebitNoteItem.ItemType = item.ItemType; DebitNoteItem.Color = item.Color; DebitNoteItem.Material = item.Material; DebitNoteItem.DesignName = item.DesignName; DebitNoteItem.Brand = item.Brand; DebitNoteItem.Size = item.Size; DebitNoteItem.Quantity = Convert.ToDouble(frmcol[quantity]); DebitNoteItem.Unit = item.Unit; DebitNoteItem.CostPrice = item.CostPrice; DebitNoteItem.NumberType = item.NumberType; DebitNoteItem.SellingPrice = item.SellingPrice; DebitNoteItem.MRP = item.MRP; DebitNoteItem.ItemTax = item.ItemTax; DebitNoteItem.Amount = Convert.ToDouble(frmcol[amount]); DebitNoteItem.Status = "Active"; DebitNoteItem.ModifiedOn = DateTime.Now; _DebitNoteItemService.Create(DebitNoteItem); var iteminward = _InwardItemFromSupplierService.GetItemByInwardNoAndItemCode(model.PurchaseReturnDetails.InwardNo, item.itemCode); iteminward.PurchaseReturn = "Yes"; _InwardItemFromSupplierService.Update(iteminward); string code = Session["LOGINSHOPGODOWNCODE"].ToString(); if (item.ItemType == "Inventory") { if (code.Contains("SH")) { var shopdetails = _ShopStockService.GetDetailsByItemCodeAndShopCode(item.itemCode, code); shopdetails.Quantity = shopdetails.Quantity - PurchaseReturnItem.Quantity; _ShopStockService.Update(shopdetails); var stockitemdetails = _StockItemDistributionService.GetDetailsByItemCodeAndShopCode(item.itemCode, code); stockitemdetails.ItemQuantity = stockitemdetails.ItemQuantity - PurchaseReturnItem.Quantity; _StockItemDistributionService.Update(stockitemdetails); } else { var godowndetails = _GodownStockService.GetDetailsByItemCodeAndGodownCode(item.itemCode, code); godowndetails.Quantity = godowndetails.Quantity - PurchaseReturnItem.Quantity; _GodownStockService.Update(godowndetails); var stockitemdetails = _StockItemDistributionService.GetDetailsByItemCodeAndGodownCode(item.itemCode, code); stockitemdetails.ItemQuantity = stockitemdetails.ItemQuantity - PurchaseReturnItem.Quantity; _StockItemDistributionService.Update(stockitemdetails); } var entrystockitems = _EntryStockItemService.getDetailsByItemCode(item.itemCode); if (entrystockitems != null) { entrystockitems.TotalQuantity = entrystockitems.TotalQuantity - PurchaseReturnItem.Quantity; _EntryStockItemService.Update(entrystockitems); } else { var openingstockitems = _OpeningStockService.GetDetailsByItemCode(item.itemCode); openingstockitems.TotalQuantity = openingstockitems.TotalQuantity - PurchaseReturnItem.Quantity; _OpeningStockService.UpdateStock(openingstockitems); } } } count++; } count = Inwardreturnlist.Count() + 1; var purchasereturnlist = TempData["PurchaseReturnList"] as IEnumerable <PurchaseReturnItem>; foreach (var item in purchasereturnlist) { string checkbox = "CheckBox" + count; string quantity = "quantity" + count; string amount = "amountvalue" + count; string prevqty = "prevquantityvalue" + count; if (frmcol[checkbox] == "Yes") { item.PurchaseReturnNo = PurchaseReturnCode; item.Quantity = Convert.ToDouble(frmcol[quantity]); item.Balance = Convert.ToDouble(frmcol[prevqty]) - Convert.ToDouble(frmcol[quantity]); item.Amount = Convert.ToDouble(frmcol[amount]); item.Status = "Active"; item.ModifiedOn = DateTime.Now; _PurchaseReturnItemService.Create(item); DebitNoteItem DebitNoteItem = new DebitNoteItem(); DebitNoteItem.DebitNoteNo = DebitNoteNo; DebitNoteItem.ItemCode = item.ItemCode; DebitNoteItem.ItemName = item.ItemName; DebitNoteItem.Description = item.Description; DebitNoteItem.ItemType = item.ItemType; DebitNoteItem.Color = item.Color; DebitNoteItem.Material = item.Material; DebitNoteItem.DesignName = item.DesignName; DebitNoteItem.Brand = item.Brand; DebitNoteItem.Size = item.Size; DebitNoteItem.Quantity = Convert.ToDouble(frmcol[quantity]); DebitNoteItem.Unit = item.Unit; DebitNoteItem.NumberType = item.NumberType; DebitNoteItem.CostPrice = item.CostPrice; DebitNoteItem.SellingPrice = item.SellingPrice; DebitNoteItem.MRP = item.MRP; DebitNoteItem.ItemTax = item.ItemTax; DebitNoteItem.Amount = Convert.ToDouble(frmcol[amount]); DebitNoteItem.Status = "Active"; DebitNoteItem.ModifiedOn = DateTime.Now; _DebitNoteItemService.Create(DebitNoteItem); string code = Session["LOGINSHOPGODOWNCODE"].ToString(); if (item.ItemType == "Inventory") { if (code.Contains("SH")) { var shopdetails = _ShopStockService.GetDetailsByItemCodeAndShopCode(item.ItemCode, code); shopdetails.Quantity = shopdetails.Quantity - item.Quantity; _ShopStockService.Update(shopdetails); var stockitemdetails = _StockItemDistributionService.GetDetailsByItemCodeAndShopCode(item.ItemCode, code); stockitemdetails.ItemQuantity = stockitemdetails.ItemQuantity - item.Quantity; _StockItemDistributionService.Update(stockitemdetails); } else { var godowndetails = _GodownStockService.GetDetailsByItemCodeAndGodownCode(item.ItemCode, code); godowndetails.Quantity = godowndetails.Quantity - item.Quantity; _GodownStockService.Update(godowndetails); var stockitemdetails = _StockItemDistributionService.GetDetailsByItemCodeAndGodownCode(item.ItemCode, code); stockitemdetails.ItemQuantity = stockitemdetails.ItemQuantity - item.Quantity; _StockItemDistributionService.Update(stockitemdetails); } var entrystockitems = _EntryStockItemService.getDetailsByItemCode(item.ItemCode); if (entrystockitems != null) { entrystockitems.TotalQuantity = entrystockitems.TotalQuantity - item.Quantity; _EntryStockItemService.Update(entrystockitems); } else { var openingstockitems = _OpeningStockService.GetDetailsByItemCode(item.ItemCode); openingstockitems.TotalQuantity = openingstockitems.TotalQuantity - item.Quantity; _OpeningStockService.UpdateStock(openingstockitems); } } } else { item.PurchaseReturnNo = PurchaseReturnCode; item.Quantity = 0; _PurchaseReturnItemService.Create(item); } count++; } var data = _InwardFromSupplierService.GetInwardByInwardNo(model.PurchaseReturnDetails.InwardNo); data.PurchaseReturn = "Yes"; if (data.PurchaseReturnNo == null) { data.PurchaseReturnNo = PurchaseReturnCode; } else { data.PurchaseReturnNo = data.PurchaseReturnNo + "," + PurchaseReturnCode; } _InwardFromSupplierService.UpdateInward(data); //Store total tax and total amount of tax of PO int itemtaxcount = Convert.ToInt32(frmcol["ReturnItemTaxCount"]); model.PurchaseInventoryTaxDetails = new PurchaseInventoryTax(); for (int i = 1; i <= itemtaxcount; i++) { string taxnumber = "ReturnItemTaxNumber" + i; string taxamount = "ReturnAddedTaxAmounthdn" + i; string amountontax = "ReturnAddedAmounthdn" + i; if (Convert.ToDouble(frmcol[taxamount]) != 0) { model.PurchaseInventoryTaxDetails.Code = PurchaseReturnCode; model.PurchaseInventoryTaxDetails.Amount = frmcol[amountontax]; model.PurchaseInventoryTaxDetails.Tax = frmcol[taxnumber]; model.PurchaseInventoryTaxDetails.TaxAmount = frmcol[taxamount]; _PurchaseInventoryTaxService.Create(model.PurchaseInventoryTaxDetails); } } var details = _PurchaseReturnService.GetPurchaseByReturnNo(PurchaseReturnCode); string PRId = Encode(details.Id.ToString()); return(RedirectToAction("PurchaseReturnDetails/" + PRId)); }