Пример #1
0
        public IActionResult DeletePurchaseReturnItem(long id)
        {
            PurchaseReturnItem PurchaseReturnItem = returnitem_repo.Find(id);

            if (PurchaseReturnItem == null)
            {
                return(NotFound());
            }

            returnitem_repo.Delete(PurchaseReturnItem);
            return(Ok());
        }
Пример #2
0
        private IList getItems()
        {
            IList items = new ArrayList();

            for (int i = 0; i < itemsDataGrid.Rows.Count; i++)
            {
                GoodReceiveNoteItem poi = (GoodReceiveNoteItem)itemsDataGrid[scanColumn.Index, i].Tag;
                if (poi == null)
                {
                    continue;
                }
                Part p = (Part)itemsDataGrid[codeColumn.Index, i].Tag;
                if (itemsDataGrid[unitColumn.Index, i].Value == null)
                {
                    continue;
                }
                Unit u = (Unit)Utils.FindEntityInList(itemsDataGrid[unitColumn.Index, i].Value.ToString(), m_units);
                if ((p == null) || (u == null))
                {
                    continue;
                }
                PurchaseReturnItem st = (PurchaseReturnItem)itemsDataGrid.Rows[i].Tag;
                if (st == null)
                {
                    st = new PurchaseReturnItem();
                }
                itemsDataGrid.Rows[i].Tag = st;
                st.EVENT     = m_prn;
                st.PART      = p;
                st.WAREHOUSE = (Warehouse)Utils.FindEntityInList(itemsDataGrid[warehouseColumn.Index, i].Value.ToString(), m_warehouses);
                st.QYTAMOUNT = Convert.ToDouble(itemsDataGrid[QtyColumn.Index, i].Value);
                st.UNIT      = u;
                st.GRN_ITEM  = poi;
                st.NOTES     = itemsDataGrid[notesColumn.Index, i].Value == null ? "" : itemsDataGrid[notesColumn.Index, i].Value.ToString();
                if (st.QYTAMOUNT == 0)
                {
                    continue;
                }
                items.Add(st);
            }
            return(items);
        }
Пример #3
0
 public IActionResult AddPurchaseReturnItem([FromBody] PurchaseReturnItem model)
 {
     returnitem_repo.Add(model);
     return(new OkObjectResult(new { PurchaseReturnItemID = model.PurchaseReturnItemId }));
 }
Пример #4
0
        private void loadMovement()
        {
            movemntkryptonDataGridView.Rows.Clear();
            if (m_part.ID == 0)
            {
                return;
            }
            IList movs = r_part.GetAllEvents(m_part.ID);

            foreach (EventItem itm in movs)
            {
                int r = movemntkryptonDataGridView.Rows.Add();
                movemntkryptonDataGridView[dateMovementColumn.Index, r].Value      = itm.EVENT.TRANSACTION_DATE;
                movemntkryptonDataGridView[eventCodeMovementColumn.Index, r].Value = itm.EVENT.CODE;
                movemntkryptonDataGridView[eventTypeMovementColumn.Index, r].Value = itm.STOCK_CARD_ENTRY_TYPE.ToString();
                movemntkryptonDataGridView[QtyMovementColumn.Index, r].Value       = itm.GetAmountInSmallestUnit();
                movemntkryptonDataGridView[unitMovementColumn.Index, r].Value      = m_part.UNIT.CODE;
                movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value    = "-";
                switch (itm.STOCK_CARD_ENTRY_TYPE)
                {
                case StockCardEntryType.PurchaseOrder:
                    PurchaseOrderItem pi = (PurchaseOrderItem)itm;
                    PurchaseOrder     p  = (PurchaseOrder)pi.EVENT;
                    p.SUPPLIER = (Supplier)r_sup.GetById(p.SUPPLIER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = p.SUPPLIER.NAME;
                    break;

                case StockCardEntryType.SalesOrder:
                    SalesOrderItem soi = (SalesOrderItem)itm;
                    SalesOrder     so  = (SalesOrder)soi.EVENT;
                    so.CUSTOMER = (Customer)r_cus.GetById(so.CUSTOMER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = so.CUSTOMER.NAME;
                    break;

                case StockCardEntryType.GoodReceiveNote:
                    GoodReceiveNoteItem grni = (GoodReceiveNoteItem)itm;
                    GoodReceiveNote     grn  = (GoodReceiveNote)grni.EVENT;
                    grn.SUPPLIER = (Supplier)r_sup.GetById(grn.SUPPLIER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = grn.SUPPLIER.NAME;
                    break;

                case StockCardEntryType.DeliveryOrder:
                    DeliveryOrderItem doi = (DeliveryOrderItem)itm;
                    DeliveryOrder     dor = (DeliveryOrder)doi.EVENT;
                    dor.CUSTOMER = (Customer)r_cus.GetById(dor.CUSTOMER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = dor.CUSTOMER.NAME;
                    break;

                case StockCardEntryType.SupplierInvoice:
                    SupplierInvoiceItem sii = (SupplierInvoiceItem)itm;
                    SupplierInvoice     si  = (SupplierInvoice)sii.EVENT;
                    si.SUPPLIER = (Supplier)r_sup.GetById(si.SUPPLIER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = si.SUPPLIER.NAME;
                    break;

                case StockCardEntryType.CustomerInvoice:
                    CustomerInvoiceItem cii = (CustomerInvoiceItem)itm;
                    CustomerInvoice     ci  = (CustomerInvoice)cii.EVENT;
                    ci.CUSTOMER = (Customer)r_cus.GetById(ci.CUSTOMER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = ci.CUSTOMER.NAME;
                    break;

                case StockCardEntryType.PurchaseReturn:
                    PurchaseReturnItem pri = (PurchaseReturnItem)itm;
                    PurchaseReturn     pr  = (PurchaseReturn)pri.EVENT;
                    pr.SUPPLIER = (Supplier)r_sup.GetById(pr.SUPPLIER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = pr.SUPPLIER.NAME;
                    break;

                case StockCardEntryType.SalesReturn:
                    SalesReturnItem sri = (SalesReturnItem)itm;
                    SalesReturn     sr  = (SalesReturn)sri.EVENT;
                    sr.CUSTOMER = (Customer)r_cus.GetById(sr.CUSTOMER);
                    movemntkryptonDataGridView[vendorMovementColumn.Index, r].Value = sr.CUSTOMER.NAME;
                    break;
                }
                movemntkryptonDataGridView[statusMovementColumn.Index, r].Value = itm.EVENT.POSTED.ToString();
            }
            UserSetting.AddNumberToGrid(movemntkryptonDataGridView);
        }
Пример #5
0
        void dataItemskryptonDataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            if (m_editMode == EditMode.View)
            {
                return;
            }
            itemsDataGrid.Rows[e.RowIndex].ErrorText = "";
            if (!itemsDataGrid[e.ColumnIndex, e.RowIndex].IsInEditMode)
            {
                return;
            }

            if (e.ColumnIndex == scanColumn.Index)
            {
                if (e.FormattedValue.ToString() == "")
                {
                    return;
                }

                IList addedPI = new ArrayList();
                for (int i = 0; i < itemsDataGrid.Rows.Count; i++)
                {
                    if (i == e.RowIndex)
                    {
                        continue;
                    }
                    GoodReceiveNoteItem pi = (GoodReceiveNoteItem)itemsDataGrid[scanColumn.Index, i].Tag;
                    if (pi == null)
                    {
                        continue;
                    }
                    addedPI.Add(pi.ID);
                }
                IList res = r_grn.FindPObyPartAndGRNNo(e.FormattedValue.ToString(), addedPI, ((Supplier)supplierkryptonComboBox.SelectedItem).ID, dateKryptonDateTimePicker.Value);
                if (res.Count == 0)
                {
                    using (SearchGRNForPRForm fr = new SearchGRNForPRForm(e.FormattedValue.ToString(), (Supplier)supplierkryptonComboBox.SelectedItem, addedPI, m_mainForm.CurrentUser, dateKryptonDateTimePicker.Value))
                    {
                        fr.ShowDialog();
                        IList result = fr.RESULT;
                        m_poItems = result;
                    }
                }
                else
                {
                    m_poItems = res;
                }
            }
            if (QtyColumn.Index == e.ColumnIndex)
            {
                GoodReceiveNoteItem pi = (GoodReceiveNoteItem)itemsDataGrid[scanColumn.Index, e.RowIndex].Tag;
                if (pi == null)
                {
                    return;
                }
                Part p = (Part)itemsDataGrid[codeColumn.Index, e.RowIndex].Tag;
                if (p == null)
                {
                    return;
                }
                Unit u = (Unit)Utils.FindEntityInList(itemsDataGrid[unitColumn.Index, e.RowIndex].Value.ToString(), m_units);
                if (u == null)
                {
                    return;
                }
                p.UNIT_CONVERSION_LIST = r_part.GetUnitConversions(p.ID);
                PurchaseReturnItem sample = new PurchaseReturnItem();
                sample.PART      = p;
                sample.UNIT      = u;
                sample.QYTAMOUNT = Convert.ToDouble(e.FormattedValue);
                double qty  = sample.GetAmountInSmallestUnit();
                double rest = r_grn.GetOutstandingReturned(pi.ID) - qty;
                if (rest < 0)
                {
                    e.Cancel = true;
                    itemsDataGrid.Rows[e.RowIndex].ErrorText = "Quantity exceed outstanding quantity";
                }
                // itemsDataGrid[OutstandingPOColumn.Index, e.RowIndex].Value = r_grn.GetOutstandingReturned(pi.ID);
            }
            if (unitColumn.Index == e.ColumnIndex)
            {
                GoodReceiveNoteItem pi = (GoodReceiveNoteItem)itemsDataGrid[scanColumn.Index, e.RowIndex].Tag;
                if (pi == null)
                {
                    return;
                }
                Part p = (Part)itemsDataGrid[codeColumn.Index, e.RowIndex].Tag;
                if (p == null)
                {
                    return;
                }
                Unit u = (Unit)Utils.FindEntityInList(e.FormattedValue.ToString(), m_units);
                if (u == null)
                {
                    return;
                }
                p.UNIT_CONVERSION_LIST = r_part.GetUnitConversions(p.ID);
                GoodReceiveNoteItem sample = new GoodReceiveNoteItem();
                sample.PART      = p;
                sample.UNIT      = u;
                sample.QYTAMOUNT = Convert.ToDouble(itemsDataGrid[QtyColumn.Index, e.RowIndex].Value);
                double qty  = sample.GetAmountInSmallestUnit();
                double rest = r_grn.GetOutstandingReturned(pi.ID) - qty;
                if (rest < 0)
                {
                    e.Cancel = true;
                    itemsDataGrid.Rows[e.RowIndex].ErrorText = "Quantity exceed outstanding quantity";
                }
                //itemsDataGrid[OutstandingPOColumn.Index, e.RowIndex].Value = rest;
            }
        }
        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));
        }
Пример #7
0
 public void Update(PurchaseReturnItem PurchaseReturnItem)
 {
     _PurchaseReturnItemRepository.Update(PurchaseReturnItem);
     _UnitOfWork.Commit();
 }