Exemple #1
0
 /// <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);
     }
 }
Exemple #2
0
        /// <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;
            }
        }