示例#1
0
 public int InsertPurchaseOrder(EntityPurchaseOrder entInvoice, List <EntityPurchaseOrderDetails> lstInvoice)
 {
     try
     {
         int?PO_ID = 0;
         objData.STP_InsertPurchaseOrder(Convert.ToDateTime(entInvoice.PO_Date), ref PO_ID, Convert.ToInt32(entInvoice.VendorId), Convert.ToDecimal(entInvoice.PO_Amount));
         foreach (EntityPurchaseOrderDetails entPurchaseDetails in lstInvoice)
         {
             tblPurchaseOrderDetail obj = new tblPurchaseOrderDetail()
             {
                 PO_Id      = PO_ID,
                 Product_Id = entPurchaseDetails.Product_Id,
                 Quantity   = entPurchaseDetails.Quantity,
                 Rate       = entPurchaseDetails.Rate,
                 Total      = entPurchaseDetails.Total,
                 IsDelete   = false
             };
             objData.tblPurchaseOrderDetails.InsertOnSubmit(obj);
         }
         objData.SubmitChanges();
         return(1);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public bool Add(tblPurchaseOrderDetail obj)
 {
     try
     {
         repository.tblPurchaseOrderDetails.Add(obj);
         repository.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
        protected void makeRequest_Click(object sender, EventArgs e)
        {
            var repository        = new PurchaseOrder();
            var repository_detail = new PurchaseOrderDetail();
            int result            = checkForCbTb();

            if (result == 0)
            {
                this.ShowErrorNotification("Please select any product");
            }
            else
            {
                tblPurchaseOrder       tbl        = new tblPurchaseOrder();
                tblPurchaseOrderDetail tbl_detail = new tblPurchaseOrderDetail();
                tbl.VendorId  = Convert.ToInt32(vendorName.SelectedValue);
                tbl.OrderDate = DateTime.Now;
                // tbl.TotalValue = q;
                repository.Add(tbl);
                int poid = repository.GetId();

                foreach (GridViewRow row in gridProduct.Rows)
                {
                    CheckBox cb = (CheckBox)row.FindControl("CheckBox1");
                    if (cb.Checked)
                    {
                        int     id       = Convert.ToInt32(gridProduct.DataKeys[row.RowIndex].Value);
                        TextBox txt      = (TextBox)row.FindControl("TextBox1");
                        string  quantity = txt.Text;
                        tbl_detail.POId      = poid;
                        tbl_detail.ProductId = id;



                        tbl_detail.Quantity = Convert.ToInt32(quantity);
                        Product pObj = new Product();

                        tblProduct selectedProduct = pObj.Get(id);
                        tbl.TotalValue += (selectedProduct.StandardCost * tbl_detail.Quantity);
                        repository_detail.Add(tbl_detail);
                        cb.Checked = false;
                        txt.Text   = "";
                        this.ShowSuccessfulNotification("Delivery Requested Successfully");
                    }
                }
                repository.Update(repository.Get(poid));
            }
        }
 public bool Delete(int id)
 {
     try
     {
         tblPurchaseOrderDetail result = Get(id);
         if (result != null)
         {
             result.Deleted = true;
             repository.SaveChanges();
             return(true);
         }
         return(false);
     }
     catch (Exception)
     {
         return(false);
     }
 }
 public bool Update(tblPurchaseOrderDetail obj)
 {
     try
     {
         tblPurchaseOrderDetail result = Get(obj.PODetailId);
         if (result != null)
         {
             repository.Entry(result).CurrentValues.SetValues(obj);
             repository.SaveChanges();
             return(true);
         }
         return(false);
     }
     catch (Exception)
     {
         return(false);
     }
 }
        protected void btnupdate_Click(object sender, EventArgs e)
        {
            var repository                    = new PurchaseOrder();
            var repository_detail             = new PurchaseOrderDetail();
            tblPurchaseOrderDetail tbl_detail = new tblPurchaseOrderDetail();
            int poid = repository.GetId();

            foreach (GridViewRow row in gridProduct.Rows)
            {
                int     id           = Convert.ToInt32(gridProduct.DataKeys[row.RowIndex].Value);
                TextBox txt          = (TextBox)row.FindControl("TextBox1");
                Label   lblProductId = (Label)row.FindControl("lblProductId");
                tbl_detail.POId       = Convert.ToInt32(DropDownList1.SelectedValue);
                tbl_detail.PODetailId = id;
                tbl_detail.ProductId  = Convert.ToInt32(lblProductId.Text);
                string quantity = txt.Text;
                tbl_detail.Quantity = Convert.ToInt32(quantity);
                repository_detail.Update(tbl_detail);
            }
        }
示例#7
0
        public int Update(EntityPurchaseInvoice invoice, List<EntityPurchaseInvoiceDetails> lst)
        {
            int i = 0;
            try
            {
                tblPurchaseInvoice objExistInvoice = (from tbl in objData.tblPurchaseInvoices
                                                      where tbl.IsDelete == false
                                                      && tbl.PINo == invoice.PINo
                                                      select tbl).FirstOrDefault();
                if (objExistInvoice != null)
                {
                    bool flagISPOComplete = false;
                    if (invoice.PONo > 0)
                    {
                        if (objExistInvoice.PONo > 0)
                        {
                            List<tblPurchaseInvoiceDetail> lstExistedItems = (from tbl in objData.tblPurchaseInvoiceDetails
                                                                              where tbl.PINo == invoice.PINo
                                                                              && tbl.IsDelete == false
                                                                              select tbl).ToList();
                            if (lstExistedItems.Count > lst.Count)
                            {
                                foreach (tblPurchaseInvoiceDetail item in lstExistedItems)
                                {
                                    int cnt = (from tbl in lst
                                               where tbl.ProductCode == item.ProductCode
                                               && tbl.PurchaseInvoiceNo == item.PINo
                                               select tbl).Count();
                                    if (cnt == 0)
                                    {
                                        item.IsDelete = true;
                                    }

                                    tblPurchaseOrderDetail objOrder = (from tbl in objData.tblPurchaseOrderDetails
                                                                       join tblPurchaseInv in objData.tblPurchaseInvoices
                                                                       on tbl.PO_Id equals tblPurchaseInv.PONo
                                                                       where tblPurchaseInv.PINo == item.PINo
                                                                       && tbl.IsDelete == false
                                                                       && tbl.Product_Id == item.ProductCode
                                                                       select tbl).FirstOrDefault();
                                    if (objOrder != null)
                                    {
                                        objOrder.InvoiceQuantity = 0;
                                    }
                                }
                                objData.SubmitChanges();
                            }


                            #region Update Invoice Details
                            foreach (EntityPurchaseInvoiceDetails item in lst)
                            {

                                tblPurchaseInvoiceDetail invoiceItem = (from tbl in objData.tblPurchaseInvoiceDetails
                                                                        where tbl.PINo == invoice.PINo
                                                                        && tbl.IsDelete == false
                                                                        && tbl.ProductCode == item.ProductCode
                                                                        select tbl).FirstOrDefault();
                                if (invoiceItem != null)
                                {
                                    invoiceItem.Amount = item.Amount;
                                    invoiceItem.BatchNo = item.BatchNo;
                                    invoiceItem.ExpiryDate = item.ExpiryDate;
                                    invoiceItem.InvoicePrice = item.InvoicePrice;
                                    invoiceItem.InvoiceQty = item.InvoiceQty;
                                    invoiceItem.PINo = item.PurchaseInvoiceNo;
                                }
                                else
                                {
                                    invoiceItem = new tblPurchaseInvoiceDetail()
                                    {
                                        PINo = invoice.PINo,
                                        ProductCode = item.ProductCode,
                                        InvoiceQty = item.InvoiceQty,
                                        InvoicePrice = item.InvoicePrice,
                                        Amount = item.Amount,
                                        BatchNo = item.BatchNo,
                                        ExpiryDate = item.ExpiryDate,
                                        IsDelete = false
                                    };
                                    objData.tblPurchaseInvoiceDetails.InsertOnSubmit(invoiceItem);
                                }
                                tblPurchaseOrderDetail orderItem = (from tbl in objData.tblPurchaseOrderDetails
                                                                    where tbl.IsDelete == false
                                                                    && tbl.PO_Id == invoice.PONo
                                                                    && tbl.Product_Id == item.ProductCode
                                                                    select tbl).FirstOrDefault();
                                if (orderItem != null)
                                {
                                    if (orderItem.Quantity == item.InvoiceQty)
                                    {
                                        flagISPOComplete = true;
                                    }
                                    else
                                    {
                                        flagISPOComplete = false;
                                    }
                                    orderItem.InvoiceQuantity = item.InvoiceQty;
                                }

                                tblStockDetail stockItem = (from tbl in objData.tblStockDetails
                                                            where tbl.IsDelete == false
                                                            && tbl.TransactionType.Equals("PInvoice")
                                                            && Convert.ToInt32(tbl.DocumentNo) == invoice.PINo
                                                            && tbl.ProductId == Convert.ToInt32(item.ProductCode)
                                                            select tbl).FirstOrDefault();
                                if (stockItem != null)
                                {
                                    stockItem.ProductId = Convert.ToInt32(item.ProductCode);
                                    stockItem.InwardQty = item.InvoiceQty;
                                    stockItem.InwardPrice = item.InvoicePrice;
                                    stockItem.BatchNo = item.BatchNo;
                                    stockItem.ExpiryDate = item.ExpiryDate;
                                    stockItem.InwardAmount = item.Amount;
                                }
                                else
                                {
                                    stockItem = new tblStockDetail()
                                    {
                                        BatchNo = item.BatchNo,
                                        ExpiryDate = item.ExpiryDate,
                                        InwardPrice = item.InvoicePrice,
                                        InwardQty = item.InvoiceQty,
                                        DocumentNo = invoice.PINo,
                                        IsDelete = false,
                                        ProductId = Convert.ToInt32(item.ProductCode),
                                        TransactionType = "PInvoice",
                                        InwardAmount = item.Amount
                                    };
                                }
                            }
                            #endregion

                            #region Update Status of Order and Transaction
                            tblCustomerTransaction transact = (from tbl in objData.tblCustomerTransactions
                                                               where tbl.SupplierId == invoice.SupplierId
                                                               && tbl.IsDelete == false
                                                               && tbl.TransactionDocNo == invoice.PINo
                                                               && tbl.TransactionType.Equals("PInvoice")
                                                               select tbl).FirstOrDefault();
                            if (transact != null)
                            {
                                transact.BillAmount = invoice.Amount;
                            }
                            tblPurchaseOrder orderMain = (from tbl in objData.tblPurchaseOrders
                                                          where tbl.IsDelete == false
                                                          && tbl.PO_Id == invoice.PONo
                                                          select tbl).FirstOrDefault();
                            if (orderMain != null)
                            {
                                if (GetPOProductForEdit(Convert.ToInt32(invoice.PONo)).Count == lst.Count)
                                {
                                    flagISPOComplete = true;
                                }
                                else
                                {
                                    flagISPOComplete = false;
                                }
                                orderMain.IsPOComplete = flagISPOComplete;
                            }
                            objExistInvoice.Amount = invoice.Amount;
                            objExistInvoice.Discount = invoice.Discount;
                            objExistInvoice.PIDate = invoice.PIDate;
                            objExistInvoice.Tax1 = invoice.Tax1;
                            objExistInvoice.Tax2 = invoice.Tax2;

                            objData.SubmitChanges();
                            #endregion
                        }
                        else
                        {
                            ///Specifies that Current Invoice with PO
                            foreach (EntityPurchaseInvoiceDetails item in lst)
                            {

                            }
                        }
                    }
                    else if (objExistInvoice.PONo > 0)
                    {
                        List<tblPurchaseInvoiceDetail> lstExistedItems = (from tbl in objData.tblPurchaseInvoiceDetails
                                                                          where tbl.PINo == invoice.PINo
                                                                          && tbl.IsDelete == false
                                                                          select tbl).ToList();
                        if (lstExistedItems.Count > lst.Count)
                        {
                            foreach (tblPurchaseInvoiceDetail item in lstExistedItems)
                            {
                                int cnt = (from tbl in lst
                                           where tbl.ProductCode == item.ProductCode
                                           && tbl.PurchaseInvoiceNo == item.PINo
                                           select tbl).Count();
                                if (cnt == 0)
                                {
                                    item.IsDelete = true;
                                }
                                tblPurchaseOrderDetail objOrder = (from tbl in objData.tblPurchaseOrderDetails
                                                                   join tblPurchaseInv in objData.tblPurchaseInvoices
                                                                   on tbl.PO_Id equals tblPurchaseInv.PONo
                                                                   where tblPurchaseInv.PINo == item.PINo
                                                                   && tbl.IsDelete == false
                                                                   && tbl.Product_Id == item.ProductCode
                                                                   select tbl).FirstOrDefault();
                                if (objOrder != null)
                                {
                                    objOrder.InvoiceQuantity = 0;
                                }
                            }
                            objData.SubmitChanges();
                        }
                        if (invoice.PONo > 0)
                        {
                            #region Update Invoice Details
                            foreach (EntityPurchaseInvoiceDetails item in lst)
                            {

                                tblPurchaseInvoiceDetail invoiceItem = (from tbl in objData.tblPurchaseInvoiceDetails
                                                                        where tbl.PINo == invoice.PINo
                                                                        && tbl.IsDelete == false
                                                                        && tbl.ProductCode == item.ProductCode
                                                                        select tbl).FirstOrDefault();
                                if (invoiceItem != null)
                                {
                                    invoiceItem.Amount = item.Amount;
                                    invoiceItem.BatchNo = item.BatchNo;
                                    invoiceItem.ExpiryDate = item.ExpiryDate;
                                    invoiceItem.InvoicePrice = item.InvoicePrice;
                                    invoiceItem.InvoiceQty = item.InvoiceQty;
                                    invoiceItem.PINo = item.PurchaseInvoiceNo;
                                }
                                else
                                {
                                    invoiceItem = new tblPurchaseInvoiceDetail()
                                    {
                                        PINo = invoice.PINo,
                                        ProductCode = item.ProductCode,
                                        InvoiceQty = item.InvoiceQty,
                                        InvoicePrice = item.InvoicePrice,
                                        Amount = item.Amount,
                                        BatchNo = item.BatchNo,
                                        ExpiryDate = item.ExpiryDate,
                                        IsDelete = false
                                    };
                                    objData.tblPurchaseInvoiceDetails.InsertOnSubmit(invoiceItem);
                                }
                                tblPurchaseOrderDetail orderItem = (from tbl in objData.tblPurchaseOrderDetails
                                                                    where tbl.IsDelete == false
                                                                    && tbl.PO_Id == invoice.PONo
                                                                    && tbl.Product_Id == item.ProductCode
                                                                    select tbl).FirstOrDefault();
                                if (orderItem != null)
                                {
                                    if (orderItem.Quantity == item.InvoiceQty)
                                    {
                                        flagISPOComplete = true;
                                    }
                                    else
                                    {
                                        flagISPOComplete = false;
                                    }
                                    orderItem.InvoiceQuantity = item.InvoiceQty;
                                }

                                tblStockDetail stockItem = (from tbl in objData.tblStockDetails
                                                            where tbl.IsDelete == false
                                                            && tbl.TransactionType.Equals("PInvoice")
                                                            && Convert.ToInt32(tbl.DocumentNo) == invoice.PINo
                                                            && tbl.ProductId == Convert.ToInt32(item.ProductCode)
                                                            select tbl).FirstOrDefault();
                                if (stockItem != null)
                                {
                                    stockItem.ProductId = Convert.ToInt32(item.ProductCode);
                                    stockItem.InwardQty = item.InvoiceQty;
                                    stockItem.InwardPrice = item.InvoicePrice;
                                    stockItem.BatchNo = item.BatchNo;
                                    stockItem.ExpiryDate = item.ExpiryDate;
                                    stockItem.InwardAmount = item.Amount;
                                }
                                else
                                {
                                    stockItem = new tblStockDetail()
                                    {
                                        BatchNo = item.BatchNo,
                                        ExpiryDate = item.ExpiryDate,
                                        InwardPrice = item.InvoicePrice,
                                        InwardQty = item.InvoiceQty,
                                        DocumentNo = invoice.PINo,
                                        IsDelete = false,
                                        ProductId = Convert.ToInt32(item.ProductCode),
                                        TransactionType = "PInvoice",
                                        InwardAmount = item.Amount
                                    };
                                }
                            }
                            #endregion

                            #region Update Status of PO and Transaction Update
                            tblCustomerTransaction transact = (from tbl in objData.tblCustomerTransactions
                                                               where tbl.SupplierId == invoice.SupplierId
                                                               && tbl.IsDelete == false
                                                               && tbl.TransactionDocNo == invoice.PINo
                                                               && tbl.TransactionType.Equals("PInvoice")
                                                               select tbl).FirstOrDefault();
                            if (transact != null)
                            {
                                transact.BillAmount = invoice.Amount;
                            }

                            tblPurchaseOrder orderMain = (from tbl in objData.tblPurchaseOrders
                                                          where tbl.IsDelete == false
                                                          && tbl.PO_Id == invoice.PONo
                                                          select tbl).FirstOrDefault();
                            if (orderMain != null)
                            {
                                if (GetPOProduct(Convert.ToInt32(invoice.PONo)).Count == lst.Count)
                                {
                                    flagISPOComplete = true;
                                }
                                else
                                {
                                    flagISPOComplete = false;
                                }
                                orderMain.IsPOComplete = flagISPOComplete;
                            }

                            objExistInvoice.Amount = invoice.Amount;
                            objExistInvoice.Discount = invoice.Discount;
                            objExistInvoice.PIDate = invoice.PIDate;
                            objExistInvoice.Tax1 = invoice.Tax1;
                            objExistInvoice.Tax2 = invoice.Tax2;

                            objData.SubmitChanges();
                            #endregion
                        }
                        else
                        {
                            ///Specifies that Existing Invoice With PO and Current Not With PO

                            #region Update Invoice Details
                            foreach (EntityPurchaseInvoiceDetails item in lst)
                            {
                                tblPurchaseInvoiceDetail invoiceItem = (from tbl in objData.tblPurchaseInvoiceDetails
                                                                        where tbl.PINo == invoice.PINo
                                                                        && tbl.IsDelete == false
                                                                        && tbl.ProductCode == item.ProductCode
                                                                        select tbl).FirstOrDefault();
                                if (invoiceItem != null)
                                {
                                    invoiceItem.Amount = item.Amount;
                                    invoiceItem.BatchNo = item.BatchNo;
                                    invoiceItem.ExpiryDate = item.ExpiryDate;
                                    invoiceItem.InvoicePrice = item.InvoicePrice;
                                    invoiceItem.InvoiceQty = item.InvoiceQty;
                                    invoiceItem.PINo = item.PurchaseInvoiceNo;
                                }
                                else
                                {
                                    invoiceItem = new tblPurchaseInvoiceDetail()
                                    {
                                        PINo = invoice.PINo,
                                        ProductCode = item.ProductCode,
                                        InvoiceQty = item.InvoiceQty,
                                        InvoicePrice = item.InvoicePrice,
                                        Amount = item.Amount,
                                        BatchNo = item.BatchNo,
                                        ExpiryDate = item.ExpiryDate,
                                        IsDelete = false
                                    };
                                    objData.tblPurchaseInvoiceDetails.InsertOnSubmit(invoiceItem);
                                }
                                tblPurchaseOrderDetail orderItem = (from tbl in objData.tblPurchaseOrderDetails
                                                                    where tbl.IsDelete == false
                                                                    && tbl.PO_Id == objExistInvoice.PONo
                                                                    && tbl.Product_Id == item.ProductCode
                                                                    select tbl).FirstOrDefault();
                                if (orderItem != null)
                                {
                                    orderItem.InvoiceQuantity = 0;
                                }

                                tblStockDetail stockItem = (from tbl in objData.tblStockDetails
                                                            where tbl.IsDelete == false
                                                            && tbl.TransactionType.Equals("PInvoice")
                                                            && Convert.ToInt32(tbl.DocumentNo) == invoice.PINo
                                                            && tbl.ProductId == Convert.ToInt32(item.ProductCode)
                                                            select tbl).FirstOrDefault();
                                if (stockItem != null)
                                {
                                    stockItem.ProductId = Convert.ToInt32(item.ProductCode);
                                    stockItem.InwardQty = item.InvoiceQty;
                                    stockItem.InwardPrice = item.InvoicePrice;
                                    stockItem.BatchNo = item.BatchNo;
                                    stockItem.ExpiryDate = item.ExpiryDate;
                                    stockItem.InwardAmount = item.Amount;
                                }
                                else
                                {
                                    stockItem = new tblStockDetail()
                                    {
                                        BatchNo = item.BatchNo,
                                        ExpiryDate = item.ExpiryDate,
                                        InwardPrice = item.InvoicePrice,
                                        InwardQty = item.InvoiceQty,
                                        DocumentNo = invoice.PINo,
                                        IsDelete = false,
                                        ProductId = Convert.ToInt32(item.ProductCode),
                                        TransactionType = "PInvoice",
                                        InwardAmount = item.Amount
                                    };
                                }
                            }
                            #endregion

                            #region Update Status of PO and Transaction Update
                            tblCustomerTransaction transact = (from tbl in objData.tblCustomerTransactions
                                                               where tbl.SupplierId == invoice.SupplierId
                                                               && tbl.IsDelete == false
                                                               && tbl.TransactionDocNo == invoice.PINo
                                                               && tbl.TransactionType.Equals("PInvoice")
                                                               select tbl).FirstOrDefault();
                            if (transact != null)
                            {
                                transact.BillAmount = invoice.Amount;
                            }

                            tblPurchaseOrder orderMain = (from tbl in objData.tblPurchaseOrders
                                                          where tbl.IsDelete == false
                                                          && tbl.PO_Id == objExistInvoice.PONo
                                                          select tbl).FirstOrDefault();
                            if (orderMain != null)
                            {
                                orderMain.IsPOComplete = false;
                            }

                            objExistInvoice.Amount = invoice.Amount;
                            objExistInvoice.Discount = invoice.Discount;
                            objExistInvoice.PIDate = invoice.PIDate;
                            objExistInvoice.Tax1 = invoice.Tax1;
                            objExistInvoice.Tax2 = invoice.Tax2;
                            objExistInvoice.PONo = invoice.PONo;
                            objData.SubmitChanges();
                            #endregion
                        }
                    }
                }
                i++;
            }
            catch (Exception ex)
            {
                i = 0;
                throw ex;
            }
            return i;
        }
示例#8
0
        public int InsertPurchaseInvoice(EntityPurchaseInvoice entPurchaseInvoice, List<EntityPurchaseInvoiceDetails> lstInvoice)
        {
            try
            {
                int? id = 0;
                bool flagISPOComplete = false;
                objData.STP_Insert_PurchaseInvoice(Convert.ToDateTime(entPurchaseInvoice.PIDate), Convert.ToInt32(entPurchaseInvoice.PONo), Convert.ToInt32(entPurchaseInvoice.SupplierId), false, Convert.ToDecimal(entPurchaseInvoice.Amount), Convert.ToInt32(entPurchaseInvoice.Tax1), Convert.ToInt32(entPurchaseInvoice.Tax2), Convert.ToInt32(entPurchaseInvoice.Discount), ref id);
                foreach (EntityPurchaseInvoiceDetails item in lstInvoice)
                {
                    tblPurchaseInvoiceDetail obj = new tblPurchaseInvoiceDetail()
                    {
                        PINo = id,
                        ProductCode = item.ProductCode,
                        InvoiceQty = item.InvoiceQty,
                        InvoicePrice = item.InvoicePrice,
                        Amount = item.Amount,
                        BatchNo = item.BatchNo,
                        ExpiryDate = item.ExpiryDate,
                        IsDelete = false
                    };
                    tblPurchaseOrderDetail orderItem = (from tbl in objData.tblPurchaseOrderDetails
                                                        where tbl.IsDelete == false
                                                        && tbl.PO_Id == entPurchaseInvoice.PONo
                                                        && tbl.Product_Id == item.ProductCode
                                                        select tbl).FirstOrDefault();
                    if (orderItem != null)
                    {
                        if (orderItem.Quantity == item.InvoiceQty)
                        {
                            flagISPOComplete = true;
                        }
                        else
                        {
                            flagISPOComplete = false;
                        }
                        orderItem.InvoiceQuantity = item.InvoiceQty;
                    }
                    tblStockDetail objStock = new tblStockDetail()
                    {
                        BatchNo = item.BatchNo,
                        ExpiryDate = item.ExpiryDate,
                        InwardPrice = item.InvoicePrice,
                        InwardQty = item.InvoiceQty,
                        DocumentNo = id,
                        IsDelete = false,
                        ProductId = Convert.ToInt32(item.ProductCode),
                        TransactionType = "PInvoice",
                        InwardAmount = item.Amount
                    };
                    objData.tblStockDetails.InsertOnSubmit(objStock);
                    objData.tblPurchaseInvoiceDetails.InsertOnSubmit(obj);
                }
                int TId = new PatientInvoiceBLL().GetTransactionId();
                tblPurchaseOrder po = (from tbl in objData.tblPurchaseOrders
                                       where tbl.IsDelete == false
                                       && tbl.PO_Id == entPurchaseInvoice.PONo
                                       select tbl).FirstOrDefault();

                if (po != null)
                {
                    List<EntityProduct> lstProducts = GetPOProduct(Convert.ToInt32(entPurchaseInvoice.PONo));
                    if (lstProducts.Count == lstInvoice.Count)
                    {
                        flagISPOComplete = true;
                    }
                    else
                    {
                        flagISPOComplete = false;
                    }
                    po.IsPOComplete = flagISPOComplete;
                }
                tblCustomerTransaction objCust = new tblCustomerTransaction()
                {
                    BillAmount = entPurchaseInvoice.Amount,
                    IsCash = false,
                    IsDelete = false,
                    SupplierId = entPurchaseInvoice.SupplierId,
                    ReceiptDate = entPurchaseInvoice.PIDate,
                    TransactionDocNo = id,
                    TransactionId = TId,
                    TransactionType = "PInvoice"
                };
                objData.tblCustomerTransactions.InsertOnSubmit(objCust);
                objData.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return 1;
        }
示例#9
0
        public int UpdatePurchaseOrderDetails(List <EntityPurchaseOrderDetails> lstEdited, List <EntityPurchaseOrderDetails> lstUpdate)
        {
            try
            {
                tblPurchaseOrder objTest = (from tbl in objData.tblPurchaseOrders
                                            where tbl.IsDelete == false &&
                                            tbl.PO_Id == lstEdited[0].PO_Id
                                            select tbl).FirstOrDefault();

                List <EntityPurchaseOrderDetails> lstTemp = new List <EntityPurchaseOrderDetails>();

                if (objTest != null)
                {
                    objTest.PO_Amount = lstEdited[0].Total;
                }
                foreach (EntityPurchaseOrderDetails item in lstEdited)
                {
                    int cnt = (from tbl in objData.tblPurchaseOrderDetails
                               where tbl.PO_Id == item.PO_Id &&
                               tbl.IsDelete == false
                               select tbl).ToList().Count;
                    if (cnt == 0)
                    {
                        tblPurchaseOrderDetail objNewAdded = new tblPurchaseOrderDetail()
                        {
                            PO_Id      = lstEdited[0].PO_Id,
                            Product_Id = item.Product_Id,
                            Quantity   = item.Quantity,
                            Rate       = item.Rate,
                            Total      = item.Rate * item.Quantity,
                            IsDelete   = false
                        };
                        objData.tblPurchaseOrderDetails.InsertOnSubmit(objNewAdded);
                        objData.SubmitChanges();
                    }
                    else
                    {
                        lstTemp.Add(item);
                    }
                }


                foreach (EntityPurchaseOrderDetails item in lstUpdate)
                {
                    tblPurchaseOrderDetail cnt = (from tbl in objData.tblPurchaseOrderDetails
                                                  where tbl.PO_Id == item.PO_Id &&
                                                  tbl.Product_Id == item.Product_Id
                                                  select tbl).FirstOrDefault();

                    if (cnt != null)
                    {
                        int checkExist = (from tbl in lstTemp
                                          where tbl.Product_Id == item.Product_Id
                                          select tbl).ToList().Count;
                        if (checkExist == 0)
                        {
                            cnt.IsDelete = true;
                        }
                    }
                }
                objData.SubmitChanges();
                return(1);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }