Exemplo n.º 1
0
        public virtual ActionResult InviteContactEnterprise(IEnumerable <int> selectedIdContactEnterprise, string messageInvitation)
        {
            if (selectedIdContactEnterprise != null)
            {
                TokenGenerator tokenGenerator = new TokenGenerator();

                foreach (int id in selectedIdContactEnterprise)
                {
                    string token = tokenGenerator.GenerateToken();

                    ContactEnterprise contactEnterpriseToSendMessage = _enterpriseContactRepository.GetById(id);

                    if (!ModelState.IsValid)
                    {
                        this.Flash(FlashMessageResources.ErrorsOnPage, FlashEnum.Error);
                        return(RedirectToAction(MVC.Coordinator.InviteContactEnterprise()));
                    }

                    String messageText   = EmailEnterpriseResources.InviteMessageBody;
                    String invitationUrl = String.Format(EmailEnterpriseResources.InviteLink, token);

                    messageText += invitationUrl;


                    if (messageInvitation != null)
                    {
                        messageText += EmailEnterpriseResources.MessageHeader;
                        messageText += messageInvitation;
                    }

                    if (
                        !_mailler.SendEmail(contactEnterpriseToSendMessage.Email, EmailEnterpriseResources.InviteSubject,
                                            messageText))
                    {
                        ModelState.AddModelError("Email", EmailResources.CantSendEmail);
                        this.Flash(FlashMessageResources.ErrorsOnPage, FlashEnum.Error);
                        return(RedirectToAction(MVC.Coordinator.InviteContactEnterprise()));
                    }

                    _invitationContactRepository.Add(new InvitationContactEnterprise()
                    {
                        Token          = token,
                        Email          = contactEnterpriseToSendMessage.Email,
                        FirstName      = contactEnterpriseToSendMessage.FirstName,
                        LastName       = contactEnterpriseToSendMessage.LastName,
                        EnterpriseName = contactEnterpriseToSendMessage.EnterpriseName,
                        Telephone      = contactEnterpriseToSendMessage.Telephone,
                        Poste          = contactEnterpriseToSendMessage.Poste,
                        Used           = false
                    });
                }
                this.Flash(FlashMessageResources.InvitationSend, FlashEnum.Success);
                return(RedirectToAction(MVC.Coordinator.InviteContactEnterpriseConfirmation()));
            }

            return(RedirectToAction(MVC.Coordinator.InviteContactEnterprise()));
        }
 private void EnterpriseRepositoryUpdateMethodShouldHaveReceived(ContactEnterprise enterprise)
 {
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.Id == enterprise.Id));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.Email == enterprise.Email));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.FirstName == enterprise.FirstName));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.LastName == enterprise.LastName));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.EnterpriseName == enterprise.EnterpriseName));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.Telephone == enterprise.Telephone));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.Poste == enterprise.Poste));
     enterpriseRepository.Received().Update(Arg.Is <ContactEnterprise>(x => x.Password == enterprise.Password));
 }