/// <summary> /// 添加领用单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnConfirm_Press(object sender, EventArgs e) { try { AssCollarOrderInputDto assCollarOrderInput = new AssCollarOrderInputDto() { AssIds = AssIdList, COLLARDATE = DPickerCO.Value, USERID = CoManId, HANDLEMAN = HManId, CREATEUSER = UserId, EPTRESTOREDATE = DPickerRs.Value, LOCATIONID = LocationId, INUSEDDEP = DepId, PLACE = txtPlace.Text, MODIFYUSER = UserId, NOTE = txtNote.Text }; ReturnInfo returnInfo = _autofacConfig.AssetsService.AddAssCollarOrder(assCollarOrderInput); if (returnInfo.IsSuccess) { ShowResult = ShowResult.Yes; Toast("添加成功"); Close(); } else { Toast(returnInfo.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 添加领用单 /// </summary> /// <param name="collarOrderInput">领用单信息</param> /// <returns></returns> public ReturnInfo AddAssCollarOrder(AssCollarOrderInputDto collarOrderInput) { //验证 ReturnInfo rInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); string maxId = _assCollarOrderRepository.GetMaxId(); string coId = Helper.GenerateIDEx("CO", maxId); collarOrderInput.COID = coId; sb.Append(Helper.BasicValidate(collarOrderInput).ToString()); if (sb.Length == 0) { var assco = Mapper.Map<AssCollarOrderInputDto, AssCollarOrder>(collarOrderInput); assco.CREATEDATE = DateTime.Now; assco.MODIFYDATE = DateTime.Now; try { _unitOfWork.RegisterNew(assco); foreach (var assId in collarOrderInput.AssIds) { //修改Asset的状态 Assets assets = _assetsRepository.GetByID(assId).FirstOrDefault(); if (assets != null) { assets.STATUS = (int)STATUS.使用中; assets.CURRENTUSER = collarOrderInput.USERID; var User = _SMOSECDbContext.coreUsers.Where(a => a.USER_ID == assco.USERID) .AsNoTracking().FirstOrDefault(); if (User != null) { assets.LOCATIONID = User.USER_LOCATIONID; assets.DEPARTMENTID = User.USER_DEPARTMENTID; } else { throw new Exception("该用户不存在。"); } _unitOfWork.RegisterDirty(assets); } //添加行项 var corow = new AssCollarOrderRow { ASSID = assId, COID = coId, CREATEDATE = DateTime.Now, CREATEUSER = collarOrderInput.CREATEUSER, MODIFYDATE = DateTime.Now, MODIFYUSER = collarOrderInput.MODIFYUSER }; _unitOfWork.RegisterNew(corow); //添加处理记录 var pr = new AssProcessRecord { ASSID = assId, CREATEDATE = DateTime.Now, CREATEUSER = collarOrderInput.CREATEUSER, HANDLEDATE = DateTime.Now, HANDLEMAN = collarOrderInput.HANDLEMAN, MODIFYDATE = DateTime.Now, MODIFYUSER = collarOrderInput.MODIFYUSER, PROCESSCONTENT = collarOrderInput.USERID + "领用了" + 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; } }