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); } }
//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)); } }
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; //} }
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"); //} }
public void SaveOrUpdate(GoodsReturn pObjGoodsReturn) { mObjGoodsReturnDAO.SaveOrUpdateEntity(pObjGoodsReturn); }