Exemplo n.º 1
0
        public ActionResult AdminUpdate(CampaignAdminModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelErrors"] = FindModelErrors();
                TempData["CampaignAdminModel"] = model;
                return RedirectToAction("Admin");
            }

            using (campaignRepository)
            {
                var campaign = campaignRepository.GetCampaignByID(model.CampaignID);

                if (campaign == null)
                {
                    return HttpNotFound("The campaign you are looking for could not be found.");
                }

                MapCampaign(campaign, model);
                campaignRepository.Save();
                TempData["UserFeedback"] = string.Format("'{0}' has been updated successfully.", campaign.Title);
                return RedirectToAction("List");
            }
        }
Exemplo n.º 2
0
        private void MapCampaign(Campaign campaign, CampaignAdminModel model)
        {
            campaign.Title = model.Title;
            campaign.Description = model.Description;
            campaign.StartDate = model.StartDate;
            campaign.EndDate = model.EndDate;
            campaign.UrlSlug = model.UrlSlug;
            decimal amount;

            if (decimal.TryParse(model.AmountString, out amount))
            {
                campaign.GoalAmount = amount;
            }
        }
Exemplo n.º 3
0
        public void AdminUpdate_Should_Update_Campaign_Properties_When_Successful()
        {
            var campaign = EntityHelpers.GetValidCampaign();
            campaignRepository.Add(campaign);
            var id = campaign.CampaignID;
            var model = new CampaignAdminModel
                            {
                                CampaignID = id,
                                AmountString = "12345.67",
                                Title = "Something different",
                                Description = "Some other description",
                                StartDate = DateTime.Now.AddDays(-10),
                                EndDate = DateTime.Now,
                                UrlSlug = "different"
                            };

            controller.AdminUpdate(model);
            campaign = campaignRepository.GetCampaignByID(id);
            Assert.AreEqual(model.Title, campaign.Title);
            Assert.AreEqual(model.Description, campaign.Description);
            Assert.AreEqual(model.StartDate, campaign.StartDate);
            Assert.AreEqual(model.EndDate, campaign.EndDate);
            Assert.AreEqual(model.UrlSlug, campaign.UrlSlug);
            Assert.AreEqual(decimal.Parse(model.AmountString), campaign.GoalAmount);
        }