Exemplo n.º 1
0
        public JsonResult NewsLetter(NewsLetterViewModel newsLetterViewModel)
        {
            // save email
            User user = new User();

            user.Email = newsLetterViewModel.Email;

            ViewBag.Message = "Your application description page.";

            return(Json(""));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> newsletter(NewsLetterViewModel model)
        {
            ViewData["Page"] = "index";
            if (model.page != null)
            {
                ViewData["Page"] = model.page;
            }

            if (ModelState.IsValid)
            {
                if (_activeCompaignSettings.enable)
                {
                    var tags   = "NewsLetter";
                    var listId = _activeCompaignSettings.listId;
                    try
                    {
                        var contact = new Dictionary <string, string> {
                            { "email", model.EmailAddress },
                            { "tags", tags },
                            { "p[{" + listId + "}]", listId.ToString() },
                            { "status[{" + listId + "}]", "1" },
                        };

                        var activeCampaignClientResult = await _activeCampaignClient.Call(
                            "contact/sync",
                            contact
                            );

                        model.Message   = "Thank you for your request!  A member of our team will be in touch with you shortly.";
                        model.AlertType = AlertTypes.Success;
                    }
                    catch (Exception ex)
                    {
                        Jugnoon.BLL.ErrorLgBLL.Add(_context, "Problem occured while submitting your request, please try again.", "/newsletter", ex.Message);

                        model.Message = "Problem occured while submitting your request, please try again.";
                    }
                }

                else
                {
                    // active compaign not enabled
                    // add / customize newletter management with your own custom logic
                    model.Message   = "Thank you for your request!  A member of the our team will be in touch with you shortly.";
                    model.AlertType = AlertTypes.Success;
                }


                return(View("~/Views/Home/index.cshtml", model));
            }

            return(View(model));
        }
Exemplo n.º 3
0
        public IActionResult NewsLetter(NewsLetterViewModel formViewModel)
        {
            string name = formViewModel.Username;

            ViewBag.Username = name;

            string email = formViewModel.Email;

            ViewBag.Email = email;

            return(View("NewsLetterSuccess"));
        }
        public void UpdateNewsLetter(NewsLetterViewModel newsLetterVm)
        {
            var newsLetter = _newsLetterRepository.FindById(newsLetterVm.Id);

            if (newsLetter != null)
            {
                newsLetter.Status        = newsLetterVm.Status;
                newsLetter.TotalReceiver = newsLetterVm.TotalReceiver;
                newsLetter.Title         = newsLetterVm.Title;
                newsLetter.Content       = newsLetterVm.Content;

                _newsLetterRepository.Update(newsLetter);
            }
        }
        public async Task <bool> GenerateNewsLetter()
        {
            try
            {
                var initiativeYear = await _unitOfWork.InitiativeYear.GetInitiativeYearByYear(DateTime.Now.Year);

                var initiativeList = await _unitOfWork.Initiative.GetInitiatives(initiativeYear.Id.ToString());

                var reportList = new List <NewsLetterDto>();
                foreach (var initiative in initiativeList)
                {
                    var report       = new NewsLetterDto();
                    var initiativeId = initiative.Id.ToString();
                    report.InitativeId = initiativeId;
                    report.Initative   = initiative.Name;
                    var topContributors = await _unitOfWork.InitiativeMember.GetTopContributors(initiativeId);

                    if (topContributors != null)
                    {
                        report.TopContributors = topContributors;
                    }

                    var upComingReviewCycles = await _unitOfWork.ReviewCycle.GetUpComingReviewCycles(initiativeId);

                    if (upComingReviewCycles != null)
                    {
                        report.UpComingReviewCycles = upComingReviewCycles;
                    }
                    reportList.Add(report);
                }

                var model = new NewsLetterViewModel(reportList);

                const string view     = "/Views/Emails/NewsLetter/NewsLetter";
                var          htmlBody = await _renderer.RenderViewToStringAsync($"{view}Html.cshtml", model);

                await _azureBusService.SendNewsLetterAsync(htmlBody);

                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine($"error message: {e}");
                return(false);
            }
        }
        public IActionResult SaveNewsLetter(NewsLetterViewModel newsLetterVm)
        {
            if (!ModelState.IsValid)
            {
                return(new OkObjectResult(false));
            }

            if (newsLetterVm.Id != 0)
            {
                _newsLetterService.UpdateNewsLetter(newsLetterVm);
            }
            else
            {
                _newsLetterService.AddNewsLetter(newsLetterVm);
            }

            _newsLetterService.Save();
            return(new OkObjectResult(true));
        }
        public void AddNewsLetter(NewsLetterViewModel newsLetterVm)
        {
            var newsLetter = Mapper.Map <NewsLetterViewModel, NewsLetter>(newsLetterVm);

            _newsLetterRepository.Add(newsLetter);
        }