コード例 #1
0
 private Module ModuleRequestDtoToModule(ModuleRequestDto moduleDto)
 {
     return(new Module()
     {
         Name = moduleDto.Name
     });
 }
コード例 #2
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="moduleRequestDto"></param>
        /// <returns></returns>
        public async Task <bool> CreateAsync(ModuleRequestDto moduleRequestDto)
        {
            var module = moduleRequestDto.MapToCreateEntity <ModuleRequestDto, Module>();
            await ModuleValidatorsFilter.DoValidationAsync(_moduleRespository, module, ValidatorTypeConstants.Create);

            return(await _moduleRespository.InsertAsync(module));
        }
コード例 #3
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="moduleRequestDto"></param>
        /// <returns></returns>
        public async Task <bool> ModifyAsync(ModuleRequestDto moduleRequestDto)
        {
            var module = await _moduleRespository.FirstOrDefaultAsync(e => e.Id == moduleRequestDto.Id);

            var entity = moduleRequestDto.MapToModifyEntity <ModuleRequestDto, Module>(module);
            await ModuleValidatorsFilter.DoValidationAsync(_moduleRespository, entity, ValidatorTypeConstants.Modify);

            return(await _moduleRespository.UpdateAsync(entity));
        }
コード例 #4
0
        public async Task <ModuleResponseDto> SaveModule(ModuleRequestDto requestDto)
        {
            var module = _mapper.Map <Module>(requestDto);

            var resultModule = await _moduleRepository.SaveModule(module);

            var moduleWithStatus = GetModuleStatus(resultModule);

            return(moduleWithStatus ?? null);
        }
コード例 #5
0
 private async Task AddOrModifyModule(ModuleRequestDto moduleRequestDto)
 {
     if (moduleRequestDto.OperationStatus == OperationModel.Create)
     {
         await _moduleAppService.CreateAsync(moduleRequestDto);
     }
     else if (moduleRequestDto.OperationStatus == OperationModel.Modify)
     {
         await _moduleAppService.ModifyAsync(moduleRequestDto);
     }
 }
コード例 #6
0
        public async Task <IActionResult> PostModule(ModuleRequestDto request)
        {
            var validationResult = _moduleRequestValidator.Validate(request);

            if (validationResult.Errors.Any())
            {
                return(BadRequest(validationResult));
            }

            var module = await _moduleProcessor.SaveModule(request);

            return(Ok(module));
        }
コード例 #7
0
        public async Task <JsonResponse> SaveModule(ModuleRequestDto input)
        {
            var resJson = await _applicationEnginee.TryTransactionAsync(async() =>
            {
                await AddOrModifyModule(input);
                var elmentRequests = input.ModuleElementActionRequests.ToList();
                await AddModuleElement(elmentRequests);
                await ModifyModuleElement(elmentRequests);
                await RemoveModuleElement(elmentRequests);
            });

            return(resJson);
        }
コード例 #8
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        async Task <JsonResponse> SaveModule(ModuleRequestDto input)
        {
            input.InitCreateRequest();
            input.InitModifyRequest();
            foreach (var moduleRequestDto in input.ModuleElementActionRequests)
            {
                moduleRequestDto.InitCreateRequest(input.Payload);
                moduleRequestDto.InitModifyRequest(input.Payload);
            }
            var resJson = await _moduleDomainService.SaveModule(input);

            //var resJson = await _applicationEnginee.TryTransactionAsync(async () =>
            //{
            //    await _moduleAppService.CreateAsync(input);
            //});
            return(resJson);
        }
コード例 #9
0
 /// <summary>
 /// 修改
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public async Task <JsonResponse> Modify(ModuleRequestDto input)
 {
     return(await SaveModule(input));
 }