public async Task <OperationDataResult <BaneDanmarkLaBaseSettings> > GetSettings()
        {
            try
            {
                var option = _options.Value;

                if (option.SdkConnectionString == "...")
                {
                    string connectionString = _dbContext.Database.GetDbConnection().ConnectionString;

                    string dbNameSection = Regex.Match(connectionString, @"(Database=(...)_eform-angular-\w*-plugin;)").Groups[0].Value;
                    string dbPrefix      = Regex.Match(connectionString, @"Database=(\d*)_").Groups[1].Value;
                    string sdk           = $"Database={dbPrefix}_SDK;";
                    connectionString = connectionString.Replace(dbNameSection, sdk);
                    await _options.UpdateDb(settings => { settings.SdkConnectionString = connectionString; }, _dbContext, UserId);
                }

                return(new OperationDataResult <BaneDanmarkLaBaseSettings>(true, option));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                _logger.LogError(e.Message);
                return(new OperationDataResult <BaneDanmarkLaBaseSettings>(false,
                                                                           _baneDanmarkLaLocalizationService.GetString("ErrorWhileObtainingItemsPlanningSettings")));
            }
        }
        public async Task <OperationDataResult <CaseTemplatesModel> > GetAll(CaseTemplateRequestModel pnRequestModel)
        {
            try
            {
                CaseTemplatesModel caseTemplatesModel = new CaseTemplatesModel();

                IQueryable <CaseTemplate> caseTemplatesQuery = _dbContext.CaseTemplates.AsQueryable();
                if (!string.IsNullOrEmpty(pnRequestModel.Sort))
                {
                    if (pnRequestModel.IsSortDsc)
                    {
                        caseTemplatesQuery = caseTemplatesQuery.CustomOrderByDescending(pnRequestModel.Sort);
                    }
                    else
                    {
                        caseTemplatesQuery = caseTemplatesQuery.CustomOrderBy(pnRequestModel.Sort);
                    }
                }
                else
                {
                    caseTemplatesQuery = _dbContext.CaseTemplates.OrderBy(x => x.Id);
                }

                if (!string.IsNullOrEmpty(pnRequestModel.NameFilter))
                {
                    caseTemplatesQuery = caseTemplatesQuery.Where(x => x.Title.Contains(pnRequestModel.NameFilter));
                }

                caseTemplatesQuery
                    = caseTemplatesQuery
                      .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                      .Skip(pnRequestModel.Offset)
                      .Take(pnRequestModel.PageSize);

                List <CaseTemplateModel> caseTemplates = await caseTemplatesQuery.Select(x => new CaseTemplateModel()
                {
                    Id        = x.Id,
                    Title     = x.Title,
                    CreatedAt = x.CreatedAt,
//                    CreatedBy = x.,
                    ShowFrom = x.StartAt.ToString(),
                    ShowTo   = x.EndAt.ToString()
//                    Status = x.Status
                }).ToListAsync();

                caseTemplatesModel.Total = await _dbContext.CaseTemplates.CountAsync(x =>
                                                                                     x.WorkflowState != Constants.WorkflowStates.Removed);

                caseTemplatesModel.CaseTemplates = caseTemplates;

                return(new OperationDataResult <CaseTemplatesModel>(true, caseTemplatesModel));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                return(new OperationDataResult <CaseTemplatesModel>(false,
                                                                    _baneDanmarkLaLocalizationService.GetString("ErrorObtainingLists")));
            }
        }