コード例 #1
0
        private MeetupRegisterModel CreateModelForRegistration(MeetupRegisterModel model, bool onlyActiveAcc = true)
        {
            MeetupRegisterModel rm = _mapper.Map <MeetupRegisterModel>(model);

            rm.UserEmail = CurrentUser.Email;
            FillAccomodations(rm, true);
            return(rm);
        }
コード例 #2
0
        private MeetupRegisterModel CreateModelForRegistration(int meetupId, bool onlyActiveAcc = true)
        {
            MeetupRegisterModel rm = new MeetupRegisterModel(Domain.GetMeetup(meetupId, true))
            {
                UserEmail = CurrentUser.Email
            };

            FillAccomodations(rm, onlyActiveAcc);

            return(rm);
        }
コード例 #3
0
        public IActionResult PostRegister(MeetupRegisterModel model, [FromServices] IConfiguration configuration)
        {
            if (ModelState.IsValid)
            {
                var          accomodations = AccomodationModel.DefaultAccomodationModels;
                Registration r             = new Registration(CurrentUser.Id, model.MeetupId)
                {
                    AccomodationId     = model.AccomodationId,
                    Notes              = model.Notes,
                    NumberOfAdults     = model.AdultNumber,
                    NumberOfChildren   = model.ChildrenNumber,
                    RegistrationStatus = ERegistrationStatus.Registered
                };
                Domain.AddOrUpdateRegistration(r);
                string body = "Bonjour :-) <br/><br/>";
                body += "Voici une réservation à partir du site de Rencontres Non-Scos :<br/><br/>";
                body += $"Prénom : {CurrentUser.FirstName}<br/>  Nom : {CurrentUser.LastName} <br/>Email : {CurrentUser.Email}<br/>";
                body +=
                    $"Logement : {accomodations.Single(x => x.Id == r.AccomodationId).Id}<br/>Adultes : {r.NumberOfAdults} <br/>Enfants : {r.NumberOfChildren}<br/>";
                if (!string.IsNullOrWhiteSpace(r.Notes))
                {
                    body += "Notes :<hr>";
                    body += r.Notes;
                    body += "<hr>";
                }

                body += "<br/>Cordialement";
                SendEmail     se    = new SendEmail();
                Meetup        m     = Domain.GetMeetup(model.MeetupId, true);
                MyMeetupEmail email = new MyMeetupEmail($"{CurrentUser.FirstName} {CurrentUser.LastName} s'inscrit à " + m.Title, body, m.MeetupPlaceAdminEmail ?? configuration["emailContact"],
                                                        configuration["emailContact"]);
                if (!string.IsNullOrEmpty(m.MeetupPlaceAdminEmail))
                {
                    email.BCC = configuration["emailContact"];
                }

                if (Debugger.IsAttached)
                {
                    email.To      = configuration["emailContact"];
                    email.Subject = "TEST " + email.Subject;
                }

                email.ReplyTo = CurrentUser.Email;
                email.CC      = CurrentUser.Email;
                SendEmail s = new SendEmail();
                se.SendSmtpEmail(EmailSender.GetSettings(configuration), email);
                return(Redirect("/me"));
            }
            MeetupRegisterModel rm = CreateModelForRegistration(model);

            Tools.TransferModalStateError(rm.Errors, ModelState);

            return(View("Register", rm));
        }
コード例 #4
0
        private void FillAccomodations(MeetupRegisterModel rm, bool onlyActiveAcc)
        {
            var possible = AccomodationModel.DefaultAccomodationModels;

            rm.PossibleAccomodations = CreateSelectListForAcc((onlyActiveAcc) ? possible.Where(x => x.IsActive).ToList() : possible);
        }