Beispiel #1
0
        /// <summary>
        /// 添加模块配置
        /// </summary>
        /// <param name="request"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public async Task <ApiResult> AddModuleConfigAsync(AddModuleConfigRequest request, long userId)
        {
            var response = new ApiResult();

            try
            {
                var module = await _moduleRepository.TableNotTracking
                             .FirstOrDefaultAsync(item => item.ModuleName == request.ModuleName && item.Status == 1);

                if (module == null)
                {
                    response.Code    = Code.Error;
                    response.Message = "模块不存在";
                    return(response);
                }
                var moduleConfig = request.MapTo <ModuleConfig>();
                moduleConfig.SetId();
                moduleConfig.ModuleId   = module.Id;
                moduleConfig.CreateTime = DateTime.Now;
                moduleConfig.Status     = 1;
                #region 失效以前的配置
                var oldConfig = await _moduleConfigRepository.Table
                                .Where(item => item.ModuleId == module.Id && item.Status == 1)
                                .ToListAsync();

                oldConfig.ForEach(i =>
                {
                    i.Status     = 0;
                    i.UpdateTime = DateTime.Now;
                });
                #endregion
                await _moduleConfigRepository.InsertAsync(moduleConfig);

                await _work.SaveChangesAsync();

                response.Code    = Code.Ok;
                response.Message = "添加成功";
                return(response);
            }
            catch (Exception ex)
            {
                _logger.LogError($"添加模块配置异常;method={nameof(AddModuleConfigAsync)};param={request.ToJson()};exception messges={ex.Message}");
                response.Code    = Code.Error;
                response.Message = $"添加模块配置异常:{ex.Message}";
                return(response);
            }
        }
Beispiel #2
0
 public async Task <ApiResult> AddConfigAsync([FromBody] AddModuleConfigRequest request)
 {
     return(await _moduleConfigService.AddModuleConfigAsync(request, 0));
 }