public virtual async Task <ActionResult> AddBadgePost(BadgeEditViewModel badgeEditViewModel, HttpPostedFileBase badgeImage) { ClearModelErrors(); var badgeEdit = BadgeEdit.CreateBadge(); badgeEditViewModel.Badge = badgeEdit as BadgeEdit; if (badgeImage != null) { var bytes = badgeImage.InputStream.GetBytes(); badgeEditViewModel.Badge.SetBadgeImage(bytes); } SetActivitiesToAdd(badgeEditViewModel); if (await SaveObjectAsync(badgeEditViewModel.Badge, be => { UpdateModel(be, "Badge"); CheckForValidImage(be); if (be.Priority == 0) { be.Priority = Int32.MaxValue; } }, true)) { return(RedirectToAction(Mvc.BadgeManager.Index().Result)); } return(await AddBadge()); }
public async virtual Task <ActionResult> AddBadge() { var allActivities = await ActivityCollection.GetAllActivitiesAsync(false); var badgeEdit = BadgeEdit.CreateBadge(); var badgeEditViewModel = new BadgeEditViewModel(allActivities); badgeEditViewModel.Badge = badgeEdit as BadgeEdit; badgeEditViewModel.Badge.Priority = 0; return(View(Mvc.BadgeManager.Views.AddBadge, badgeEditViewModel)); }
private static void SetActivitiesToRemove(BadgeEditViewModel badgeEditViewModel) { var activityIdsToRemove = badgeEditViewModel.Badge.BadgeActivities .Where(bae => bae.ActivityId != badgeEditViewModel.SelectedActivityId) .Select(bae => bae.ActivityId) .ToList(); foreach (var activityId in activityIdsToRemove) { var badgeActivityEdit = badgeEditViewModel.Badge.BadgeActivities .Where(bae => bae.ActivityId == activityId) .Single(); badgeEditViewModel.Badge.BadgeActivities.Remove(badgeActivityEdit); } }
public virtual async Task <ActionResult> EditBadge(int id) { var allActivities = await ActivityCollection.GetAllActivitiesAsync(false); var badgeEdit = await BadgeEdit.GetBadgeEditByIdAsync(id); if (BusinessRules.HasPermission(AuthorizationActions.EditObject, badgeEdit)) { var badgeEditViewModel = new BadgeEditViewModel(allActivities, badgeEdit.BadgeActivities); badgeEditViewModel.Badge = badgeEdit as BadgeEdit; if (badgeEditViewModel.Badge.Priority == Int32.MaxValue) { badgeEditViewModel.Badge.Priority = 0; } return(View(Mvc.BadgeManager.Views.EditBadge, badgeEditViewModel)); } return(RedirectToAction(Mvc.Error.AccessDenied())); }
public ActionResult Edit(BadgeEditViewModel badge) { if (badge.Image != null) { var fileName = Path.GetFileName(badge.Image.FileName); badge.ImageUrl = fileName; var path = GetImagePath(badge.Id); var imagePath = path + "/" + fileName; Directory.CreateDirectory(path); badge.Image.SaveAs(imagePath); } else { badge.ImageUrl = _badgeRepository.Get(badge.Id).ImageUrl; } var editedBadge = Mapper.Map <BadgeEditViewModel, Badge>(badge); _badgeRepository.Update(editedBadge); return(RedirectToAction("Index")); }
public virtual async Task <ActionResult> EditBadgePost(int id, BadgeEditViewModel badgeEditViewModel, HttpPostedFileBase badgeImage) { badgeEditViewModel.Badge = await BadgeEdit.GetBadgeEditByIdAsync(id) as BadgeEdit; if (badgeImage != null) { var bytes = badgeImage.InputStream.GetBytes(); badgeEditViewModel.Badge.SetBadgeImage(bytes); } SetActivitiesToAdd(badgeEditViewModel); SetActivitiesToRemove(badgeEditViewModel); TryUpdateModel(badgeEditViewModel.Badge, "Badge"); CheckForValidImage(badgeEditViewModel.Badge); if (await SaveObjectAsync(badgeEditViewModel.Badge, true)) { return(RedirectToAction(Mvc.BadgeManager.Index().Result)); } return(await EditBadge(id)); }
private static void SetActivitiesToAdd(BadgeEditViewModel badgeEditViewModel) { var activityIdsToAdd = new List <int>(); if (badgeEditViewModel.SelectedActivityId.HasValue) { activityIdsToAdd = new List <int>() { badgeEditViewModel.SelectedActivityId.Value }; } foreach (var activityId in activityIdsToAdd) { if (!badgeEditViewModel.Badge.BadgeActivities.Where(bae => bae.ActivityId == activityId).Any()) { var badgeActivityEdit = BadgeActivityEdit.CreateBadgeActivity(); badgeActivityEdit.ActivityId = activityId; badgeEditViewModel.Badge.BadgeActivities.Add(badgeActivityEdit); } } }