public ActionResult Create(int? id, bool initial = false, bool copy = false) { LayoutViewModel.ActiveLink = Links.CreateChallenge; var membershipUser = Membership.GetUser(); if (membershipUser != null && membershipUser.ProviderUserKey != null) { if (LayoutViewModel.IsCouncil) { CreateChallengeViewModel viewModel; if (id != null) { viewModel = GetCreateChallengeViewModelForUpdate(id.Value); if (viewModel == null) { return RedirectToAction("Index", "ChallengesAdmin"); } if (copy == false) { viewModel.IsUpdate = true; } else { viewModel.IsUpdate = false; } LayoutViewModel.ActiveLink = Links.Challenges; } else { viewModel = new CreateChallengeViewModel(); var partner = new UserService().GetUserById(LayoutViewModel.CurrentAccountId); viewModel.Instance_Id = partner.Instance_Id; //if (initial) //{ // LayoutViewModel.HideTopWrapperMenu = true; // viewModel.IsInitialRegistrationStep = true; //} } ViewModelHelper.SetDefaultsForChallengeViewModel(viewModel, membershipUser); return View(viewModel); } else return RedirectToAction("Index", "Home"); } else return RedirectToAction("Index", "Home"); }
private CreateChallengeViewModel GetCreateChallengeViewModelForUpdate(int id) { ChallengeModel model = new ChallengesAdminService().GetChallengeDetails(id); //Current user doesn't have privileges to see this reward //can see challenges from same instance if (!new ChallengesAdminService().CheckInInstance(id, new Guid(LayoutViewModel.ProviderUserKey))) { return null; } //if (new Guid(LayoutViewModel.ProviderUserKey) != model.Owner_Id) //{ // return null; //} CreateChallengeViewModel viewModel = new CreateChallengeViewModel(); Utils.CopyProperties(model, viewModel); //viewModel.ProfileImages = model.ProfileImages; return viewModel; }
public ActionResult Create(CreateChallengeViewModel model, string saveAndPreviewButton, string saveAndExitButton) { LayoutViewModel.ActiveLink = Links.CreateChallenge; var membershipUser = Membership.GetUser(); if (membershipUser != null && membershipUser.ProviderUserKey != null) { if (LayoutViewModel.IsCouncil) { if (ModelState.IsValid) { ChallengeModel challengeModel = new ChallengeModel(); Utils.CopyProperties(model, challengeModel); if (model.LogoPhoto != null && model.LogoPhoto.ContentLength > 0) { MemoryStream target = new MemoryStream(); model.LogoPhoto.InputStream.CopyTo(target); byte[] data = target.ToArray(); UploadModel uploadModel = new UploadModel { ContentType = model.LogoPhoto.ContentType, Contents = data, FileName = model.LogoPhoto.FileName }; UploadModel upload = new UploadService().UploadFile(membershipUser.ProviderUserKey.ToString(), uploadModel); challengeModel.LogoImageId = upload.UploadId; } if (model.ProfileImage != null) { List<UploadModel> profileImages = new List<UploadModel>(); for (var i = 0; i < 4; i++) { var image = model.ProfileImage[i]; UploadModel uploadModel = new UploadModel(); if (image != null) { MemoryStream target = new MemoryStream(); image.InputStream.CopyTo(target); byte[] data = target.ToArray(); uploadModel.ContentType = image.ContentType; uploadModel.Contents = data; uploadModel.FileName = image.FileName; } profileImages.Add(uploadModel); } challengeModel.ProfileImages = profileImages; } // rewardModel.PartnerEmail = model.PartnerEmail ?? membershipUser.Email; if (model.StartDate == DateTime.MinValue) { challengeModel.StartDate = null; } if (model.EndDate == DateTime.MinValue) { challengeModel.EndDate = null; } if (model.Points == null) { challengeModel.Points = 0; } int? challengeId; if (model.IsUpdate) { challengeId = new ChallengesAdminService().UpdateChallenge((Guid)membershipUser.ProviderUserKey, challengeModel); } else { challengeId = new ChallengesAdminService().CreateChallenge((Guid)membershipUser.ProviderUserKey, challengeModel); } if (challengeId != null) { //if (rewardModel.State == (int)RewardState.WaitingApproval) //{ // SendRewardSubmitEmail(rewardModel); //} } else { ModelState.AddModelError("", "Unable to save changes to database"); ViewModelHelper.SetDefaultsForChallengeViewModel(model, membershipUser); return View(model); } //if (saveAndApproveButton != null) //{ // return RedirectToAction("Create", new { id = rewardId, approve = true }); //} if (saveAndExitButton != null) { return RedirectToAction("Index"); } if (saveAndPreviewButton != null) { // redirect to Challenge page return RedirectToAction("Details", "Challenges", new { id = challengeId }); } return RedirectToAction("Create", new { id = challengeId }); } ViewModelHelper.SetDefaultsForChallengeViewModel(model, membershipUser); if (model.IsInitialRegistrationStep) { LayoutViewModel.HideTopWrapperMenu = true; } return View(model); } else return RedirectToAction("Index", "Home"); } else return RedirectToAction("Index", "Home"); }