Exemplo n.º 1
0
        public bool UpdateQuotation(GoodsReturn Goodsreturn, IList <GoodsReturnitems> GoodsreturnItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                goodsreturncontext.Entry(Goodsreturn).State = EntityState.Modified;
                goodsreturncontext.SaveChanges();

                foreach (var model in GoodsreturnItemList)
                {
                    if (model.IsDummy == 1)
                    {
                        goodsreturncontext.Entry(model).State = EntityState.Deleted;
                        goodsreturncontext.SaveChanges();
                    }
                    else
                    {
                        if (model.Goods_Return_Id == 0)
                        {
                            model.Goods_Return_Id = Goodsreturn.Goods_Return_Id;
                            goodsreturncontext.goodsreturnitem.Add(model);
                            goodsreturncontext.SaveChanges();
                        }
                        else
                        {
                            goodsreturncontext.Entry(model).State = EntityState.Modified;
                            goodsreturncontext.SaveChanges();
                        }
                    }
                }

                return(true);
            }
            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
        }
Exemplo n.º 2
0
        //public void CreateGoodsReturn(IList<DetailedBatchDTO> pLstObjDetailedBatches)
        //{
        //    foreach (var lObjDetailedBatch in pLstObjDetailedBatches)
        //    {
        //        CreateGoodsReturn(lObjDetailedBatch);
        //    }
        //}

        //public void CreateGoodsReturn(DetailedBatchDTO pObjDetailedBatch)
        //{
        //        //Valid availability
        //        if (pObjDetailedBatch.QuantityToPick > 0 && GetAvailableQuantity(pObjDetailedBatch) >= pObjDetailedBatch.QuantityToPick)
        //        {
        //            //Get item batches from lines
        //            foreach (var lObjLine in pObjDetailedBatch.Lines.Where(x => GetAvailableQuantity(pObjDetailedBatch, x) > 0))
        //            {
        //                if (pObjDetailedBatch.QuantityToPick > 0 && GetAvailableQuantity(pObjDetailedBatch) >= pObjDetailedBatch.QuantityToPick)
        //                {
        //                    //Get quantity to apply
        //                    int lIntQuantityToApply = pObjDetailedBatch.QuantityToPick > GetAvailableQuantity(pObjDetailedBatch, lObjLine) ? GetAvailableQuantity(pObjDetailedBatch, lObjLine) : pObjDetailedBatch.QuantityToPick;

        //                    //Create Goods Return
        //                    GoodsReturn lObjGoodsReturn = new GoodsReturn()
        //                    {
        //                        BatchId = pObjDetailedBatch.Id,
        //                        Quantity = lIntQuantityToApply,
        //                        //BatchNumber = lObjLine.BatchNumber,
        //                        //BatchDate = lObjLine.BatchDate,
        //                        //ItemId = lObjLine.ItemId,
        //                        Delivered = pObjDetailedBatch.Delivered,
        //                        Exported = false
        //                    };

        //                    //Add Goods Return
        //                    mObjGoodsReturnDAO.AddEntity(lObjGoodsReturn);

        //                    //Update quantities
        //                    pObjDetailedBatch.ReturnedQuantity += lIntQuantityToApply;
        //                    lObjLine.ReturnedQuantity += lIntQuantityToApply;
        //                    pObjDetailedBatch.QuantityToPick -= lIntQuantityToApply;

        //                    if (pObjDetailedBatch.Delivered)
        //                    {
        //                        pObjDetailedBatch.AvailableQuantityToReturnDelivery -= lIntQuantityToApply;
        //                        lObjLine.AvailableQuantityToReturnDelivery -= lIntQuantityToApply;
        //                    }
        //                    else
        //                    {
        //                        pObjDetailedBatch.AvailableQuantityToReturn -= lIntQuantityToApply;
        //                        lObjLine.AvailableQuantityToReturn -= lIntQuantityToApply;
        //                    }
        //                }
        //            }

        //            //Update Batch
        //            mObjBatchDAO.SaveOrUpdateEntity(mObjBatchDAO.GetEntity(pObjDetailedBatch.Id));
        //        }
        //    }

        public void CreateGoodsReturn(DetailedBatchDTO pObjDetailedBatch, int pIntQttyToReturn, int pIntDeliveredQtty)
        {
            //Valid availability
            if (pObjDetailedBatch.QuantityToPick > 0 && GetAvailableQuantity(pObjDetailedBatch, pIntQttyToReturn, pIntDeliveredQtty) >= pObjDetailedBatch.QuantityToPick)
            {
                //Get quantity to apply
                int lIntQuantityToApply = pObjDetailedBatch.QuantityToPick > GetAvailableQuantity(pObjDetailedBatch, pIntQttyToReturn, pIntDeliveredQtty) ? GetAvailableQuantity(pObjDetailedBatch, pIntQttyToReturn, pIntDeliveredQtty)
                            : pObjDetailedBatch.QuantityToPick;

                //Create Goods Return
                GoodsReturn lObjGoodsReturn = new GoodsReturn()
                {
                    BatchId      = pObjDetailedBatch.Id,
                    Quantity     = lIntQuantityToApply,
                    Weight       = pObjDetailedBatch.Weight,
                    Delivered    = pObjDetailedBatch.Delivered,
                    Exported     = false,
                    ReturnMotive = pObjDetailedBatch.ReturnMotive
                };

                //Add Goods Return
                mObjGoodsReturnDAO.AddEntity(lObjGoodsReturn);

                //Update quantities
                pObjDetailedBatch.ReturnedQuantity += lIntQuantityToApply;
                //lObjLine.ReturnedQuantity += lIntQuantityToApply;
                pObjDetailedBatch.QuantityToPick -= lIntQuantityToApply;

                if (pObjDetailedBatch.Delivered)
                {
                    pObjDetailedBatch.AvailableQuantityToReturnDelivery -= lIntQuantityToApply;
                    //lObjLine.AvailableQuantityToReturnDelivery -= lIntQuantityToApply;
                }
                else
                {
                    pObjDetailedBatch.AvailableQuantityToReturn -= lIntQuantityToApply;
                    //lObjLine.AvailableQuantityToReturn -= lIntQuantityToApply;
                }



                ////Update Batch
                mObjBatchDAO.SaveOrUpdateEntity(mObjBatchDAO.GetEntity(pObjDetailedBatch.Id));
            }
        }
Exemplo n.º 3
0
        public bool AddNewQuotation(GoodsReturn Goodsreturn, IList <GoodsReturnitems> GoodsreturnItemList, ref string ErrorMessage)
        {
            ErrorMessage = string.Empty;
            try
            {
                goodsreturncontext.goodsreturn.Add(Goodsreturn);
                goodsreturncontext.SaveChanges();

                int currentId = Goodsreturn.Goods_Return_Id;

                for (int i = 0; i < GoodsreturnItemList.Count; i++)
                {
                    GoodsreturnItemList[i].Goods_Return_Id = currentId;
                }

                goodsreturncontext.goodsreturnitem.AddRange(GoodsreturnItemList);

                goodsreturncontext.SaveChanges();

                return(true);
            }

            catch (DbEntityValidationException dbEx)
            {
                var errorList = new List <string>();

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorList.Add(String.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage));
                    }
                }
                return(false);
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ErrorMessage = ex.Message;
            //    return false;
            //}
        }
Exemplo n.º 4
0
        public ActionResult Index(string submitButton, GoodsReturnViewModels model, HttpPostedFileBase file = null)
        {
            try
            {
                if (submitButton == "Save")
                {
                    //model.goodreturn.Doc_Status = "Closed";
                    model.goodreturn.Created_Branc_Id = CurrentBranchId;//CurrentBranchId;
                    model.goodreturn.Created_Dte      = DateTime.Now;
                    model.goodreturn.BaseDocId        = model.goodreceipt.BaseDocId;
                    model.goodreturn.Created_User_Id  = CurrentUser.Id;//CurrentUser.Id;
                    model.goodreturn.Goods_Receipt_Id = model.goodreceipt.Goods_Receipt_Id;
                    model.goodreturn.Vendor           = model.goodreceipt.Vendor;
                    model.goodreturn.Doc_Status       = model.goodreceipt.Doc_Status;
                    model.goodreturn.Posting_Date     = model.goodreceipt.Posting_Date;
                    model.goodreturn.Due_Date         = model.goodreceipt.Due_Date;
                    model.goodreturn.Document_Date    = model.goodreceipt.Posting_Date;
                    model.goodreturn.Ship_To          = model.goodreceipt.Ship_To;
                    model.goodreturn.Freight          = model.goodreceipt.Freight;
                    model.goodreturn.Loading          = model.goodreceipt.Loading;
                    model.goodreturn.TotalBefDocDisc  = model.goodreceipt.TotalBefDocDisc;
                    model.goodreturn.DocDiscAmt       = model.goodreceipt.DocDiscAmt;
                    model.goodreturn.TaxAmt           = model.goodreceipt.TaxAmt;
                    model.goodreturn.TotalGRDocAmt    = model.goodreceipt.TotalGRDocAmt;
                    model.goodreturn.Reference_Number = model.goodreceipt.Reference_Number;
                    model.goodreturn.Doc_Status       = "Open";

                    var GoodsList = model.goodreturnitemlist.Where(x => x.IsDummy == 0);
                    model.goodreturnitemlist = GoodsList.ToList();

                    for (int i = 0; i < model.goodreturnitemlist.Count; i++)
                    {
                        model.goodreturnitemlist[i].BaseDocLink      = "Y";
                        model.goodreturnitemlist[i].Product_id       = model.goodreceiptitemlist[i].Product_id;
                        model.goodreturnitemlist[i].Quantity         = model.goodreceiptitemlist[i].Quantity;
                        model.goodreturnitemlist[i].Unit_price       = model.goodreceiptitemlist[i].Unit_price;
                        model.goodreturnitemlist[i].Discount_percent = model.goodreceiptitemlist[i].Discount_percent;
                        model.goodreturnitemlist[i].Vat_Code         = model.goodreceiptitemlist[i].Vat_Code;
                        model.goodreturnitemlist[i].Freight_Loading  = model.goodreceiptitemlist[i].Freight_Loading;
                        model.goodreturnitemlist[i].LineTotal        = model.goodreceiptitemlist[i].LineTotal;
                    }

                    if (goodsreturnrepository.AddNewQuotation(model.goodreturn, model.goodreturnitemlist, ref ErrorMessage))
                    {
                        model.goodreceipt = goodsreturnrepository.FindOneQuotationById1(model.goodreceipt.Goods_Receipt_Id);

                        model.goodreceiptitemlist = goodsreturnrepository.FindOneQuotationItemById1(model.goodreceipt.Goods_Receipt_Id);
                        for (int k = 0; k < model.goodreceiptitemlist.Count; k++)
                        {
                            if (model.goodreceiptitemlist[k].Product_id == model.goodreceiptitemlist[k].Product_id && model.goodreceiptitemlist[k].Return_Qty >= model.goodreceiptitemlist[k].Quantity)
                            {
                                model.goodreceipt.Doc_Status = "Closed";
                                //model1.PurchaseOrder.TargetDocId = Convert.ToString(model.PurchaseOrder.Purchase_Order_Id);
                                if (model.goodreceipt.TargetDocId == "")
                                {
                                    model.goodreceipt.TargetDocId = Convert.ToString(model.goodreceipt.Purchase_Order_Id);
                                }
                                else
                                {
                                    model.goodreceipt.TargetDocId = model.goodreceipt.TargetDocId + "," + Convert.ToString(model.goodreceipt.Purchase_Order_Id);
                                }

                                model.goodreceiptitemlist[k].BaseDocLink      = "N";
                                model.goodreceiptitemlist[k].Id               = model.goodreceiptitemlist[k].Id;
                                model.goodreceiptitemlist[k].Goods_Receipt_Id = model.goodreceiptitemlist[k].Goods_Receipt_Id;
                                //model1.PurchaseOrderItemsList[j].Quoted_date = model1.PurchaseOrderItemsList[j].Quoted_date;
                                model.goodreceiptitemlist[k].Return_Qty       = Convert.ToInt32(model.goodreceiptitemlist[k].Return_Qty);
                                model.goodreceiptitemlist[k].Product_id       = model.goodreceiptitemlist[k].Product_id;
                                model.goodreceiptitemlist[k].Unit_price       = model.goodreceiptitemlist[k].Unit_price;
                                model.goodreceiptitemlist[k].Discount_percent = model.goodreceiptitemlist[k].Discount_percent;
                                model.goodreceiptitemlist[k].Vat_Code         = model.goodreceiptitemlist[k].Vat_Code;
                            }
                            else if (model.goodreceiptitemlist[k].Product_id == model.goodreceiptitemlist[k].Product_id && model.goodreceiptitemlist[k].Return_Qty < model.goodreceiptitemlist[k].Quantity)
                            {
                                model.goodreceipt.Doc_Status  = "Open";
                                model.goodreceipt.TargetDocId = Convert.ToString(model.goodreceipt.Purchase_Order_Id);

                                model.goodreceiptitemlist[k].BaseDocLink      = "N";
                                model.goodreceiptitemlist[k].Id               = model.goodreceiptitemlist[k].Id;
                                model.goodreceiptitemlist[k].Goods_Receipt_Id = model.goodreceiptitemlist[k].Goods_Receipt_Id;
                                //model1.PurchaseOrderItemsList[j].Quoted_date = model1.PurchaseOrderItemsList[j].Quoted_date;
                                model.goodreceiptitemlist[k].Return_Qty       = Convert.ToInt32(model.goodreceiptitemlist[k].Return_Qty);
                                model.goodreceiptitemlist[k].Product_id       = model.goodreceiptitemlist[k].Product_id;
                                model.goodreceiptitemlist[k].Unit_price       = model.goodreceiptitemlist[k].Unit_price;
                                model.goodreceiptitemlist[k].Discount_percent = model.goodreceiptitemlist[k].Discount_percent;
                                model.goodreceiptitemlist[k].Vat_Code         = model.goodreceiptitemlist[k].Vat_Code;
                            }
                        }

                        //model1.PurchaseOrder.Creating_Branch = 1;
                        model.goodreceipt.Created_Branc_Id   = CurrentBranchId; //currentUser.Created_Branch_Id;
                        model.goodreceipt.Created_Dte        = DateTime.Now;
                        model.goodreceipt.Created_User_Id    = CurrentUser.Id;  //currentUser.Created_User_Id;  //GetUserId()
                        model.goodreceipt.Modified_User_Id   = CurrentUser.Id;  //currentUser.Modified_User_Id;
                        model.goodreceipt.Modified_Dte       = DateTime.Now;
                        model.goodreceipt.Modified_Branch_Id = CurrentBranchId; //currentUser.Modified_Branch_Id;



                        goodsreturnrepository.UpdateQuotationreceipt(model.goodreceipt, model.goodreceiptitemlist, ref ErrorMessage);
                        return(RedirectToAction("Index", "GoodsReturn"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = ErrorMessage;
                        return(View("Error"));
                    }
                }
                else if (submitButton == "Update")
                {
                    //model.goodreturn.Document_Date = DateTime.Now;
                    //  model.goodreturn.Document_Date = model.goodreturn.Posting_Date;
                    model.goodreturn.Modified_Branch_Id = CurrentBranchId; //CurrentBranchId;
                    model.goodreturn.Modified_Dte       = DateTime.Now;
                    model.goodreturn.Modified_User_Id   = CurrentUser.Id;  //CurrentUser.Id;


                    for (int i = 0; i < model.goodreturnitemlist.Count; i++)
                    {
                        //model.goodreturnitemlist[i].Goods_Return_Id = model.goodreturn.Goods_Return_Id;
                        model.goodreturnitemlist[i].BaseDocLink = "N";
                    }
                    if (goodsreturnrepository.UpdateQuotation(model.goodreturn, model.goodreturnitemlist, ref ErrorMessage))
                    {
                        return(RedirectToAction("Index", "GoodsReturn"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = ErrorMessage;
                        return(View("Error"));
                    }
                }

                return(RedirectToAction("Index", "GoodsReturn"));
            }
            catch (OptimisticConcurrencyException ex)
            {
                ObjectStateEntry entry = ex.StateEntries[0];
                GoodsReturn      post  = entry.Entity as GoodsReturn; //Post is the entity name he is using. Rename it with yours
                Console.WriteLine("Failed to save {0} because it was changed in the database", post.Goods_Return_Id);
                return(View("Error"));
            }
            //catch (Exception ex)
            //{
            //    ExceptionHandler.LogException(ex);
            //    ViewBag.AppErrorMessage = ex.Message;
            //    return View("Error");
            //}
        }
Exemplo n.º 5
0
 public void SaveOrUpdate(GoodsReturn pObjGoodsReturn)
 {
     mObjGoodsReturnDAO.SaveOrUpdateEntity(pObjGoodsReturn);
 }