Esempio n. 1
0
        public async Task <List <Result> > UpdateChronicleAsync(Models.Other.CRUD.Chronicle chronicle)
        {
            var existingChronicle = _mapper.Map <Database.Entities.Other.Chronicle>(chronicle);
            var results           = new List <Result>();

            results.Update(await _dbClient.UpdateChronicleAsync(existingChronicle), ResultMessages.UpdateChronicle);
            if (results.Any(r => r.Type == ResultType.Failure))
            {
                return(results);
            }

            await _dbClient.AddOrRemoveCategoriesToExistingChronicleAsync(existingChronicle.Id, chronicle.CategoryIds);

            if (chronicle.NewCategoryNames != null && chronicle.NewCategoryNames.Any())
            {
                await _dbClient.CreateNewChronicleCategoriesAndConnectToNewChronicleWithIdAsync(existingChronicle.Id, chronicle.NewCategoryNames.ToList());
            }

            return(results);
        }