public ActionResult Enviar(MarketingViewModel model)
        {
            if (EmailMarketingValido(model))
            {
                EmailsMarketing emailMarketing = model.IDEmailMarketing > 0 ? EmailMarketingService.getEmailMarketing(model.IDEmailMarketing) : new EmailsMarketing();

                fillCTM(emailMarketing, model);
                EmailMarketingService.save(emailMarketing);
            }

            var mailObject = new MailMessage();
            var smtpServer = new SmtpClient(ConfigurationManager.AppSettings.Get("email.smtp"));
            var htmlBody   = "<html><body>{0}</body></html>";

            mailObject.From = new MailAddress(model.Remetente);

            model.Destinatario.Split(',').ForEach(email => mailObject.To.Add(new MailAddress(email)));

            mailObject.Subject    = model.Assunto;
            mailObject.Body       = String.Format(htmlBody, model.Corpo);
            mailObject.IsBodyHtml = true;

            smtpServer.Port        = Convert.ToInt32(ConfigurationManager.AppSettings.Get("email.port"));
            smtpServer.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings.Get("email.user"), ConfigurationManager.AppSettings.Get("email.password"));
            smtpServer.EnableSsl   = true;

            smtpServer.Send(mailObject);

            addMensagemSucesso("E-mail marketing enviado com sucesso!");

            return(RedirectToAction("Index", "Marketing"));
        }
        public ActionResult UserIndex(string id)
        {
            var vm = new MarketingViewModel(id);

            vm.HandleRequest();
            return(View(vm));
        }
        public ActionResult IndexAdmin(string id, bool role)
        {
            var vm = new MarketingViewModel(id, role);

            vm.HandleRequest();
            return(View("Index", vm));
        }
        public ActionResult Index()
        {
            var model = new MarketingViewModel {
                ListResultado = EmailMarketingService.getEmailMarketing(null).Select(getViewModel).ToList()
            };

            return(View(model));
        }
 public ActionResult UserIndex(MarketingViewModel vm)
 {
     vm.HandleRequest();
     // NOTE: Must clear the model state in order to bind
     //       the @Html helpers to the new model values
     ModelState.Clear();
     return(View(vm));
 }
 private void fillCTM(EmailsMarketing emailMarketing, MarketingViewModel model)
 {
     emailMarketing.IDUsuario        = visitor.ID;
     emailMarketing.Assunto          = model.Assunto;
     emailMarketing.Corpo            = model.Corpo;
     emailMarketing.Destinatarios    = model.Destinatario;
     emailMarketing.Remetente        = model.Remetente;
     emailMarketing.IDEmailMarketing = model.IDEmailMarketing;
 }
        public ActionResult Create(MarketingViewModel model)
        {
            if (EmailMarketingValido(model))
            {
                var emailsMarketing = new EmailsMarketing();
                fillCTM(emailsMarketing, model);

                EmailMarketingService.save(emailsMarketing);

                addMensagemSucesso("E-mail marketing criado com sucesso!");
            }

            return(View(model));
        }
        public ActionResult Edit(MarketingViewModel model)
        {
            if (EmailMarketingValido(model))
            {
                var emailMarketing = EmailMarketingService.getEmailMarketing(model.IDEmailMarketing);
                fillCTM(emailMarketing, model);

                EmailMarketingService.save(emailMarketing);

                addMensagemSucesso("E-mail marketing alterado com sucesso!");
            }

            return(View(model));
        }
        private MarketingViewModel getViewModel(EmailsMarketing emailMarketing)
        {
            var model = new MarketingViewModel()
            {
                IDEmailMarketing = emailMarketing.IDEmailMarketing,
                Assunto          = emailMarketing.Assunto,
                Corpo            = emailMarketing.Corpo,
                DataCriacao      = emailMarketing.DataCriacao,
                Destinatario     = emailMarketing.Destinatarios,
                Remetente        = emailMarketing.Remetente
            };

            return(model);
        }
        public bool EmailMarketingValido(MarketingViewModel model)
        {
            if (string.IsNullOrWhiteSpace(model.Remetente))
            {
                addMensagemErro("Campo Remente é obrigatório");
            }
            else
            {
                var remetente = model.Remetente.Split(',');

                if (remetente.Count() > 1)
                {
                    addMensagemErro("Só é possível adicionar um remetente");
                }
                else if (!model.Remetente.IsValidEmail())
                {
                    addMensagemErro("E-mail do remente inválido");
                }
            }

            if (string.IsNullOrWhiteSpace(model.Destinatario))
            {
                addMensagemErro("Campo Destinatário é obrigatório");
            }
            else
            {
                var destinatarios = model.Destinatario.Split(',');

                if (destinatarios.Any(destinatario => !destinatario.IsValidEmail()))
                {
                    addMensagemErro("Um ou mais e-mail do campo Destionatário estão inválidos");
                }
            }

            if (string.IsNullOrWhiteSpace(model.Assunto))
            {
                addMensagemErro("Campo Assunto é obrigatório");
            }

            if (string.IsNullOrWhiteSpace(model.Corpo))
            {
                addMensagemErro("Campo Corpo do e-mail é obrigatório");
            }

            return(!listMensagensErros.Any());
        }
        public ActionResult Create()
        {
            var model = new MarketingViewModel();

            return(View(model));
        }
 public ActionResult Index(MarketingViewModel model)
 {
     model.ListResultado = EmailMarketingService.getEmailMarketing(model.Assunto).Select(getViewModel).ToList();
     return(View(model));
 }
Esempio n. 13
0
 public ActionResult Unsubscribe(MarketingViewModel Model)
 {
     return(View());
 }
Esempio n. 14
0
        public MarketingView(IGegevensService dataService, Frame frame, Inschrijving inschrijving)
        {
            DataContext = new MarketingViewModel(dataService, frame, inschrijving);

            InitializeComponent();
        }