Beispiel #1
0
 /// <summary>
 /// 添加归还单
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnConfirm_Press(object sender, EventArgs e)
 {
     try
     {
         AssReturnOrderInputDto assReturnOrderInput = new AssReturnOrderInputDto()
         {
             AssIds     = AssIdList,
             RETURNDATE = DPickerCO.Value,
             RETURNER   = RtoManId,
             HANDLEMAN  = HManId,
             CREATEUSER = UserId,
             LOCATIONID = LocationId,
             MODIFYUSER = UserId,
             NOTE       = txtNote.Text
         };
         ReturnInfo returnInfo = _autofacConfig.AssetsService.AddAssReturnOrder(assReturnOrderInput);
         if (returnInfo.IsSuccess)
         {
             ShowResult = ShowResult.Yes;
             Toast("添加成功");
             Close();
         }
         else
         {
             Toast(returnInfo.ErrorInfo);
         }
     }
     catch (Exception ex)
     {
         Toast(ex.Message);
     }
 }
Beispiel #2
0
        /// <summary>
        /// 添加归还单
        /// </summary>
        /// <param name="returnOrderInput">归还单信息</param>
        /// <returns></returns>
        public ReturnInfo AddAssReturnOrder(AssReturnOrderInputDto returnOrderInput)
        {
            //验证
            ReturnInfo rInfo = new ReturnInfo();
            StringBuilder sb = new StringBuilder();
            string maxId = _assReturnOrderRepository.GetMaxID();
            string rtoId = Helper.GenerateIDEx("RT", maxId);
            returnOrderInput.RTOID = rtoId;
            sb.Append(Helper.BasicValidate(returnOrderInput).ToString());
            if (sb.Length == 0)
            {
                var assrto = Mapper.Map<AssReturnOrderInputDto, AssReturnOrder>(returnOrderInput);
                assrto.CREATEDATE = DateTime.Now;
                assrto.MODIFYDATE = DateTime.Now;
                try
                {
                    _unitOfWork.RegisterNew(assrto);

                    foreach (var assId in returnOrderInput.AssIds)
                    {
                        //修改Asset的状态
                        Assets assets = _assetsRepository.GetByID(assId).FirstOrDefault();
                        if (assets != null)
                        {
                            assets.STATUS = (int)STATUS.闲置;
                            assets.CURRENTUSER = "";
                            _unitOfWork.RegisterDirty(assets);
                        }
                        //添加行项
                        var corow = new AssReturnOrderRow
                        {
                            ASSID = assId,
                            RTOID = rtoId,
                            CREATEDATE = DateTime.Now,
                            CREATEUSER = returnOrderInput.CREATEUSER,
                            MODIFYDATE = DateTime.Now,
                            MoDIFYUSER = returnOrderInput.MODIFYUSER
                        };
                        _unitOfWork.RegisterNew(corow);

                        //添加处理记录
                        var pr = new AssProcessRecord
                        {
                            ASSID = assId,
                            CREATEDATE = DateTime.Now,
                            CREATEUSER = returnOrderInput.CREATEUSER,
                            HANDLEDATE = DateTime.Now,
                            HANDLEMAN = returnOrderInput.HANDLEMAN,
                            MODIFYDATE = DateTime.Now,
                            MODIFYUSER = returnOrderInput.MODIFYUSER,
                            PROCESSCONTENT = returnOrderInput.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;
            }
        }