public ActionResult Reviewed(int Id, string IndexType, string UserRemark, string IsContinue) { PackingHeader pd = new PackingHeaderService(_unitOfWork).Find(Id); if (ModelState.IsValid) { if (pd.Status != (int)StatusConstants.Approved) { pd.Status = (int)StatusConstants.Approved; } pd.ReviewCount = (pd.ReviewCount ?? 0) + 1; pd.ReviewBy += User.Identity.Name + ", "; _PackingHeaderService.Update(pd); _unitOfWork.Save(); LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pd.DocTypeId, DocId = pd.PackingHeaderId, ActivityType = (int)ActivityTypeContants.Reviewed, UserRemark = UserRemark, DocNo = pd.DocNo, DocDate = pd.DocDate, DocStatus = pd.Status, })); return(RedirectToAction("Index", new { IndexType = IndexType }).Success("Record reviewed successfully.")); } return(RedirectToAction("Index", new { IndexType = IndexType }).Warning("Error in reviewing.")); }
// GET: /PurchaseOrderHeader/Delete/5 private ActionResult Remove(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PackingHeader PackingHeader = new PackingHeaderService(_unitOfWork).Find(id); if (PackingHeader == null) { return(HttpNotFound()); } #region DocTypeTimeLineValidation bool TimePlanValidation = true; string ExceptionMsg = ""; try { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(PackingHeader), DocumentTimePlanTypeConstants.Delete, User.Identity.Name, out ExceptionMsg, out Continue); TempData["CSEXC"] += ExceptionMsg; } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } if (!TimePlanValidation && !Continue) { return(PartialView("AjaxError")); } #endregion ReasonViewModel vm = new ReasonViewModel() { id = id, }; return(PartialView("_Reason", vm)); }
public ActionResult Submitted(int Id, string IndexType, string UserRemark, string IsContinue) { PackingHeader pd = new PackingHeaderService(_unitOfWork).Find(Id); if (ModelState.IsValid) { if (User.Identity.Name == pd.ModifiedBy || UserRoles.Contains("Admin")) { #region Negatvie Sale Order Packing Validation Decimal PendingOrderQtyForPacking = 0; IEnumerable <PackingLineViewModel> PackingLine = new PackingLineService(_unitOfWork).GetPackingLineViewModelForHeaderId(Id); string ValidationMsg = ""; foreach (PackingLineViewModel Line in PackingLine) { PendingOrderQtyForPacking = new PackingLineService(_unitOfWork).FGetPendingOrderQtyForPacking((int)Line.SaleOrderLineId, 0); if (PendingOrderQtyForPacking < 0) { ValidationMsg = "Balance Qty For Product : " + Line.ProductName + " And Sale Order : " + Line.SaleOrderNo + " is going negative. Can't Submit Record."; return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Warning(ValidationMsg)); } if (new PackingLineService(_unitOfWork).FSaleOrderProductMatchWithPacking((int)Line.SaleOrderLineId, Line.ProductId) == false) { ValidationMsg = "Product : " + Line.ProductName + " does not exist in Sale Order : " + Line.SaleOrderNo + " . Can't Submit Record."; return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Warning(ValidationMsg)); } } #endregion pd.Status = (int)StatusConstants.Submitted; pd.ReviewBy = null; _PackingHeaderService.Update(pd); _unitOfWork.Save(); string ConnectionString = (string)System.Web.HttpContext.Current.Session["DefaultConnectionString"]; DataSet ds = new DataSet(); using (SqlConnection sqlConnection = new SqlConnection(ConnectionString)) { sqlConnection.Open(); using (SqlCommand cmd = new SqlCommand("" + ConfigurationManager.AppSettings["DataBaseSchema"] + ".sp_UpdatePackingArea")) { cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = sqlConnection; cmd.Parameters.AddWithValue("@PackingHeaderId", pd.PackingHeaderId); cmd.Parameters.AddWithValue("@DealUnitId", pd.DealUnitId); cmd.CommandTimeout = 1000; cmd.ExecuteNonQuery(); cmd.Connection.Close(); } } //SendEmail_PODrafted(Id); LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pd.DocTypeId, DocId = pd.PackingHeaderId, ActivityType = (int)ActivityTypeContants.Submitted, UserRemark = UserRemark, DocNo = pd.DocNo, DocDate = pd.DocDate, DocStatus = pd.Status, })); return(RedirectToAction("Index", new { IndexType = IndexType }).Success("Record submitted successfully.")); } else { return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Warning("Record can be submitted by user " + pd.ModifiedBy + " only.")); } } return(View()); }
public ActionResult Create(PackingHeaderViewModel svm) { string DataValidationMsg = DataValidation(svm); if (DataValidationMsg != "") { PrepareViewBag(svm); return(View(svm).Danger(DataValidationMsg)); } #region DocTypeTimeLineValidation try { if (svm.PackingHeaderId <= 0) { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), DocumentTimePlanTypeConstants.Create, User.Identity.Name, out ExceptionMsg, out Continue); } else { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), DocumentTimePlanTypeConstants.Modify, User.Identity.Name, out ExceptionMsg, out Continue); } } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } if (!TimePlanValidation) { TempData["CSEXC"] += ExceptionMsg; } #endregion if (ModelState.IsValid && (TimePlanValidation || Continue)) { #region CreateRecord if (svm.PackingHeaderId == 0) { PackingHeader packingheader = Mapper.Map <PackingHeaderViewModel, PackingHeader>(svm); packingheader.CreatedDate = DateTime.Now; packingheader.ModifiedDate = DateTime.Now; packingheader.CreatedBy = User.Identity.Name; packingheader.ModifiedBy = User.Identity.Name; packingheader.Status = (int)StatusConstants.Drafted; _PackingHeaderService.Create(packingheader); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; PrepareViewBag(svm); ViewBag.Mode = "Add"; return(View("Create", svm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = packingheader.DocTypeId, DocId = packingheader.PackingHeaderId, ActivityType = (int)ActivityTypeContants.Added, DocNo = packingheader.DocNo, DocDate = packingheader.DocDate, DocStatus = packingheader.Status, })); return(RedirectToAction("Modify", new { id = packingheader.PackingHeaderId }).Success("Data saved Successfully")); } #endregion #region EditRecord else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); PackingHeader packingheader = new PackingHeaderService(_unitOfWork).Find(svm.PackingHeaderId); PackingHeader ExRec = new PackingHeader(); ExRec = Mapper.Map <PackingHeader>(packingheader); StringBuilder logstring = new StringBuilder(); int status = packingheader.Status; if (packingheader.Status != (int)StatusConstants.Drafted) { packingheader.Status = (int)StatusConstants.Modified; } packingheader.DocNo = svm.DocNo; packingheader.DocDate = svm.DocDate; packingheader.BuyerId = svm.BuyerId; packingheader.GodownId = svm.GodownId; packingheader.DealUnitId = svm.DealUnitId; packingheader.Remark = svm.Remark; packingheader.JobWorkerId = svm.JobWorkerId; packingheader.BaleNoPattern = svm.BaleNoPattern; packingheader.ShipMethodId = svm.ShipMethodId; packingheader.ModifiedDate = DateTime.Now; packingheader.ModifiedBy = User.Identity.Name; _PackingHeaderService.Update(packingheader); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = packingheader, }); if (packingheader.StockHeaderId != null) { StockHeaderViewModel S = new StockHeaderViewModel(); S.StockHeaderId = (int)packingheader.StockHeaderId; S.DocTypeId = packingheader.DocTypeId; S.DocDate = packingheader.DocDate; S.DocNo = packingheader.DocNo; S.DivisionId = packingheader.DivisionId; S.SiteId = packingheader.SiteId; S.PersonId = packingheader.JobWorkerId; S.GodownId = packingheader.GodownId; S.Remark = packingheader.Remark; S.Status = packingheader.Status; S.ModifiedBy = packingheader.ModifiedBy; S.ModifiedDate = packingheader.ModifiedDate; new StockHeaderService(_unitOfWork).UpdateStockHeader(S); } XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; ViewBag.Mode = "Edit"; return(View("Create", svm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = packingheader.DocTypeId, DocId = packingheader.PackingHeaderId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = packingheader.DocNo, xEModifications = Modifications, DocDate = packingheader.DocDate, DocStatus = packingheader.Status, })); return(RedirectToAction("Index").Success("Data saved successfully")); } #endregion } PrepareViewBag(svm); ViewBag.Mode = "Add"; return(View("Create", svm)); }
public ActionResult PackingSegmentation(PackingSegmentationViewModel p) { int frombaleno = 0; int tobaleno = 0; string ValidationMsg = ""; PackingHeader frompackingheader = new PackingHeaderService(_unitOfWork).Find(p.FromPackingHeaderId); PackingHeader topackingheader = new PackingHeaderService(_unitOfWork).Find(p.ToPackingHeaderId); if (frompackingheader.BuyerId != topackingheader.BuyerId) { ViewBag.PackingNoList = _PackingHeaderService.GetPackingHeaderList(User.Identity.Name); return(View(p).Danger("Buyer mismatch found in selected packing nos.")); } var packinglinelist = (from L in db.PackingLine where L.PackingHeaderId == p.ToPackingHeaderId select new { L }).ToList(); var BaleNoCntInEntry = (from L in packinglinelist where L.L.PackingHeaderId == p.ToPackingHeaderId && (int.TryParse(L.L.BaleNo, out frombaleno) ? frombaleno : 0) >= p.FromBaleNo && (int.TryParse(L.L.BaleNo, out tobaleno) ? tobaleno : 0) <= p.ToBaleNo group new { L } by new { L.L.BaleNo } into Result where Result.Count() > 1 select new { BaleNo = Result.Key, Cnt = Result.Count() }).ToList(); if (BaleNoCntInEntry != null) { foreach (var item in BaleNoCntInEntry) { ValidationMsg = ValidationMsg + "Bale No " + item.BaleNo + "already exists in " + p.ToPackingNo; } if (ValidationMsg != "") { ViewBag.PackingNoList = _PackingHeaderService.GetPackingHeaderList(User.Identity.Name); return(View(p).Danger(ValidationMsg)); } } List <PackingLine> packingline = new PackingLineService(_unitOfWork).GetPackingLineForHeaderId(p.FromPackingHeaderId).ToList().Where(i => (int.TryParse(i.BaleNo, out frombaleno) ? frombaleno : 0) >= p.FromBaleNo && (int.TryParse(i.BaleNo, out tobaleno) ? tobaleno : 0) <= p.ToBaleNo).ToList(); foreach (PackingLine item in packingline) { //new PackingLineService(_unitOfWork).Delete(item); //new StockService(_unitOfWork).DeleteForDocLineId(item.PackingLineId); //item.PackingHeaderId = topackingheader.PackingHeaderId; //new PackingLineService(_unitOfWork).Create(item); //StockPost(topackingheader, item); item.PackingHeaderId = p.ToPackingHeaderId; new PackingLineService(_unitOfWork).Update(item); } if (ModelState.IsValid) { _unitOfWork.Save(); } return(RedirectToAction("Detail", new { id = p.ToPackingHeaderId, transactionType = "submit" })); }