Esempio n. 1
0
        public async Task <OperationResult> Update(FolderUpdateModel folderUpdateModel)
        {
            var core = await _coreHelper.GetCore();

            try
            {
                await using var sdkDbContext = core.DbContextHelper.GetDbContext();
                //var names = new List<KeyValuePair<string, string>>();
                //var descriptions = new List<KeyValuePair<string, string>>();
                //var languages = await sdkDbContext.Languages
                //    .Select(x => new {x.LanguageCode, x.Id})
                //    .ToListAsync();

                //foreach (var folderTranslationModel in folderUpdateModel.Translations)
                //{
                //    var languageCode = languages
                //        .First(y => y.Id == folderTranslationModel.LanguageId).LanguageCode;
                //    names.Add(new KeyValuePair<string, string>(languageCode, folderTranslationModel.Name));
                //    descriptions.Add(
                //        new KeyValuePair<string, string>(languageCode, folderTranslationModel.Description));
                //}

                var folder = await sdkDbContext.Folders.SingleOrDefaultAsync(x => x.Id == folderUpdateModel.Id);

                //await core.FolderUpdate(
                //    folderUpdateModel.Id,
                //    names,
                //    descriptions,
                //    folder.ParentId);

                var folderTranslations = folderUpdateModel.Translations
                                         .Select(x => new CommonTranslationsModel
                {
                    Name        = x.Name,
                    Description = x.Description,
                    LanguageId  = x.LanguageId,
                }).ToList();

                await core.FolderUpdate(folderUpdateModel.Id, folderTranslations, folder.ParentId);

                return(new OperationResult(true));
            }
            catch (Exception e)
            {
                _coreHelper.LogException(e.Message);
                _logger.LogError(e, e.Message);
                return(new OperationResult(
                           false,
                           _localizationService.GetString("ErrorWhileUpdatingFolder")));
            }
        }
Esempio n. 2
0
 public async Task <OperationResult> Update([FromBody] FolderUpdateModel folderUpdateModel)
 {
     return(await _foldersService.Update(folderUpdateModel));
 }