Exemplo n.º 1
0
 /// <summary>
 /// 初始化一个<see cref="OutStorOutputDto"/>类型的新实例
 /// </summary>
 public OutStorOutputDto(OutStor entity)
 {
     Id                    = entity.Id;
     OutstorVoucher        = entity.OutstorVoucher;
     OutstorComName        = entity.OutstorComName;
     CusId                 = entity.CusId;
     MatId                 = entity.MatId;
     SupId                 = entity.SupId;
     OutstorPrice          = entity.OutstorPrice;
     OutstorDate           = entity.OutstorDate;
     OutstorNum            = entity.OutstorNum;
     OutEmpId              = entity.OutEmpId;
     CusCloseAccuntsFlag   = entity.CusCloseAccuntsFlag;
     CusCloseAccuntsEmpId  = entity.CusCloseAccuntsEmpId;
     CusCloseAccuntsRemark = entity.CusCloseAccuntsRemark;
     Abolishflag           = entity.Abolishflag;
     AbolishDate           = entity.AbolishDate;
     AbolishReason         = entity.AbolishReason;
     RecoilState           = entity.RecoilState;
     RecoilDate            = entity.RecoilDate;
     RecoilReason          = entity.RecoilReason;
     PrintState            = entity.PrintState;
     PrintMoName           = entity.PrintMoName;
     OutstorRemark         = entity.OutstorRemark;
     CreatorId             = entity.CreatorId;
     CreatedTime           = entity.CreatedTime;
     LastUpdaterId         = entity.LastUpdaterId;
     LastUpdatedTime       = entity.LastUpdatedTime;
 }
        /// <summary>
        /// 更新反冲信息
        /// </summary>
        /// <param name="dtos">包含更新信息的反冲信息DTO信息</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> UpdateRecoilOutStors(params OutStorInputDto[] dtos)
        {
            Check.Validate <OutStorInputDto, int>(dtos, nameof(dtos));

            //强制修改反冲状态
            if (dtos[0].RecoilNum != 0)
            {
                dtos[0].RecoilState = true;
            }
            //修改库存
            MatBasedata matdb = await MatBasedataRepository.GetAsync(dtos[0].MatId);

            matdb.CurrStock = matdb.CurrStock + dtos[0].RecoilNum;
            MatBasedataRepository.Update(matdb);

            //累计反冲数量
            OutStor Instordb = await OutStorRepository.GetAsync(dtos[0].Id);

            dtos[0].RecoilNum = dtos[0].RecoilNum + Instordb.RecoilNum;

            return(await OutStorRepository.UpdateAsync(dtos));
        }