Exemple #1
0
        public ActionResult Participate(string eventId, ViewModels.ParticipationViewModel vm)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ViewBag.EventId = eventId;
                    ParticipationManager manager       = new ParticipationManager(UnitOfWork);
                    Participation        participation = Mapper.Map <Participation>(vm);

                    manager.Participate(participation);

                    return(RedirectToAction("Confirm", new { participationId = participation.Id, participationUID = participation.UID }));
                }
                catch (EmailAlreadyExistsException)
                {
                    ModelState.AddModelError("Email", "Cet email a déjà été utilisé");
                }
                catch (Exception)
                {
                    ModelState.AddModelError("Error", "Une erreur est survenue lors de votre participation");
                }
            }
            return(View(vm));
        }
        public HttpResponseMessage DeclareWinner(string eventId, int id, Guid uid)
        {
            try
            {
                var manager = new ParticipationManager(UnitOfWork);
                manager.DeclareWinner(eventId, id, uid);

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Exemple #3
0
        public ActionResult Confirm(string eventId, int participationId, Guid participationUID)
        {
            try
            {
                ParticipationManager manager       = new ParticipationManager(UnitOfWork);
                Participation        participation = manager.Find(eventId, participationId, participationUID);

                return(View(Mapper.Map(participation, new ParticipationViewModel())));
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
        }
Exemple #4
0
        public ActionResult Validate(string eventId, int id, Guid uid)
        {
            try
            {
                ParticipationManager manager       = new ParticipationManager(UnitOfWork);
                Participation        participation = manager.Find(eventId, id, uid);

                if (!participation.IsWinner)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }

                return(View(Mapper.Map(participation, new ValidationViewModel())));
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
        }
Exemple #5
0
        public ActionResult Invite(string eventId, int participationId, Guid participationUID)
        {
            try
            {
                ParticipationManager manager       = new ParticipationManager(UnitOfWork);
                Participation        participation = manager.Find(eventId, participationId, participationUID);

                if (!participation.ValidationDate.HasValue)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }

                return(View(Mapper.Map(participation, new ValidationViewModel())));
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
        }
Exemple #6
0
        public ActionResult ValidateParticipation(string eventId, ValidationViewModel vm)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ParticipationManager manager = new ParticipationManager(UnitOfWork);

                    var participation = Mapper.Map(vm, new Participation());

                    manager.Validate(eventId, participation);

                    return(RedirectToAction("Invite", new { participationId = participation.Id, participationUID = participation.UID }));
                }
                catch
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }
            }
            return(View(vm));
        }