public void Update(SubMaterialItem supMaterial)
        {
            var entity = Mapper.Map <TM15_SubMaterial>(supMaterial);

            _unitOfWork.SubMaterialRepository.Update(entity);
            _unitOfWork.Commit();
        }
Example #2
0
        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));
        }