예제 #1
0
        /// <summary>
        /// 更新报废单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public ReturnInfo UpdateAssScrapOrder(SOInputDto entity)
        {
            ReturnInfo RInfo = new ReturnInfo();

            try
            {
                if (String.IsNullOrEmpty(entity.SOID))
                {
                    throw new Exception("报废单编号不能为空");
                }

                AssScrapOrder aro = _AssScrapOrderRepository.GetByID(entity.SOID).FirstOrDefault();
                if (aro != null)
                {
                    if (aro.STATUS == 1)
                    {
                        throw new Exception("只有已报废的的才能还原");
                    }
                    else
                    {
                        List <AssScrapOrderRow> Rows = _AssScrapOrderRowRepository.GetScrapBySOID(aro.SOID).AsNoTracking().ToList();
                        if (Rows.Count == entity.Rows.Count)
                        {
                            aro.STATUS = 1;
                        }
                        //更新报修单行项
                        aro.MODIFYDATE = entity.MODIFYDATE;
                        aro.MODIFYUSER = entity.MODIFYUSER;
                        _unitOfWork.RegisterDirty(aro);
                        UpdateAssScrapOrderRow(entity);

                        bool result = _unitOfWork.Commit();
                        RInfo.IsSuccess = result;
                        RInfo.ErrorInfo = "修改成功!";
                        return(RInfo);
                    }
                }
                else
                {
                    throw new Exception("报修单不存在!");
                }
            }
            catch (Exception ex)
            {
                _unitOfWork.Rollback();
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = ex.Message;
                return(RInfo);
            }
        }
예제 #2
0
        /// <summary>
        /// 新增报废单
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public ReturnInfo AddAssScrapOrder(SOInputDto entity)
        {
            ReturnInfo RInfo = new ReturnInfo();

            if (String.IsNullOrEmpty(entity.SCRAPMAN))
            {
                throw new Exception("报废人不能为空");
            }
            if (String.IsNullOrEmpty(entity.SCRAPDATE.ToString()))
            {
                throw new Exception("报废日期不能为空");
            }
            String MaxID = _AssScrapOrderRepository.GetMaxID();        //获取当前最大报修单编号
            String NowID = Helper.GeneratePRID("S", MaxID);            //生成最新的报修单编号

            entity.SOID = NowID;
            try
            {
                AssScrapOrder OrderData = new AssScrapOrder();
                OrderData.SOID       = NowID;
                OrderData.SCRAPMAN   = entity.SCRAPMAN;
                OrderData.SCRAPDATE  = entity.SCRAPDATE;
                OrderData.NOTE       = entity.NOTE;
                OrderData.STATUS     = entity.STATUS;
                OrderData.CREATEDATE = entity.CREATEDATE;
                OrderData.CREATEUSER = entity.CREATEUSER;
                _unitOfWork.RegisterNew(OrderData);
                AddAssScrapOrderRow(entity);


                bool result = _unitOfWork.Commit();
                RInfo.IsSuccess = result;
                RInfo.ErrorInfo = "创建成功!";
                return(RInfo);
            }
            catch (Exception ex)
            {
                _unitOfWork.Rollback();
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = ex.Message;
                return(RInfo);
            }
        }