Beispiel #1
0
        // 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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }