예제 #1
0
        public override IModel CreateModel(DataRow dr)
        {
            StockMoveDetail stockmovedetail = new StockMoveDetail();

            stockmovedetail.DetailId = Convert.ToInt32(dr["DetailId"]);

            if (dr["StockMoveId"] != DBNull.Value)
            {
                stockmovedetail.StockMoveId = Convert.ToInt32(dr["StockMoveId"]);
            }

            if (dr["MoveDetailStatus"] != DBNull.Value)
            {
                stockmovedetail.MoveDetailStatus = (Common.StatusEnum)Convert.ToInt32(dr["MoveDetailStatus"]);
            }

            if (dr["StockId"] != DBNull.Value)
            {
                stockmovedetail.StockId = Convert.ToInt32(dr["StockId"]);
            }

            if (dr["PaperNo"] != DBNull.Value)
            {
                stockmovedetail.PaperNo = Convert.ToString(dr["PaperNo"]);
            }

            if (dr["DeliverPlaceId"] != DBNull.Value)
            {
                stockmovedetail.DeliverPlaceId = Convert.ToInt32(dr["DeliverPlaceId"]);
            }

            if (dr["StockLogId"] != DBNull.Value)
            {
                stockmovedetail.StockLogId = Convert.ToInt32(dr["StockLogId"]);
            }

            return stockmovedetail;
        }
예제 #2
0
        public override IModel CreateModel(SqlDataReader dr)
        {
            StockMoveDetail stockmovedetail = new StockMoveDetail();

            int indexDetailId = dr.GetOrdinal("DetailId");
            stockmovedetail.DetailId = Convert.ToInt32(dr[indexDetailId]);

            int indexStockMoveId = dr.GetOrdinal("StockMoveId");
            if (dr["StockMoveId"] != DBNull.Value)
            {
                stockmovedetail.StockMoveId = Convert.ToInt32(dr[indexStockMoveId]);
            }

            int indexMoveDetailStatus = dr.GetOrdinal("MoveDetailStatus");
            if (dr["MoveDetailStatus"] != DBNull.Value)
            {
                stockmovedetail.MoveDetailStatus = (Common.StatusEnum)Convert.ToInt32(dr[indexMoveDetailStatus]);
            }

            int indexStockId = dr.GetOrdinal("StockId");
            if (dr["StockId"] != DBNull.Value)
            {
                stockmovedetail.StockId = Convert.ToInt32(dr[indexStockId]);
            }

            int indexPaperNo = dr.GetOrdinal("PaperNo");
            if (dr["PaperNo"] != DBNull.Value)
            {
                stockmovedetail.PaperNo = Convert.ToString(dr[indexPaperNo]);
            }

            int indexDeliverPlaceId = dr.GetOrdinal("DeliverPlaceId");
            if (dr["DeliverPlaceId"] != DBNull.Value)
            {
                stockmovedetail.DeliverPlaceId = Convert.ToInt32(dr[indexDeliverPlaceId]);
            }

            int indexStockLogId = dr.GetOrdinal("StockLogId");
            if (dr["StockLogId"] != DBNull.Value)
            {
                stockmovedetail.StockLogId = Convert.ToInt32(dr[indexStockLogId]);
            }

            return stockmovedetail;
        }
예제 #3
0
        public ResultModel Invalid(UserModel user, int stockMoveId)
        {
            ResultModel result = new ResultModel();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = this.Get(user, stockMoveId);
                    NFMT.WareHouse.Model.StockMove stockMove = result.ReturnValue as StockMove;

                    if (stockMove == null)
                    {
                        result.Message = "该数据不存在,不能作废";
                        return result;
                    }

                    if (stockMove.Status != StatusEnum.已录入)
                    {
                        result.Message = "非已录入状态的数据不允许作废";
                        return result;
                    }

                    result = stockmoveDAL.Invalid(user, stockMove);
                    if (result.ResultStatus != 0)
                        return result;

                    DAL.StockMoveDetailDAL stockMoveDetailDAL = new DAL.StockMoveDetailDAL();
                    result = stockMoveDetailDAL.GetDetailId(user, stockMove.StockMoveId);
                    if (result.ResultStatus != 0 || string.IsNullOrEmpty(result.ReturnValue.ToString()))
                        return result;

                    foreach (string s in result.ReturnValue.ToString().Split(','))
                    {
                        Model.StockMoveDetail detail = new StockMoveDetail() { DetailId = Convert.ToInt32(s) };
                        result = stockmoveDAL.Invalid(user, detail);
                        if (result.ResultStatus != 0)
                            return result;
                    }

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
                result.ResultStatus = -1;
            }
            finally
            {
                if (result.ResultStatus != 0)
                    log.ErrorFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue);
                else if (log.IsInfoEnabled)
                    log.InfoFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue);
            }

            return result;
        }