예제 #1
0
 public void Update(EmailCampaignViewModel item)
 {
     try
     {
         EmailCampaign emailCampaign = mapper.Map <EmailCampaign>(item);
         Email         email         = unitOfWork.Emails.Get(filter: e => e.EmailAddress == item.EmailAddress).FirstOrDefault();
         if (email == null)
         {
             email = new Email();
             email.EmailAddress = item.EmailAddress;
             unitOfWork.Emails.Insert(email);
             emailCampaign.Email = email;
         }
         else
         {
             emailCampaign.EmailId = email.Id;
         }
         unitOfWork.EmailCampaigns.Update(emailCampaign);
         unitOfWork.Save();
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public IActionResult Edit(EmailCampaignViewModel campaign)
 {
     if (ModelState.IsValid)
     {
         string userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;
         campaign.UserId = userId;
         emailCampaignManager.Update(campaign);
         return(RedirectToAction("Index"));
     }
     return(View(campaign));
 }
        public IActionResult CreateCampaign(EmailCampaignViewModel campaign, List <EmailRecipientViewModel> recepients)
        {
            if (campaign.SendingTime < DateTime.Now)
            {
                campaign.SendingTime = DateTime.Now;
            }
            string userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            campaign.UserId = userId;
            emailCampaignManager.IncertWithRecepients(campaign, recepients);
            return(Json(new { newUrl = Url.Action("Index", "EmailCampaign") }));
        }
예제 #4
0
 public void IncertWithRecepients(EmailCampaignViewModel campaign, List <EmailRecipientViewModel> emailRecipients)
 {
     try
     {
         EmailCampaign emailCampaign = mapper.Map <EmailCampaign>(campaign);
         Email         email         = unitOfWork.Emails.Get(filter: e => e.EmailAddress == campaign.EmailAddress).FirstOrDefault();
         if (email == null)
         {
             email = new Email();
             email.EmailAddress = campaign.EmailAddress;
             unitOfWork.Emails.Insert(email);
             emailCampaign.Email = email;
         }
         else
         {
             emailCampaign.EmailId = email.Id;
         }
         notificationsGenerator.SupplyWithCampaignNotifications(emailCampaign);
         unitOfWork.EmailCampaigns.Insert(emailCampaign);
         unitOfWork.Save();
         foreach (var recipient in emailRecipients)
         {
             EmailRecipient newRecepient = mapper.Map <EmailRecipientViewModel, EmailRecipient>(recipient);
             newRecepient.CompanyId = emailCampaign.Id;
             email = unitOfWork.Emails.Get(filter: e => e.EmailAddress == recipient.EmailAddress).FirstOrDefault();
             if (email == null)
             {
                 email = new Email();
                 email.EmailAddress = recipient.EmailAddress;
                 unitOfWork.Emails.Insert(email);
                 newRecepient.Email = email;
             }
             else
             {
                 newRecepient.EmailId = email.Id;
             }
             unitOfWork.EmailRecipients.Insert(newRecepient);
             unitOfWork.Save();
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public void InsertWithRecepients_EmptyCampaign_ThrowNullReferenceException()
        {
            mockMapper.Setup(m => m.Map <EmailCampaign>(It.IsNotNull <EmailCampaignViewModel>()))
            .Returns(value: null);
            mockUnitOfWork.Setup(u => u.Emails.Get(It.IsAny <Expression <Func <Email, bool> > >(), It.IsAny <Func <IQueryable <Email>,
                                                                                                                   IOrderedQueryable <Email> > >(), It.IsAny <string>())).Returns(Emails);
            mockUnitOfWork.Setup(u => u.Emails.Insert(It.IsNotNull <Email>()));
            mockNotification.Setup(n => n.SupplyWithCampaignNotifications(It.IsAny <EmailCampaign>()));
            mockUnitOfWork.Setup(u => u.EmailCampaigns.Insert(It.IsNotNull <EmailCampaign>()));
            mockUnitOfWork.Setup(u => u.Save());
            mockMapper.Setup(m => m.Map <EmailRecipientViewModel, EmailRecipient>(recipientViewModels[0]))
            .Returns(emailRecipient);
            mockUnitOfWork.Setup(u => u.EmailRecipients.Insert(It.IsNotNull <EmailRecipient>()));
            EmailCampaignViewModel         emptyCampaign  = new EmailCampaignViewModel();
            List <EmailRecipientViewModel> recepientsList = new List <EmailRecipientViewModel>();

            Assert.Throws <NullReferenceException>(() => manager.IncertWithRecepients(emptyCampaign, recipientViewModels));
        }
        public IActionResult Edit(int campaignId)
        {
            EmailCampaignViewModel company = emailCampaignManager.GetById(campaignId);

            return(View(company));
        }
 protected override void Initialize()
 {
     base.Initialize();
     manager = new EmailCampaignManager(mockUnitOfWork.Object, mockMapper.Object, mockNotification.Object);
     Emails  = new List <Email>();
     Emails.Add(
         new Email()
     {
         Id           = 10,
         EmailAddress = "*****@*****.**"
     });
     Emails.Add(
         new Email()
     {
         Id           = 11,
         EmailAddress = "*****@*****.**"
     });
     recipientViewModels = new List <EmailRecipientViewModel>();
     recipientViewModels.Add(new EmailRecipientViewModel()
     {
         EmailAddress = "*****@*****.**",
         BirthDate    = DateTime.Now,
         Gender       = "Male",
         KeyWords     = "add",
         Name         = "John",
         Surname      = "Snow",
         Priority     = "Low",
         Id           = 0,
         CompanyId    = 0
     });
     emailCampaignViewModel = new EmailCampaignViewModel()
     {
         Id              = 0,
         EmailAddress    = "*****@*****.**",
         Description     = "test",
         Message         = "test",
         Name            = "test",
         SendingTime     = DateTime.Now,
         UserId          = "1cf1c047-9687-4663-be13-09e4a99f35f3",
         RecipientsCount = 1,
         EmailId         = 0
     };
     emailRecipient = new EmailRecipient()
     {
         BirthDate = DateTime.Now,
         Gender    = 0,
         IsSend    = 0,
         KeyWords  = "test",
         Name      = "test",
         Priority  = "Low",
         Surname   = "test"
     };
     emailCampaign = new EmailCampaign()
     {
         Name        = "test",
         Description = "test",
         Message     = "test",
         SendingTime = DateTime.Now
     };
     TestContext.WriteLine("Overrided");
 }