Пример #1
0
        /// <summary>
        /// 添加分步操作与工序关联信息
        /// </summary>
        /// <param name="inputDtos">要添加的分步操作与工序关联信息信息DTO信息</param>
        /// <returns>业务操作结果</returns>
        public async Task <OperationResult> AddDisStepActionProcessMaps(params DisStepActionProcessMapInfoInputDto[] inputDtos)
        {
            inputDtos.CheckNotNull("inputDtos");

            DisStepActionProcessMapRepository.UnitOfWork.BeginTransaction();
            var result = await DisStepActionProcessMapRepository.InsertAsync(inputDtos);

            DisStepActionProcessMapRepository.UnitOfWork.Commit();

            return(result);
        }
Пример #2
0
        /// <summary>
        /// 分步操作与工序关联信息配置
        /// </summary>
        /// <param name="inputDtos"></param>
        /// <returns></returns>
        public async Task <OperationResult> Setting(params DisStepActionProcessMapManageInputDto[] inputDtos)
        {
            inputDtos.CheckNotNull("inputDtos");
            OperationResult result  = new OperationResult();
            OperationResult result2 = new OperationResult();

            foreach (var inputDto in inputDtos)
            {
                try
                {
                    int count = inputDto.ProductionProcessInfoList.Count();
                    if (count >= 0)
                    {
                        DisStepActionProcessMapRepository.UnitOfWork.BeginTransaction();
                        var oldmaplist = DisStepActionProcessMapRepository.TrackEntities.Where(x => x.DisStepActionInfo.Id == inputDto.DisStepActionInfo.Id);
                        int count0     = oldmaplist.Count();
                        if (count0 > 0)
                        {
                            Guid[] mapIds = new Guid[count0];
                            mapIds  = oldmaplist.Select(x => x.Id).ToArray();
                            result2 = await DisStepActionProcessMapRepository.DeleteAsync(mapIds);
                        }
                        if (count == 0 && count0 > 0)
                        {
                            result = result2;
                        }
                        if ((result2.Successed || count0 == 0) && count > 0)
                        {
                            DisStepActionProcessMapInfoInputDto[] map_dtos = new DisStepActionProcessMapInfoInputDto[count];
                            for (int i = 0; i < count; i++)
                            {
                                DisStepActionProcessMapInfoInputDto edto = new DisStepActionProcessMapInfoInputDto();
                                edto.DisStepActionInfo = DisStepActionRepository.TrackEntities.Where(m => m.Id == inputDto.DisStepActionInfo.Id).FirstOrDefault();
                                var id = inputDto.ProductionProcessInfoList[i].Id;
                                edto.ProductionProcessInfo = ProductionProcessRepository.TrackEntities.Where(m => m.Id == id).FirstOrDefault();
                                edto.CreatorUserId         = inputDto.CreatorUserId;
                                edto.CreatedTime           = inputDto.CreatedTime;
                                edto.LastUpdatedTime       = inputDto.LastUpdatedTime;
                                edto.LastUpdatorUserId     = inputDto.LastUpdatorUserId;
                                if (Equals(edto.DisStepActionInfo, null))
                                {
                                    return(new OperationResult(OperationResultType.Error, "对应的分步操作信息不存在,该组数据不被存储。"));
                                }
                                if (Equals(edto.ProductionProcessInfo, null))
                                {
                                    return(new OperationResult(OperationResultType.Error, "对应的工序信息不存在,该组数据不被存储。"));
                                }
                                map_dtos[i] = edto;
                            }
                            result = await DisStepActionProcessMapRepository.InsertAsync(map_dtos);
                        }
                        DisStepActionProcessMapRepository.UnitOfWork.Commit();
                    }
                    else
                    {
                        return(new OperationResult(OperationResultType.Error, $"工序表数据异常,该组数据不被存储。"));
                    }
                }
                catch (DataException dataException)
                {
                    return(new OperationResult(OperationResultType.Error, dataException.Message));
                }
            }
            return(result);
        }