Пример #1
0
        public ActionResult Create(CreateDinnerModel model)
        {
            DateTime date;

            if (!DateTime.TryParseExact(model.Date, "MM/dd/yyyy HH:mm", null, DateTimeStyles.None, out date))
            {
                ModelState.AddModelError("Date", "The date entered was invalid");
            }

            if (model.PartnerEmail != null && !_securityUserReader.UserExists(model.PartnerEmail))
            {
                ModelState.AddModelError("PartnerEmail", "This person does not have a registered account");
            }

            if (ModelState.IsValid)
            {
                _gate.Dispatch(
                    new CreateDinnerCommand
                {
                    UserId       = User.TryGetPrincipal().UserId,
                    Starter      = model.Starter,
                    Main         = model.Main,
                    Dessert      = model.Dessert,
                    Dry          = model.DryDinner,
                    Description  = model.Description,
                    Date         = date,
                    PartnerEmail = model.PartnerEmail,
                    HostUrl      = Url.Action("ConfirmHost", "Membership", null, Request.Url.Scheme)
                });
                _gate.Dispatch(new RunMailerCommand());
                return(RedirectToAction("Index", "DinnerList"));
            }
            return(View("Create", model));
        }
Пример #2
0
        public ActionResult Create(CreateDinnerModel model)
        {
            DateTime date;
            if (!DateTime.TryParseExact(model.Date, "MM/dd/yyyy HH:mm", null, DateTimeStyles.None, out date))
                ModelState.AddModelError("Date", "The date entered was invalid");

            if (model.PartnerEmail != null && !_securityUserReader.UserExists(model.PartnerEmail))
                ModelState.AddModelError("PartnerEmail", "This person does not have a registered account");

            if (ModelState.IsValid)
            {
                _gate.Dispatch(
                    new CreateDinnerCommand
                        {
                            UserId = User.TryGetPrincipal().UserId,
                            Starter = model.Starter,
                            Main = model.Main,
                            Dessert = model.Dessert,
                            Dry = model.DryDinner,
                            Description = model.Description,
                            Date = date,
                            PartnerEmail = model.PartnerEmail,
                            HostUrl = Url.Action("ConfirmHost", "Membership", null, Request.Url.Scheme)
                        });
                _gate.Dispatch(new RunMailerCommand());
                return RedirectToAction("Index", "DinnerList");
            }
            return View("Create", model);
        }