public ActionResult ConfirmRecordStatus(string note, long RequestID) { try { if (RequestID > 0) { INV_TransRequest ob = repository.InvTransRequestRepository.GetByID(Convert.ToInt64(RequestID)); if (ob.RecordStatus == "CHK") { ob.ApproveComments = note; ob.RecordStatus = "CNF"; ob.ApprovedBy = Convert.ToInt32(Session["UserID"]); ob.ApproveDate = DateTime.Now; repository.InvTransRequestRepository.Update(ob); int flag = repository.Save(); if (flag == 1) { _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Approved Successfully."; } else { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Approved Faild."; } } else { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Only Confirmed Record Should be Approved."; } } else { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Data Save First Before Checked."; } } catch (DbEntityValidationException e) { // throw new Exception e; } return(Json(new { msg = _vmMsg })); }
public ActionResult LoanReturnRequestStatusUpdate(string type, long requestID, string note) { if (type.Equals("Checker")) { INV_TransRequest item = repository.InvTransRequestRepository.GetByID(requestID); item.CheckedBy = Convert.ToInt32(Session["UserID"]); item.CheckComments = note; item.CheckDate = DateTime.Now; item.RecordStatus = "CHK"; repository.InvTransRequestRepository.Update(item); repository.Save(); _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Checked Successfully."; } else if (type.Equals("Recommend")) { INV_TransRequest item = repository.InvTransRequestRepository.GetByID(requestID); item.RecommendBy = Convert.ToInt32(Session["UserID"]); item.RecommendComments = note; item.RecommendDate = DateTime.Now; item.RecordStatus = "REC"; repository.InvTransRequestRepository.Update(item); repository.Save(); _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Recommended Successfully."; } else if (type.Equals("Approver")) { INV_TransRequest item = repository.InvTransRequestRepository.GetByID(requestID); item.RecommendBy = Convert.ToInt32(Session["UserID"]); item.RecommendComments = note; item.RecommendDate = DateTime.Now; item.RecordStatus = "CNF"; repository.InvTransRequestRepository.Update(item); repository.Save(); _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Recommended Successfully."; } else { } return(Json(new { msg = _vmMsg })); }
public ActionResult DeleteLoanRequest(long id) { INV_TransRequest isGradeExist = repository.InvTransRequestRepository.GetByID(id); if (isGradeExist != null) { try { var item = repository.InvTransRequestRefRepository.Get(filter: ob => ob.RequestID == id); if (item != null) { foreach (var i in item) { repository.InvTransRequestRefRepository.Delete(i.TransRequestRefID); repository.Save(); } } repository.InvTransRequestRepository.Delete(isGradeExist); repository.Save(); _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Data Deleted Successfully."; } catch (Exception ex) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Confirmation faild due to communication error."; } } else { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Please Delete Chemical Info First."; } return(Json(_vmMsg, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(LoanReturnIssue dataSet) { decimal RemainingQty = 0; decimal ReturnQuantity = 0; decimal TotalReturnQty = 0; try { if (dataSet.RequestID == 0) { INV_TransRequest ob = new INV_TransRequest(); if (dataSet.RequestType == "RLRR") { ob.RequestNo = DalCommon.GetPreDefineNextCodeByUrl("LoanReturnRequest/LoanReturnIssue"); } ob.RequestDate = DalCommon.SetDate(dataSet.RequestDate); ob.RequestType = dataSet.RequestType; ob.Remarks = dataSet.Remarks; ob.RequestFrom = dataSet.RequestFrom.ToString(); ob.RequestTo = dataSet.RequestTo; ob.ToSource = dataSet.ToSource; ob.ExpectetReturnTime = Convert.ToByte(dataSet.ExpectetReturnTime); ob.RecordStatus = "NCF"; ob.SetOn = DateTime.Now; if (dataSet.ReturnMethod == "Exchange Other Item") { ob.ReturnMethod = "EOI"; } else if (dataSet.ReturnMethod == "Doller to Doller") { ob.ReturnMethod = "DTD"; } else if (dataSet.ReturnMethod == "Exchange Same Item") { ob.ReturnMethod = "ESI"; } else { ob.ReturnMethod = dataSet.ReturnMethod; } ob.SetBy = Convert.ToInt32(Session["UserID"]); ob.ModifiedBy = Convert.ToInt32(Session["UserID"]); ob.ModifiedOn = DateTime.Now; ob.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRepository.Insert(ob); INV_TransRequestRef obRef = new INV_TransRequestRef(); obRef.TransRequestRefNo = ob.RequestNo; obRef.RequestID = ob.RequestID; obRef.RefRequestID = Convert.ToInt64(dataSet.RefRequestID); obRef.Remark = dataSet.Remarks; obRef.SetOn = DateTime.Now; obRef.SetBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedOn = DateTime.Now; obRef.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRefRepository.Insert(obRef); if (dataSet.lstLoanReturnIssueItems != null) { foreach (var item in dataSet.lstLoanReturnIssueItems) { TotalReturnQty = (item.RemainingQty * item.ReturnRate); RemainingQty = item.RemainingQty == null ? 0 : Convert.ToDecimal(item.RemainingQty); ReturnQuantity = item.ReturnQuantity == null ? 0 : Convert.ToDecimal(item.ReturnQuantity); INV_TransRequestItem obReqItem = new INV_TransRequestItem(); obReqItem.RequestID = ob.RequestID; obReqItem.TransRequestRefID = obRef.TransRequestRefID; obReqItem.RefItemID = Convert.ToInt32(item.ItemID); if (item.ReturnMethodID == "ESI") { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } obReqItem.ReferenceQty = Convert.ToDecimal(item.ReferenceQty); obReqItem.ReferenceUnit = Convert.ToByte(item.ReferenceUnit); if (item.ReceiveCurrencyID != null) { obReqItem.ReferenceCurrency = Convert.ToByte(item.ReceiveCurrencyID); } obReqItem.ReferenceRate = Convert.ToDecimal(item.ReceiveRate); obReqItem.ReferenceValue = Convert.ToDecimal(item.ReceiveValue); obReqItem.ReturnMethod = item.ReturnMethodID == null ? "" : item.ReturnMethodID; if (item.ReturnUnitID != null) { obReqItem.ReturnUnit = Convert.ToByte(item.ReturnUnitID); } if (item.ReturnItemID != null) { obReqItem.ItemID = Convert.ToInt32(item.ReturnItemID); } if (item.ReturnCurrencyID != null) { obReqItem.ReturnCurrency = Convert.ToByte(item.ReturnCurrencyID); } if (item.ReturnExchangeRate != null) { obReqItem.ExchangeRate = Convert.ToDecimal(item.ReturnExchangeRate); } if (item.ReturnRate != null) { obReqItem.ReturnRate = Convert.ToDecimal(item.ReturnRate); } obReqItem.RefItemDueQty = 0; //Math.Round(item.RemainingQty - ((item.ReturnQuantity * item.RemainingQty) / (TotalReturnQty == 0 ? 1 : TotalReturnQty)),2); obReqItem.ReturnValue = Convert.ToDecimal(item.ReturnQuantity); //Math.Round(((item.ReturnQuantity * item.RemainingQty) / (TotalReturnQty == 0 ? 1 : TotalReturnQty)),2); obReqItem.SetBy = Convert.ToInt32(Session["UserID"]); obReqItem.SetOn = DateTime.Now; obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Insert(obReqItem); } } try { repository.Save(); _vmMsg.ReturnCode = ob.RequestNo; _vmMsg.ReturnId = ob.RequestID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Saved Successfully."; } catch (Exception ex) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; } } else { // Update INV_TransRequest ob = repository.InvTransRequestRepository.GetByID(dataSet.RequestID); ob.RequestDate = DalCommon.SetDate(dataSet.RequestDate); if (dataSet.ReturnMethod == "Exchange Other Item") { ob.ReturnMethod = "EOI"; } else if (dataSet.ReturnMethod == "Doller to Doller") { ob.ReturnMethod = "DTD"; } else if (dataSet.ReturnMethod == "Exchange Same Item") { ob.ReturnMethod = "ESI"; } else { ob.ReturnMethod = dataSet.ReturnMethod; } ob.RequestType = dataSet.RequestType; ob.RequestFrom = dataSet.RequestFrom.ToString(); ob.RequestTo = dataSet.RequestTo; ob.ToSource = dataSet.ToSource; ob.ExpectetReturnTime = Convert.ToByte(dataSet.ExpectetReturnTime); ob.Remarks = dataSet.Remarks; ob.ModifiedOn = DateTime.Now; ob.ModifiedBy = Convert.ToInt32(Session["UserID"]); ob.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRepository.Update(ob); INV_TransRequestRef obRef = repository.InvTransRequestRefRepository.Get(filter: o => o.RequestID == dataSet.RequestID).FirstOrDefault(); obRef.Remark = dataSet.Remarks; obRef.ModifiedBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedOn = DateTime.Now; obRef.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRefRepository.Update(obRef); if (dataSet.lstLoanReturnIssueItems != null) { foreach (var item in dataSet.lstLoanReturnIssueItems) { TotalReturnQty = (item.RemainingQty * item.ReturnRate); RemainingQty = item.RemainingQty == null ? 0 : Convert.ToDecimal(item.RemainingQty); ReturnQuantity = item.ReturnQuantity == null ? 0 : Convert.ToDecimal(item.ReturnQuantity); INV_TransRequestItem obReqItem = repository.InvTransRequestItemRepository.GetByID(item.TransRequestItemID); //obReqItem.TransRequestRefID = obRef.TransRequestRefID; obReqItem.RefItemID = Convert.ToInt32(item.ItemID); obReqItem.ReferenceQty = Convert.ToDecimal(item.ReferenceQty); obReqItem.ReferenceUnit = Convert.ToByte(item.ReferenceUnit); if (item.ReceiveCurrencyID != null) { obReqItem.ReferenceCurrency = Convert.ToByte(item.ReceiveCurrencyID); } if (item.ReturnMethodID == "ESI") { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } obReqItem.ReferenceRate = Convert.ToDecimal(item.ReceiveRate); obReqItem.ReferenceValue = Convert.ToDecimal(item.ReceiveValue); obReqItem.ReturnMethod = item.ReturnMethodID == null ? "" : item.ReturnMethodID; if (item.ReturnUnitID != null) { obReqItem.ReturnUnit = Convert.ToByte(item.ReturnUnitID); } if (item.ReturnItemID != null) { obReqItem.ItemID = Convert.ToInt32(item.ReturnItemID); } if (item.ReturnCurrencyID != null) { obReqItem.ReturnCurrency = Convert.ToByte(item.ReturnCurrencyID); } if (item.ReturnExchangeRate != null) { obReqItem.ExchangeRate = Convert.ToDecimal(item.ReturnExchangeRate); } if (item.ReturnRate != null) { obReqItem.ReturnRate = Convert.ToDecimal(item.ReturnRate); } obReqItem.RefItemDueQty = 0; //Math.Round((item.RemainingQty + (obReqItem.ReturnValue == null?0 : Convert.ToDecimal(obReqItem.ReturnValue))) - ((item.ReturnQuantity * item.RemainingQty) / (TotalReturnQty == 0 ? 1 : TotalReturnQty)), 2); obReqItem.ReturnValue = Convert.ToDecimal(item.ReturnQuantity); //Math.Round(((item.ReturnQuantity * item.RemainingQty) / (TotalReturnQty == 0 ? 1 : TotalReturnQty)), 2); obReqItem.SetBy = Convert.ToInt32(Session["UserID"]); obReqItem.SetOn = DateTime.Now; obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Update(obReqItem); } } try { repository.Save(); _vmMsg.ReturnCode = ob.RequestNo; _vmMsg.ReturnId = dataSet.RequestID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Updated Successfully."; } catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage)); } } _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; throw new DbEntityValidationException(sb.ToString(), e); } } } catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage)); } } _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; throw new DbEntityValidationException(sb.ToString(), e); } return(Json(new { msg = _vmMsg })); }
public ActionResult GetLoanReceiveRequestByID(long RequestID) { INV_TransRequest data = repository.InvTransRequestRepository.GetByID(RequestID); TransRequest ob = new TransRequest(); ob.RequestID = Convert.ToInt64(data.RequestID); ob.RequestNo = data.RequestNo; ob.RequestDate = Convert.ToDateTime(data.RequestDate).ToString("dd/MM/yyyy"); ob.RequestType = data.RequestType; ob.RequestFrom = data.RequestFrom; ob.RequestTo = data.RequestTo; if (ob.RequestType == "LNIR") { // ob.RequestFromName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestTo)).StoreName;// data.RequestFrom; ob.RequestToName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestTo)).StoreName; if (data.FromSource.Equals("SUP") || data.FromSource.Equals("LAG")) { ob.RequestFromName = repository.SysSupplierRepository.GetByID(Convert.ToInt32(data.RequestFrom)).SupplierName; } else if (data.FromSource == "STR") { ob.RequestFromName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestFrom)).StoreName;// data.RequestFrom; } else { ob.RequestFromName = ""; } ob.FromSource = data.FromSource; } else { ob.RequestFromName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestFrom)).StoreName;// data.RequestFrom; if (data.ToSource.Equals("SUP") || data.ToSource.Equals("LAG")) { ob.RequestToName = repository.SysSupplierRepository.GetByID(Convert.ToInt32(data.RequestTo)).SupplierName; } else if (data.ToSource.Equals("STR")) { ob.RequestToName = repository.StoreRepository.GetByID(Convert.ToInt32(data.RequestTo)).StoreName;// data.RequestFrom; } else { ob.RequestToName = ""; } } ob.ReturnMethod = data.ReturnMethod; ob.ExpectetReturnTime = Convert.ToByte(data.ExpectetReturnTime).ToString(); ob.CheckComments = data.CheckComments; ob.ApproveComments = data.ApproveComments; ob.RecordStatus = data.RecordStatus; ob.ToSource = data.ToSource; var reqItemData = repository.InvTransRequestItemRepository.Get(filter: o => o.RequestID == ob.RequestID); ob.ChemicalSelectedList = new List <TransRequestItem>(); foreach (var item in reqItemData) { TransRequestItem obItem = new TransRequestItem(); obItem.TransRequestItemID = item.TransRequestItemID; obItem.ItemID = Convert.ToInt32(item.ItemID); if (obItem.ItemID > 0) { obItem.ItemName = repository.SysChemicalItemRepository.GetByID(obItem.ItemID).ItemName; } if (Convert.ToInt32(item.PackSize) > 0) { obItem.PackSize = repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName; } obItem.SizeID = item.PackSize.ToString(); if (Convert.ToInt32(item.SizeUnit) > 0) { obItem.SizeUnit = repository.SysUnitRepository.GetByID(Convert.ToInt32(item.SizeUnit)).UnitName; } obItem.SizeUnitID = item.SizeUnit.ToString(); obItem.PackQty = Convert.ToInt32(item.PackQty); obItem.RefItemID = Convert.ToInt32(item.RefItemID); obItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); obItem.SupplierID = Convert.ToInt32(item.RefSupplierID); if (item.RefSupplierID != null) { obItem.RefSupplierName = repository.SysSupplierRepository.GetByID(Convert.ToInt32(item.RefSupplierID)).SupplierName; } obItem.ReturnMethod = item.ReturnMethod; obItem.ReferenceQty = item.TransQty == null ? 0 : (decimal)item.TransQty; decimal d = item.TransUnit == null ? 0 : Convert.ToInt32(item.TransUnit); if (d > 0) { obItem.ReferenceUnit = repository.SysUnitRepository.GetByID(d).UnitName; } else { obItem.ReferenceUnit = ""; } obItem.ReferenceUnitID = item.ReferenceUnit.ToString(); ob.ChemicalSelectedList.Add(obItem); } return(Json(ob, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(TransRequest dataSet) { try { //###################################### // Session["UserID"] = 1; if (dataSet.RequestID == 0) { INV_TransRequest ob = new INV_TransRequest(); if (dataSet.RequestType == "LNIR") { ob.RequestNo = DalCommon.GetPreDefineNextCodeByUrl("LoanRequest/LoanIssueRequest"); ob.FromSource = dataSet.ToSource; //ob.ToSource = "STR"; } else if (dataSet.RequestType == "LNRR") { ob.RequestNo = DalCommon.GetPreDefineNextCodeByUrl("LoanRequest/Index"); //ob.FromSource = "STR"; ob.ToSource = dataSet.ToSource; } else { } ob.RequestDate = DalCommon.SetDate(dataSet.RequestDate); ob.RequestType = dataSet.RequestType; ob.RequestFrom = dataSet.RequestFrom.ToString(); ob.RequestTo = dataSet.RequestTo.ToString(); ob.ReturnMethod = dataSet.ReturnMethod; ob.ExpectetReturnTime = Convert.ToByte(dataSet.ExpectetReturnTime); ob.RecordStatus = "NCF"; ob.SetOn = DateTime.Now; ob.SetBy = Convert.ToInt32(Session["UserID"]); ob.ModifiedBy = Convert.ToInt32(Session["UserID"]); ob.ModifiedOn = DateTime.Now; ob.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRepository.Insert(ob); INV_TransRequestRef obRef = new INV_TransRequestRef(); obRef.TransRequestRefNo = ob.RequestNo; obRef.RequestID = ob.RequestID; //obRef.RefRequestID = ob.RequestID; obRef.ReturnMethod = dataSet.ReturnMethod; obRef.SetOn = DateTime.Now; obRef.SetBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedOn = DateTime.Now; obRef.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRefRepository.Insert(obRef); if (dataSet.ChemicalSelectedList != null) { foreach (var item in dataSet.ChemicalSelectedList) { INV_TransRequestItem obReqItem = new INV_TransRequestItem(); obReqItem.RequestID = ob.RequestID; obReqItem.ReturnMethod = dataSet.ReturnMethod; obReqItem.TransRequestRefID = obRef.TransRequestRefID; if (item.ItemID > 0) { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } if (Convert.ToByte(item.PackSize) > 0) { obReqItem.PackSize = Convert.ToByte(item.PackSize); } obReqItem.PackQty = Convert.ToInt32(item.PackQty); if (Convert.ToByte(item.SizeUnit) > 0) { obReqItem.SizeUnit = Convert.ToByte(item.SizeUnit); } if (obReqItem.PackQty != null && item.PackSize != null) { obReqItem.TransQty = obReqItem.PackQty * ((Convert.ToByte(repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName))); } if (Convert.ToByte(item.ReferenceUnit) > 0) { obReqItem.TransUnit = Convert.ToByte(item.ReferenceUnit); } if (item.RefSupplierID > 0) { obReqItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); } obReqItem.SetBy = Convert.ToInt32(Session["UserID"]); obReqItem.SetOn = DateTime.Now; obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Insert(obReqItem); } } try { repository.Save(); _vmMsg.ReturnCode = ob.RequestNo; _vmMsg.ReturnId = repository.InvTransRequestRepository.Get().Last().RequestID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Saved Successfully."; } catch (Exception ex) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; } } else // Update { INV_TransRequest ob = repository.InvTransRequestRepository.GetByID(dataSet.RequestID); ob.RequestDate = DalCommon.SetDate(dataSet.RequestDate); ob.RequestFrom = dataSet.RequestFrom.ToString(); ob.RequestTo = dataSet.RequestTo.ToString(); ob.ReturnMethod = dataSet.ReturnMethod; ob.ExpectetReturnTime = Convert.ToByte(dataSet.ExpectetReturnTime); ob.ModifiedOn = DateTime.Now; ob.ModifiedBy = Convert.ToInt32(Session["UserID"]); ob.FromSource = "STR"; if (ob.RequestType == "LNIR") { ob.FromSource = dataSet.ToSource; } else if (ob.RequestType == "LNRR") { ob.ToSource = dataSet.ToSource; } else { } //ob.ToSource = dataSet.ToSource; ob.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRepository.Update(ob); INV_TransRequestRef obRef = repository.InvTransRequestRefRepository.Get(filter: o => o.RequestID == dataSet.RequestID).FirstOrDefault(); obRef.ReturnMethod = dataSet.ReturnMethod; obRef.ModifiedBy = Convert.ToInt32(Session["UserID"]); obRef.ModifiedOn = DateTime.Now; obRef.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestRefRepository.Update(obRef); if (dataSet.ChemicalSelectedList != null) { foreach (var item in dataSet.ChemicalSelectedList) { if (item.TransRequestItemID == 0) { INV_TransRequestItem obReqItem = new INV_TransRequestItem(); obReqItem.RequestID = ob.RequestID; obReqItem.TransRequestRefID = obRef.TransRequestRefID; obReqItem.ReturnMethod = dataSet.ReturnMethod; if (Convert.ToInt32(item.ItemID) > 0) { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } if (Convert.ToByte(item.PackSize) > 0) { obReqItem.PackSize = Convert.ToByte(item.PackSize); } else { obReqItem.PackSize = 0; } obReqItem.PackQty = Convert.ToInt32(item.PackQty); if (Convert.ToByte(item.SizeUnit) > 0) { obReqItem.SizeUnit = Convert.ToByte(item.SizeUnit); } if (obReqItem.PackQty > 0 && item.PackSize != null) { obReqItem.TransQty = obReqItem.PackQty * ((Convert.ToByte(repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName)));//Convert.ToDecimal(item.ReferenceQty); } else { obReqItem.TransQty = Convert.ToDecimal(item.ReferenceQty); } if (Convert.ToByte(item.ReferenceUnit) > 0) { obReqItem.TransUnit = Convert.ToByte(item.ReferenceUnit); } if (Convert.ToInt32(item.RefSupplierID) > 0) { obReqItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); } obReqItem.SetBy = Convert.ToInt32(Session["UserID"]); obReqItem.SetOn = DateTime.Now; obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Insert(obReqItem); } else { INV_TransRequestItem obReqItem = repository.InvTransRequestItemRepository.GetByID(item.TransRequestItemID); if (Convert.ToInt32(item.ItemID) > 0) { obReqItem.ItemID = Convert.ToInt32(item.ItemID); } if (Convert.ToByte(item.PackSize) > 0) { obReqItem.PackSize = Convert.ToByte(item.PackSize); } else { obReqItem.PackSize = 0; } obReqItem.PackQty = Convert.ToInt32(item.PackQty); obReqItem.ReturnMethod = dataSet.ReturnMethod; if (Convert.ToByte(item.SizeUnit) > 0) { obReqItem.SizeUnit = Convert.ToByte(item.SizeUnit); } if (obReqItem.PackQty > 0 && item.PackSize != null) { obReqItem.TransQty = obReqItem.PackQty * (Convert.ToByte(repository.SysSizeRepository.GetByID(Convert.ToInt32(item.PackSize)).SizeName)); //Convert.ToDecimal(item.ReferenceQty); } else { obReqItem.TransQty = Convert.ToDecimal(item.ReferenceQty); } if (Convert.ToByte(item.ReferenceUnit) > 0) { obReqItem.TransUnit = Convert.ToByte(item.ReferenceUnit); } if (Convert.ToInt32(item.RefSupplierID) > 0) { obReqItem.RefSupplierID = Convert.ToInt32(item.RefSupplierID); } obReqItem.ModifiedBy = Convert.ToInt32(Session["UserID"]); obReqItem.ModifiedOn = DateTime.Now; obReqItem.IPAddress = GetIPAddress.LocalIPAddress(); repository.InvTransRequestItemRepository.Update(obReqItem); } } } try { repository.Save(); _vmMsg.ReturnCode = ob.RequestNo; _vmMsg.ReturnId = dataSet.RequestID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Updated Successfully."; } catch (Exception x) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Saved Faild."; } } } catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { sb.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage)); } } throw new DbEntityValidationException(sb.ToString(), e); } return(Json(new { msg = _vmMsg })); }