public void Update(PdtPlnItem pdtPln) { var entity = Mapper.Map <TX39_PdtPln>(pdtPln); _unitOfWork.PdtPlnRepository.Update(entity); _unitOfWork.Commit(); }
public ResponseResult <GridResponse <PdtPlnItem> > SearchCriteriaSelected(string selectedValue, GridSettings gridSettings) { var result = new List <TX39_PdtPln>(); var lstPdtPln = _unitOfWork.PdtPlnRepository.GetAll(); string[] s = selectedValue.TrimEnd('#').Split('#'); for (int i = 0; i < s.Length; i++) { var date = ConvertHelper.ConvertToDateTimeFull(s[i].Split(',')[0]); var preProductCode = s[i].Split(',')[1]; result.Add(lstPdtPln.FirstOrDefault(c => c.F39_KndEptBgnDate == date && c.F39_PreProductCode.Trim() == preProductCode.Trim())); } var lstResult = new List <PdtPlnItem>(); foreach (var prtPln in result.ToList()) { var prdPlnItem = new PdtPlnItem(); var preProductItem = _unitOfWork.PreProductRepository.GetMany(i => i.F03_PreProductCode == prtPln.F39_PreProductCode).FirstOrDefault(); var kndCmdItem = _unitOfWork.KneadingCommandRepository.GetMany(i => i.F42_PreProductCode == prtPln.F39_PreProductCode && i.F42_KndEptBgnDate == prtPln.F39_KndEptBgnDate).FirstOrDefault(); prdPlnItem.F39_KndEptBgnDate = prtPln.F39_KndEptBgnDate; prdPlnItem.F39_PreProductCode = prtPln.F39_PreProductCode; prdPlnItem.F39_PrePdtLotAmt = prtPln.F39_PrePdtLotAmt; prdPlnItem.F39_Status = prtPln.F39_Status; prdPlnItem.F39_AddDate = prtPln.F39_AddDate; if (preProductItem != null) { prdPlnItem.Quantity = preProductItem.F03_BatchLot; prdPlnItem.F39_PreProductName = preProductItem.F03_PreProductName; prdPlnItem.YieldDrate = preProductItem.F03_YieldRate; prdPlnItem.MaterialAmount = preProductItem.F03_AllMtrAmtPerBth; } if (kndCmdItem != null) { prdPlnItem.CmdNo = kndCmdItem.F42_KndCmdNo; prdPlnItem.LotNo = kndCmdItem.F42_PrePdtLotNo; prdPlnItem.CommandSequenceNo = kndCmdItem.F42_CommandSeqNo; } lstResult.Add(prdPlnItem); } var itemCount = lstResult.Count(); var queryable = lstResult.AsQueryable(); //OrderByAndPaging(ref queryable, gridSettings); queryable = queryable.Skip((gridSettings.PageIndex - 1) * gridSettings.PageSize).Take(gridSettings.PageSize); var resultModel = new GridResponse <PdtPlnItem>(queryable, itemCount); return(new ResponseResult <GridResponse <PdtPlnItem> >(resultModel, true)); }
public ResponseResult <GridResponse <PdtPlnItem> > SearchCriteria(DateTime dateCurrent, DateTime date, Enum line, GridSettings gridSettings) { string kndLine; var result = _unitOfWork.PdtPlnRepository.GetAll(); kndLine = Constants.KndLine.Megabit.Equals(line) ? Constants.KndLine.Megabit.ToString("D") : Constants.KndLine.Conventional.ToString("D"); var notCommandedStatus = Constants.F39_Status.NotCommanded.ToString("D"); result = result.Where( i => i.F39_KndEptBgnDate <= date && i.F39_KndEptBgnDate >= dateCurrent && i.F39_KneadingLine.Trim().Equals(kndLine) && i.F39_Status.Trim().Equals(notCommandedStatus)); var lstPreProductCode = result.Select(i => i.F39_PreProductCode); var lstPreProduct = _unitOfWork.PreProductRepository.GetAll().Where(i => lstPreProductCode.Contains(i.F03_PreProductCode)); var lstResult = new List <PdtPlnItem>(); foreach (var prtPln in result) { var prdPlnItem = new PdtPlnItem(); var lstPreProductItem = lstPreProduct.FirstOrDefault(i => i.F03_PreProductCode == prtPln.F39_PreProductCode); prdPlnItem.F39_KndEptBgnDate = prtPln.F39_KndEptBgnDate; prdPlnItem.F39_PreProductCode = prtPln.F39_PreProductCode; prdPlnItem.F39_PrePdtLotAmt = prtPln.F39_PrePdtLotAmt; prdPlnItem.F39_Status = prtPln.F39_Status; prdPlnItem.F39_AddDate = prtPln.F39_AddDate; if (lstPreProductItem != null) { prdPlnItem.Quantity = lstPreProductItem.F03_BatchLot; prdPlnItem.F39_PreProductName = lstPreProductItem.F03_PreProductName; prdPlnItem.YieldDrate = lstPreProductItem.F03_YieldRate; prdPlnItem.MaterialAmount = lstPreProductItem.F03_AllMtrAmtPerBth; } lstResult.Add(prdPlnItem); } var itemCount = lstResult.Count(); var pdtPlnItems = lstResult.AsQueryable(); OrderByAndPaging(ref pdtPlnItems, gridSettings); var resultModel = new GridResponse <PdtPlnItem>(pdtPlnItems, itemCount); return(new ResponseResult <GridResponse <PdtPlnItem> >(resultModel, true)); }
public ResponseResult CreateOrUpdate(PdtPlnItem model) { if (model.IsCreate) { if (!string.IsNullOrEmpty(model.F39_PreProductCode)) { if (CheckUnique(model.F39_PreProductCode, model.F39_KndEptBgnDate)) { return(new ResponseResult(false, Constants.Messages.Material_MSG004)); } } var entity = Mapper.Map <TX39_PdtPln>(model); entity.F39_KndCmdNo = " "; entity.F39_KneadingLine = model.KndLine == (int)Constants.KndLine.Megabit ? Constants.KndLine.Megabit.ToString("D") : Constants.KndLine.Conventional.ToString("D"); entity.F39_StartLotNo = ""; entity.F39_EndLotAmont = 0; entity.F39_ColorClass = GetKndLine(entity.F39_PreProductCode); entity.F39_AddDate = DateTime.Now; entity.F39_UpdateDate = DateTime.Now; entity.F39_UpdateCount = 0; entity.F39_Status = Constants.F39_Status.NotCommanded.ToString("D"); _unitOfWork.PdtPlnRepository.Add(entity); } else { //var entity = _unitOfWork.PdtPlnRepository.GetById(model.F39_PreProductCode); var entity = _unitOfWork.PdtPlnRepository.Get(m => m.F39_PreProductCode.Trim().Equals(model.F39_PreProductCode.Trim()) && m.F39_KndEptBgnDate.Equals(model.F39_KndEptBgnDate)); if (entity == null) { return(new ResponseResult(false, Constants.Messages.Material_MSG001)); } Constants.F39_Status status; if (!Enum.TryParse(model.F39_Status, true, out status)) { status = Constants.F39_Status.NotCommanded; } entity.F39_Status = status.ToString("D"); entity.F39_PrePdtLotAmt = model.F39_PrePdtLotAmt; entity.F39_UpdateCount = entity.F39_UpdateCount + 1; _unitOfWork.PdtPlnRepository.Update(entity); } _unitOfWork.Commit(); return(new ResponseResult(true)); }