Exemple #1
0
        /// <summary>
        /// Visa startlista
        /// </summary>
        /// <param name="id">Evenemangs ID</param>
        /// <returns></returns>
        public ActionResult Startlista(int?id)
        {
            if (id == null)
            {
                return(ShowError(log, "Inget evenemang angivit. Klicka på länken nedan och välj ett evenemang.", false));
            }

            var evenemang = smuService.Db.Evenemang.Find(id);

            var evenemangResult = EvenemangHelper.EvaluateEvenemang(evenemang);

            if (evenemangResult == EvenemangHelper.EvenemangValidationResult.DoesNotExist)
            {
                return(ShowError(log, "Evenemang med id " + id.Value + " är antingen borttaget ur databasen eller felaktigt angivet.", false));
            }

            var regs    = smuService.Db.Registreringar.Include("Deltagare").Where(reg => reg.EvenemangsId == id.Value && reg.HarBetalt).ToList();
            var banor   = smuService.Db.Banor.ToList();
            var klasser = smuService.Db.Klasser.ToList();

            var startlista = StartlistaViewModel.GetStartlist(regs, evenemang.Namn, banor, klasser);

            ViewBag.ev = evenemang.Namn;
            return(View("Startlista", startlista));
        }
        public ActionResult Index(int?id)
        {
            SignMeUpVM SUPVM = (SignMeUpVM)Session["VM"];

            // Om view model innehåller ett evenemangsid som inte stämmer med inkommande id, nolla wizard
            if (SUPVM != null && id != null && SUPVM.EvenemangsId != id.Value)
            {
                SUPVM = null;
            }

            if (SUPVM == null)
            {
                if (id == null)
                {
                    return(ShowError(log, "Inget evenemang angivit. Klicka på länken nedan och välj ett evenemang.", false));
                }

                var evenemang = smuService.Db.Evenemang.Find(id);

                LogDebug(log, "Användare går in på anmälan för: " + evenemang.Namn);

                var evenemangResult = EvenemangHelper.EvaluateEvenemang(evenemang);

                if (evenemangResult == EvenemangHelper.EvenemangValidationResult.NotOpen)
                {
                    ViewBag.Closed  = false;
                    ViewBag.NotOpen = true;
                    return(View("RegNotOpen", evenemang));
                }
                else if (evenemangResult == EvenemangHelper.EvenemangValidationResult.Closed)
                {
                    ViewBag.Closed  = true;
                    ViewBag.NotOpen = false;
                    return(View("RegNotOpen", evenemang));
                }
                else if (evenemangResult == EvenemangHelper.EvenemangValidationResult.DoesNotExist)
                {
                    return(ShowError(log, "Evenemang med id " + id.Value + " är antingen borttaget ur databasen eller felaktigt angivet.", false));
                }

                ViewBag.ev = evenemang.Namn;

                // Förseningsavgift
                var f = smuService.HamtaForseningsavfigt(evenemang.Id);

                SUPVM = new SignMeUpVM
                {
                    EvenemangsId        = evenemang.Id,
                    EvenemangsNamn      = evenemang.Namn,
                    KanBetalaMedFaktura = evenemang.Fakturabetalning.HasValue ? evenemang.Fakturabetalning.Value : false,
                    FAVM  = f,
                    Steps = smuService.HamtaWizardSteps(evenemang.Id)
                };
            }

            HanteraPaymentError();

            if (id == null && SUPVM != null && SUPVM.EvenemangsId != 0)
            {
                id = SUPVM.EvenemangsId;
            }

            Session["VM"] = SUPVM;

            return(View(SUPVM.CurrentStep));
        }