/// <summary> /// 添加退库单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnConfirm_Press(object sender, EventArgs e) { try { AssRestoreOrderInputDto assRestoreOrder = new AssRestoreOrderInputDto() { AssIds = AssIdList, RESTOREDATE = DPickerRs.Value, RESTORER = RtoManId, HANDLEMAN = HManId, CREATEUSER = UserId, PLACE = txtPlace.Text, LOCATIONID = LocationId, MODIFYUSER = UserId, NOTE = txtNote.Text }; ReturnInfo returnInfo = _autofacConfig.AssetsService.AddAssRestoreOrder(assRestoreOrder); if (returnInfo.IsSuccess) { ShowResult = ShowResult.Yes; Toast("添加成功"); Close(); } else { Toast(returnInfo.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 添加退库单 /// </summary> /// <param name="restoreOrderInput">退库单信息</param> /// <returns></returns> public ReturnInfo AddAssRestoreOrder(AssRestoreOrderInputDto restoreOrderInput) { //验证 ReturnInfo rInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); string maxId = _assRestoreOrderRepository.GetMaxID(); string rsoId = Helper.GenerateIDEx("RS", maxId); restoreOrderInput.RSOID = rsoId; sb.Append(Helper.BasicValidate(restoreOrderInput).ToString()); if (sb.Length == 0) { var assrso = Mapper.Map<AssRestoreOrderInputDto, AssRestoreOrder>(restoreOrderInput); assrso.CREATEDATE = DateTime.Now; assrso.MODIFYDATE = DateTime.Now; try { _unitOfWork.RegisterNew(assrso); foreach (var assId in restoreOrderInput.AssIds) { //修改Asset的状态 Assets assets = _assetsRepository.GetByID(assId).FirstOrDefault(); if (assets != null) { assets.STATUS = (int)STATUS.闲置; assets.CURRENTUSER = ""; _unitOfWork.RegisterDirty(assets); } //添加行项 var corow = new AssRestoreOrderRow { ASSID = assId, RSOID = rsoId, CREATEDATE = DateTime.Now, CREATEUSER = restoreOrderInput.CREATEUSER, MODIFYDATE = DateTime.Now, MODIFYUSER = restoreOrderInput.MODIFYUSER }; _unitOfWork.RegisterNew(corow); //添加处理记录 var pr = new AssProcessRecord { ASSID = assId, CREATEDATE = DateTime.Now, CREATEUSER = restoreOrderInput.CREATEUSER, HANDLEDATE = DateTime.Now, HANDLEMAN = restoreOrderInput.HANDLEMAN, MODIFYDATE = DateTime.Now, MODIFYUSER = restoreOrderInput.MODIFYUSER, PROCESSCONTENT = restoreOrderInput.HANDLEMAN + "退库了" + assId, PROCESSMODE = (int)PROCESSMODE.退库, QUANTITY = 1 }; _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; } }