// GET: Edit existing activity public async Task <IActionResult> EditActivity(Guid?id) { if (id == null) { return(NotFound()); } var activity = await _context.Activities.Include(a => a.ActivityImage).Where(a => a.ActivityId.Equals(id)).FirstOrDefaultAsync(); if (activity == null) { return(NotFound()); } ActivityCategories activityCategory = new ActivityCategories { ActivityId = activity.ActivityId, ActivityTitle = activity.ActivityTitle, ActivityText = activity.ActivityText, ActivityImageId = activity.ActivityImageId, ActivityCategory = activity.ActivityCategory }; if (activity.ActivityImageId != null) { ViewData["ImagePath"] = activity.ActivityImage.ImagePath; } ViewData["Categories"] = TTLCategoryList(activityCategory.ActivityCategory); return(View(activityCategory)); }
public async Task <IActionResult> CreateActivity([Bind("ActivityTitle,ActivityText,ActivityCategory,CategoryName")] ActivityCategories activity, IFormFile file, string activityStatus) { if (activityStatus == "CreateActivity") { if (activity.ActivityCategory == Guid.Empty) { ModelState.AddModelError("CategoryName", "Add or select a category before creating an activity"); } //check if image is valid ValidImageUpload(file, "Activity"); if (ModelState.IsValid) { //create new activity object Activities newActivity = new Activities(); //give new activity a unique id newActivity.ActivityId = Guid.NewGuid(); newActivity.ActivityTitle = activity.ActivityTitle; newActivity.ActivityText = activity.ActivityText; newActivity.ActivityCategory = activity.ActivityCategory; //add image to image folder if employee uploaded one if (file != null) { //Add to Database Images image = await TTLAddImage(file); _context.Add(image); await _context.SaveChangesAsync(); newActivity.ActivityImageId = image.ImageId; } //set activity upload date newActivity.ActivityUploadDate = DateTime.Now; newActivity.ActivityEditDate = DateTime.Now; _context.Add(newActivity); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(AllActivities))); } } //Add New Category else { if (ModelState.IsValid) { Categories category = new Categories(); category.CategoryId = Guid.NewGuid(); category.CategoryName = activity.CategoryName; _context.Add(category); await _context.SaveChangesAsync(); activity.ActivityCategory = category.CategoryId; } } ViewData["Categories"] = TTLCategoryList(activity.ActivityCategory); return(View(activity)); }
public async Task <IActionResult> EditActivity(Guid id, [Bind("ActivityId,ActivityTitle,ActivityText,ActivityCategory,CategoryName,ActivityImageId")] ActivityCategories activity, IFormFile file, string activityStatus) { if (id != activity.ActivityId) { return(NotFound()); } if (activityStatus == "EditActivity") { if (activity.ActivityCategory == Guid.Empty) { ModelState.AddModelError("CategoryName", "Add or select a category before creating an activity"); } //check if image is valid ValidImageUpload(file, "Activity"); if (ModelState.IsValid) { var editActivity = await _context.Activities.Where(a => a.ActivityId.Equals(id)).FirstOrDefaultAsync(); Images oldImage = await _context.Images.Where(i => i.ImageId.Equals(editActivity.ActivityImageId)).FirstOrDefaultAsync(); editActivity.ActivityTitle = activity.ActivityTitle; editActivity.ActivityText = activity.ActivityText; editActivity.ActivityCategory = activity.ActivityCategory; editActivity.ActivityImageId = null; //add image to image folder if employee uploaded one if (file != null) { //Add to Database Images image = await TTLAddImage(file); _context.Add(image); await _context.SaveChangesAsync(); editActivity.ActivityImageId = image.ImageId; } //set activity edit date editActivity.ActivityEditDate = DateTime.Now; try { _context.Update(editActivity); if (oldImage != null) { TTLRemoveUnusedImage(editActivity.ActivityImageId, oldImage); } await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ActivityExists(editActivity.ActivityId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(AllActivities))); } } //Add New Category else if (activityStatus == "AddCategory") { if (ModelState.IsValid) { Categories category = new Categories(); category.CategoryId = Guid.NewGuid(); category.CategoryName = activity.CategoryName; _context.Add(category); await _context.SaveChangesAsync(); activity.ActivityCategory = category.CategoryId; } } //Remove Image from Activity else { activity.ActivityImageId = null; } if (activity.ActivityImageId != null) { ViewData["ImagePath"] = _context.Images.Where(i => i.ImageId.Equals(activity.ActivityImageId)).FirstOrDefault().ImagePath; } ViewData["Categories"] = TTLCategoryList(activity.ActivityCategory); return(View(activity)); }