/// <summary> /// Refer br10 - srs material management v1.0.1 /// </summary> /// <param name="item"></param> /// <returns></returns> public bool CheckTotalQuantity(MaterialPostReceptionInputItem item) { var reception = _unitOfWork.ReceptionRepository.Get( i => i.F30_PrcOrdNo.Trim().Equals(item.P_O_No.Trim()) && i.F30_PrtDvrNo.Trim().Equals(item.PartialDelivery.Trim())); var total = item.Quantity1 + item.Quantity2 + item.Quantity3 + item.Quantity4 + item.Quantity5 + reception.F30_StoragedAmount; if (total > reception.F30_ExpectAmount) { return(false); } return(true); }
public ResponseResult SavePostReception(MaterialPostReceptionInputItem model) { //find tx30 record var reception = _unitOfWork.ReceptionRepository.Get( r => r.F30_PrcOrdNo.Trim().Equals(model.P_O_No.Trim()) && r.F30_PrtDvrNo.Trim().Equals(model.PartialDelivery.Trim())); // not found if (reception == null) { return(new ResponseResult(false, Constants.Messages.Material_MSG001)); } // material_code must be same //if (reception.F30_MaterialCode.Trim() != model.F33_MaterialCode.Trim()) // return new ResponseResult(false, Constants.Messages.Material_MSG001); //update tx30 var amount = model.Quantity1 + model.Quantity2 + model.Quantity3 + model.Quantity4 + model.Quantity5; reception.F30_StoragedAmount += amount; reception.F30_UpdateDate = DateTime.Now; reception.F30_UpdateCount += 1; _unitOfWork.ReceptionRepository.Update(reception); // update tx32 var materialShelf = _unitOfWork.MaterialShelfRepository.Get( m => m.F32_PalletNo.Trim().Equals(model.F33_PalletNo.Trim()) && (m.F32_PrcOrdNo.Trim() == null)); if (materialShelf != null) { //Mapper.Map(model, entity); materialShelf.F32_PrcOrdNo = model.P_O_No; materialShelf.F32_PrtDvrNo = model.PartialDelivery; materialShelf.F32_UpdateDate = DateTime.Now; materialShelf.F32_UpdateCount += 1; _unitOfWork.MaterialShelfRepository.Update(materialShelf); } //Change database _unitOfWork.Commit(); return(new ResponseResult(true)); }