Exemplo n.º 1
0
        //
        // GET: /Indulgence/
        public ActionResult Index(string guid)
        {
            if (TempData["absolved"] != null || !string.IsNullOrWhiteSpace(Request.QueryString["congratulations"]))
            {
                ViewData["ShowBlessing"] = true;
            }

            var absolutionViewModel = new IndulgencesViewModel();

            absolutionViewModel.Indulgence = _indulgeMeService.GetIndulgenceByGuid(guid);
            if (absolutionViewModel.Indulgence == null)
            {
                return(HttpNotFound("Couldn't find that indulgence"));
            }

            if (absolutionViewModel.Indulgence.Sin == null)
            {
                return(HttpNotFound("Couldn't find that sin"));
            }

            absolutionViewModel.Sin             = absolutionViewModel.Indulgence.Sin;
            absolutionViewModel.Sin.Indulgences = _indulgeMeService.AllIndulgencesForSin(absolutionViewModel.Indulgence.Sin).ToList();

            absolutionViewModel.TotalDonationCount = absolutionViewModel.Sin.Indulgences.Count();
            absolutionViewModel.TotalDonated       = absolutionViewModel.Sin.Indulgences.Sum(a => a.AmountDonated);
            absolutionViewModel.ImageAlt           =
                string.Format("{0} {1} donated {2:c} to {3} on the {4} of {5:MMMM}, {5:yyyy}",
                              absolutionViewModel.Indulgence.Confession,
                              absolutionViewModel.Indulgence.Name,
                              absolutionViewModel.Indulgence.AmountDonated,
                              absolutionViewModel.Indulgence.CharityName,
                              absolutionViewModel.Indulgence.DateConfessed,
                              TextUtils.DayOfMonth(absolutionViewModel.Indulgence.DateConfessed),
                              absolutionViewModel.Indulgence);

            return(View(absolutionViewModel));
        }