コード例 #1
0
        /// <summary>
        /// 物理删除库位信息
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public async Task <OperationResult> DeleteMatWareHouseLocations(params Guid[] ids)
        {
            ids.CheckNotNull("ids");
            MatWareHouseLocationRepository.UnitOfWork.BeginTransaction();
            var result = await MatWareHouseLocationRepository.DeleteAsync(ids);

            MatWareHouseLocationRepository.UnitOfWork.Commit();
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 更新库位信息
        /// </summary>
        /// <param name="inputDtos"></param>
        /// <returns></returns>
        public async Task <OperationResult> UpdateMatWareHouseLocations(params MatWareHouseLocationInfoInputDto[] inputDtos)
        {
            inputDtos.CheckNotNull("inputDtos");
            //
            foreach (MatWareHouseLocationInfoInputDto dtoData in inputDtos)
            {
                if (string.IsNullOrEmpty(dtoData.WareHouseLocationCode))
                {
                    return(new OperationResult(OperationResultType.Error, "请正确填写库位编号,该组数据不被存储。"));
                }
                if (string.IsNullOrEmpty(dtoData.WareHouseLocationName))
                {
                    return(new OperationResult(OperationResultType.Error, "请正确填写库位名称,该组数据不被存储。"));
                }
                //
                if (MatWareHouseLocationRepository.CheckExists(x => x.WareHouseLocationCode == dtoData.WareHouseLocationCode && x.Id != dtoData.Id))
                {
                    return(new OperationResult(OperationResultType.Error, $"库位编号 {dtoData.WareHouseLocationCode} 的数据已存在,该组数据不被存储。"));
                }
                if (MatWareHouseLocationRepository.CheckExists(x => x.WareHouseLocationName == dtoData.WareHouseLocationName && x.Id != dtoData.Id))
                {
                    return(new OperationResult(OperationResultType.Error, $"库位名称 {dtoData.WareHouseLocationName} 的数据已存在,该组数据不被存储。"));
                }
            }
            //
            MatWareHouseLocationRepository.UnitOfWork.BeginTransaction();
            //
            MatWareHouseInfo info = new MatWareHouseInfo();

            foreach (var item in inputDtos)
            {
                info = MatWareHouseInfoRepository.TrackEntities.Where(m => m.Id == item.MatWareHouse_Id).FirstOrDefault();
                item.MatWareHouse = info;
            }
            //
            MatWareHouseAreaInfo matwarehouseareaInfo = new MatWareHouseAreaInfo();

            foreach (var item in inputDtos)
            {
                matwarehouseareaInfo  = MatWareHouseAreaInfoRepository.TrackEntities.Where(m => m.Id == item.MatWareHouseArea_Id).FirstOrDefault();
                item.MatWareHouseArea = matwarehouseareaInfo;
            }
            //
            var result = await MatWareHouseLocationRepository.UpdateAsync(inputDtos);

            MatWareHouseLocationRepository.UnitOfWork.Commit();
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 增加库位信息
        /// </summary>
        /// <param name="inputDtos"></param>
        /// <returns></returns>
        public async Task <OperationResult> Add(params MatWareHouseLocationInfoInputDto[] inputDtos)
        {
            inputDtos.CheckNotNull("inputDtos");
            foreach (var dtoData in inputDtos)
            {
                if (string.IsNullOrEmpty(dtoData.WareHouseLocationCode))
                {
                    return(new OperationResult(OperationResultType.Error, "请正确填写库位编号,该组数据不被存储。"));
                }
                if (string.IsNullOrEmpty(dtoData.WareHouseLocationName))
                {
                    return(new OperationResult(OperationResultType.Error, "请正确填写库位名称,该组数据不被存储。"));
                }
                //
                if (MatWareHouseLocationRepository.CheckExists(x => x.WareHouseLocationCode == dtoData.WareHouseLocationCode))
                {
                    return(new OperationResult(OperationResultType.Error, $"库位编号 {dtoData.WareHouseLocationCode} 的数据已存在,该组数据不被存储。"));
                }
                if (MatWareHouseLocationRepository.CheckExists(x => x.WareHouseLocationName == dtoData.WareHouseLocationName))
                {
                    return(new OperationResult(OperationResultType.Error, $"库位名称 {dtoData.WareHouseLocationName} 的数据已存在,该组数据不被存储。"));
                }
                //
                dtoData.MatWareHouse = MatWareHouseInfoRepository.TrackEntities.Where(m => m.Id == dtoData.MatWareHouse_Id).FirstOrDefault();
                if (Equals(dtoData.MatWareHouse, null))
                {
                    return(new OperationResult(OperationResultType.Error, $"对应的所属仓库不存在,该组数据不被存储。"));
                }
                //
                dtoData.MatWareHouseArea = MatWareHouseAreaInfoRepository.TrackEntities.Where(m => m.Id == dtoData.MatWareHouseArea_Id).FirstOrDefault();
                if (Equals(dtoData.MatWareHouseArea, null))
                {
                    return(new OperationResult(OperationResultType.Error, $"对应的所属仓库货区不存在,该组数据不被存储。"));
                }
            }
            MatWareHouseLocationRepository.UnitOfWork.BeginTransaction();
            var result = await MatWareHouseLocationRepository.InsertAsync(inputDtos);

            MatWareHouseLocationRepository.UnitOfWork.Commit();
            //
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// 物理删除库位信息
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public async Task <OperationResult> DeleteMatWareHouseLocations(params Guid[] ids)
        {
            ids.CheckNotNull("ids");
            MatWareHouseLocationRepository.UnitOfWork.BeginTransaction();
            //
            OperationResult result = new OperationResult();
            //
            Guid matwarehouseareaInfoGuid = new Guid();

            foreach (Guid idsCurrent in ids)
            {
                matwarehouseareaInfoGuid = MatWareHouseLocationRepository.TrackEntities
                                           .Where(m => m.Id == idsCurrent)
                                           .Select(m => m.MatWareHouseArea.Id)
                                           .FirstOrDefault();
                //
                result = await MatWareHouseLocationRepository.DeleteAsync(ids);

                //
                int matwarehouseareaInfoNew2 = MatWareHouseLocationRepository.TrackEntities
                                               .Count(m => m.MatWareHouseArea.Id.Equals(matwarehouseareaInfoGuid));
                if (matwarehouseareaInfoNew2 == 0)
                {
                    MatWareHouseAreaInfo matwarehouseareaInfo = MatWareHouseAreaInfoRepository.TrackEntities
                                                                .Where(m => m.Id == matwarehouseareaInfoGuid)
                                                                .FirstOrDefault();
                    //matwarehouseareaInfo.Id = matwarehouseareaInfoGuid;
                    matwarehouseareaInfo.IsGenerageLocation = false;
                    matwarehouseareaInfo.LastUpdatedTime    = DateTime.Now;
                    //
                    await MatWareHouseAreaInfoRepository.UpdateAsync(matwarehouseareaInfo);
                }
            }
            //
            MatWareHouseLocationRepository.UnitOfWork.Commit();
            return(result);
        }
コード例 #5
0
 /// <summary>
 /// 检查实体是否存在
 /// </summary>
 /// <param name="predicate"></param>
 /// <param name="id"></param>
 /// <returns></returns>
 public bool CheckMatWareHouseLocationExists(Expression <Func <MatWareHouseLocationInfo, bool> > predicate, Guid id)
 {
     return(MatWareHouseLocationRepository.CheckExists(predicate, id));
 }