private void btnSave_Press(object sender, EventArgs e) { try { GetRows(); WarehouseReceiptInputDto warehouseReceiptInput = new WarehouseReceiptInputDto() { BUSINESSDATE = DPickerCO.Value, MODIFYUSER = UserId, CREATEUSER = UserId, HANDLEDATE = DateTime.Now, LOCATIONID = LocationId, NOTE = txtNote.Text, HANDLEMAN = HManId, RowInputDtos = rowsInputDtos, VENDOR = txtVendor.Text }; ReturnInfo returnInfo = _autofacConfig.ConsumablesService.AddWarehouseReceipt(warehouseReceiptInput); if (returnInfo.IsSuccess) { ShowResult = ShowResult.Yes; Toast("添加成功"); Close(); } else { Toast(returnInfo.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 添加入库单 /// </summary> /// <param name="inputDto">入库单信息</param> /// <returns></returns> public ReturnInfo AddWarehouseReceipt(WarehouseReceiptInputDto inputDto) { ReturnInfo rInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); string maxId = _warehouseReceiptRepository.GetMaxId(); string WRId = Helper.GenerateIDEx("WR", maxId); inputDto.WRID = WRId; sb.Append(Helper.BasicValidate(inputDto).ToString()); if (sb.Length == 0) { var warehouseReceipt = Mapper.Map <WarehouseReceiptInputDto, WarehouseReceipt>(inputDto); warehouseReceipt.CREATEDATE = DateTime.Now; warehouseReceipt.MODIFYDATE = DateTime.Now; try { _unitOfWork.RegisterNew(warehouseReceipt); foreach (var rowInput in inputDto.RowInputDtos) { WarehouseReceiptRow row = new WarehouseReceiptRow { CID = rowInput.CID, MONEY = rowInput.MONEY, CREATEUSER = inputDto.CREATEUSER, CREATEDATE = DateTime.Now, MODIFYUSER = inputDto.MODIFYUSER, MODIFYDATE = DateTime.Now, NOTE = rowInput.NOTE, WRID = WRId, QUANTITY = rowInput.QUANTITY }; _unitOfWork.RegisterNew(row); //修改库存 ConQuant quant = _conQuantRepository.GetQuants(inputDto.LOCATIONID, rowInput.CID) .FirstOrDefault(); if (quant != null) { quant.QUANTITY = quant.QUANTITY - rowInput.QUANTITY; quant.MODIFYDATE = DateTime.Now; quant.MODIFYUSER = inputDto.MODIFYUSER; _unitOfWork.RegisterDirty(quant); } else { ConQuant Quant = new ConQuant { QUANTITY = rowInput.QUANTITY, MODIFYDATE = DateTime.Now, MODIFYUSER = inputDto.MODIFYUSER, CID = rowInput.CID, CREATEUSER = inputDto.CREATEUSER, CREATEDATE = DateTime.Now, LOCATIONID = inputDto.LOCATIONID }; _unitOfWork.RegisterNew(Quant); } //添加处理记录 var pr = new AssProcessRecord { ASSID = "", CID = rowInput.CID, CREATEDATE = DateTime.Now, CREATEUSER = inputDto.CREATEUSER, HANDLEDATE = DateTime.Now, HANDLEMAN = inputDto.HANDLEMAN, MODIFYDATE = DateTime.Now, MODIFYUSER = inputDto.MODIFYUSER, PROCESSCONTENT = inputDto.CREATEUSER + "入库了" + row.CID + ",数量为" + rowInput.QUANTITY, PROCESSMODE = (int)PROCESSMODE.入库, QUANTITY = rowInput.QUANTITY }; _unitOfWork.RegisterNew(pr); } bool result = _unitOfWork.Commit(); rInfo.IsSuccess = result; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } catch (Exception ex) { _unitOfWork.Rollback(); sb.Append(ex.Message); rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } } else { rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } }