private void PopulateCategories() { // to-do -- must use a config file string[] categoriesNames = new string[] { "Education", "Software", "Sport" }; foreach (var item in categoriesNames) { Category category = new Category { Name = item }; _context.Categories.Add(category); } _context.SaveChanges(); }
public async Task <OperationStatus> DeletePresentation(string presentationName, string userId) { var opResult = new OperationStatus(); var upList = _context.UserPresentations.Where(up => up.UserId == userId); var singledOutUP = await upList.Where(up => _context.Presentations.Any(p => p.Id == up.PresentationId && p.Name == presentationName)) .Include(up => up.Presentation).ToListAsync(); if (singledOutUP.Count == 1) { var up = singledOutUP.First(); var presentation = up.Presentation; _context.UserPresentations.Remove(up); var rows = await _context.SaveChangesAsync(); if (rows <= 0) { return(new OperationStatus { ErrorMessageIfAny = "Error while trying to update the database." }); } if (!await _context.UserPresentations.AnyAsync(u => u.PresentationId == presentation.Id)) { var presentationTags = _context.PresentationTags.Where(pt => pt.PresentationId == presentation.Id).ToList(); _context.Presentations.Remove(presentation); _context.PresentationTags.RemoveRange(presentationTags); _context.SaveChanges(); return(await _filesRepository.DeleteFileWithId(presentation.FileID)); } } else { opResult.ErrorMessageIfAny = "File not found"; } return(opResult); }