public void Update(SubMaterialItem supMaterial) { var entity = Mapper.Map <TM15_SubMaterial>(supMaterial); _unitOfWork.SubMaterialRepository.Update(entity); _unitOfWork.Commit(); }
public ResponseResult CreateOrUpdate(SubMaterialItem model) { if (model.IsCreate) { if (!string.IsNullOrEmpty(model.F15_SubMaterialCode)) { if (CheckUnique(model.F15_SubMaterialCode)) { return(new ResponseResult(false, Constants.Messages.Material_MSG004)); } } var entity = Mapper.Map <TM15_SubMaterial>(model); entity.F15_AddDate = DateTime.Now; entity.F15_UpdateCount = 0; entity.F15_EntrustedClass = "Norm".Equals(model.Bail, StringComparison.InvariantCultureIgnoreCase) ? Constants.Bailment.Normal.ToString("D") : Constants.Bailment.Bailment.ToString("D"); entity.F15_UpdateDate = DateTime.Now; _unitOfWork.SubMaterialRepository.Add(entity); //Add f46_SubMaterialCode var subMtrStk = new TX46_SupMtrStk(); subMtrStk.F46_SubMaterialCode = model.F15_SubMaterialCode; subMtrStk.F46_Comment = ""; subMtrStk.F46_StorageDate = DateTime.Now; subMtrStk.F46_Amount = 0.0; subMtrStk.F46_AddDate = DateTime.Now; subMtrStk.F46_UpdateDate = DateTime.Now; subMtrStk.F46_UpdateCount = 0; _unitOfWork.SupMaterialStockRepository.Add(subMtrStk); } else { var entity = _unitOfWork.SubMaterialRepository.GetAll().FirstOrDefault(i => i.F15_SubMaterialCode.Trim().Equals(model.F15_SubMaterialCode.Trim())); if (entity == null) { return(new ResponseResult(false, Constants.Messages.Material_MSG001)); } var addDate = entity.F15_AddDate; var count = entity.F15_UpdateCount; Mapper.Map(model, entity); entity.F15_EntrustedClass = "Norm".Equals(model.Bail, StringComparison.InvariantCultureIgnoreCase) ? Constants.Bailment.Normal.ToString("D") : Constants.Bailment.Bailment.ToString("D"); entity.F15_AddDate = addDate; entity.F15_UpdateDate = DateTime.Now; entity.F15_UpdateCount = count + 1; _unitOfWork.SubMaterialRepository.Update(entity); } _unitOfWork.Commit(); return(new ResponseResult(true)); }
public ResponseResult <jsGrid.MVC.GridResponse <SubMaterialItem> > SearchCriteria(string code, jsGrid.MVC.GridSettings gridSettings) { var result = _unitOfWork.SubMaterialRepository.GetAll(); if (!string.IsNullOrEmpty(code)) { result = result.Where(i => i.F15_SubMaterialCode.ToUpper().Contains(code.ToUpper())); } var itemCount = result.Count(); OrderByAndPaging(ref result, gridSettings); result = result.Skip((gridSettings.PageIndex - 1) * gridSettings.PageSize).Take(gridSettings.PageSize); var lstSubMaterialCode = result.Select(i => i.F15_SubMaterialCode); var listSubMaterial = _unitOfWork.SupMaterialStockRepository.GetAll() .Where(i => lstSubMaterialCode.Contains(i.F46_SubMaterialCode)); var lstResult = new List <SubMaterialItem>(); foreach (var supMaterial in result) { var subMaterialItem = new SubMaterialItem(); subMaterialItem.F15_SubMaterialCode = supMaterial.F15_SubMaterialCode; subMaterialItem.F15_MaterialDsp = supMaterial.F15_MaterialDsp; subMaterialItem.F15_Unit = supMaterial.F15_Unit; subMaterialItem.F15_PackingUnit = supMaterial.F15_PackingUnit; var submaterial = listSubMaterial.FirstOrDefault(i => i.F46_SubMaterialCode == supMaterial.F15_SubMaterialCode); if (submaterial != null) { subMaterialItem.Quantity = submaterial.F46_Amount; subMaterialItem.Comment = submaterial.F46_Comment; } lstResult.Add(subMaterialItem); } var resultModel = new GridResponse <SubMaterialItem>(lstResult, itemCount); return(new ResponseResult <GridResponse <SubMaterialItem> >(resultModel, true)); }