public HttpResponseMessage PostCampaign(CampaignViewModel viewModel) { InsertCampaignRequest request = new InsertCampaignRequest() { CampaignViewModel = viewModel, AccountId = this.AccountId }; request.CampaignViewModel.ScheduleTime = DateTime.Now.ToUniversalTime(); DateTime universaldate = DateTime.Now.ToUniversalTime(); viewModel.CampaignTemplate = new CampaignTemplateViewModel() { TemplateId = 1 }; viewModel.CreatedDate = universaldate; viewModel.CreatedBy = this.UserId; viewModel.LastUpdatedBy = this.UserId; viewModel.LastUpdatedOn = universaldate; viewModel.SenderName = ""; viewModel.Posts = viewModel.GetPosts(); viewModel.ToTagStatus = 2; viewModel.SSContactsStatus = 2; viewModel.HasDisclaimer = accountService.AccountHasDisclaimer(this.AccountId).HasValue&& accountService.AccountHasDisclaimer(this.AccountId).Value == true? true:false; viewModel.IncludePlainText = (CampaignType)viewModel.CampaignTypeId == CampaignType.PlainText ? false : true; if (viewModel.CampaignStatus != CampaignStatus.Active) { viewModel.CampaignStatus = CampaignStatus.Draft; } if (!string.IsNullOrEmpty(viewModel.HTMLContent)) { StringBuilder result = new StringBuilder(viewModel.HTMLContent.Length + (int)(viewModel.HTMLContent.Length * 0.1)); foreach (char c in viewModel.HTMLContent) { int value = Convert.ToInt32(c); if (value > 127) { result.AppendFormat("&#{0};", value); } else { result.Append(c); } } viewModel.HTMLContent = result.ToString(); } viewModel.AccountID = this.AccountId; foreach (var post in viewModel.Posts) { post.UserID = viewModel.CreatedBy; post.CampaignID = 0; } InsertCampaignResponse response = campaignService.InsertCampaign(request); return(Request.BuildResponse(response)); }
public HttpResponseMessage ReplicateCampaign(CampaignViewModel viewModel) { viewModel.CampaignID = 0; InsertCampaignRequest request = new InsertCampaignRequest() { CampaignViewModel = viewModel, AccountId = this.AccountId }; if (request.CampaignViewModel.ScheduleTime != null) { request.CampaignViewModel.ScheduleTime = request.CampaignViewModel.ScheduleTime.Value.ToUniversalTime(); } DateTime universaldate = DateTime.Now.ToUniversalTime(); viewModel.CreatedDate = universaldate; viewModel.CreatedBy = this.UserId; viewModel.LastUpdatedBy = this.UserId; viewModel.LastUpdatedOn = universaldate; viewModel.Posts = viewModel.GetPosts(); foreach (var post in viewModel.Posts) { post.UserID = viewModel.CreatedBy; post.CampaignID = 0; } InsertCampaignResponse response = campaignService.InsertCampaign(request); return(Request.BuildResponse(response)); }
public void InsertCampaign_PassedCampaignWithNameThatAlreadyExists_ThrowException() { mockCampaignRepository.Setup(tr => tr.IsCampaignNameUnique(It.IsAny <Campaign>())).Returns(false); CampaignViewModel campaignViewModel = CampaignMockData.CreateCampaignViewModelWithCustomValues(mockRepository, 0, DateTime.Now.ToString() , "test", DateTime.Now, "*****@*****.**", 2, Entities.CampaignStatus.Scheduled, 1, 2, 2); InsertCampaignRequest request = new InsertCampaignRequest() { CampaignViewModel = campaignViewModel }; InsertCampaignResponse response = new InsertCampaignResponse(); response = campaignService.InsertCampaign(request); mockRepository.VerifyAll(); Assert.AreNotEqual(null, response.Exception); }
public void InsertCampaign_WithNoContactTags_NotInserted() { mockCampaignRepository.Setup(tr => tr.IsCampaignNameUnique(It.IsAny <Campaign>())).Returns(true); mockCampaignRepository.Setup(tr => tr.Insert(It.IsAny <Campaign>())).Verifiable("Insert method called"); CampaignViewModel campaignViewModel = CampaignMockData.CreateCampaignViewModelWithCustomValues(mockRepository, 0, DateTime.Now.ToString() , "test", DateTime.Now, "*****@*****.**", 2, Entities.CampaignStatus.Scheduled, 1, 2, 2); InsertCampaignRequest request = new InsertCampaignRequest() { CampaignViewModel = campaignViewModel }; InsertCampaignResponse response = new InsertCampaignResponse(); response = campaignService.InsertCampaign(request); mockRepository.VerifyAll(); Assert.AreEqual(null, response.Exception); }
public HttpResponseMessage PostCampaign(CampaignViewModel viewModel) { InsertCampaignRequest request = new InsertCampaignRequest() { CampaignViewModel = viewModel, AccountId = this.AccountId }; request.CampaignViewModel.ScheduleTime = DateTime.Now.ToUniversalTime(); DateTime universaldate = DateTime.Now.ToUniversalTime(); viewModel.CampaignTemplate = new CampaignTemplateViewModel() { TemplateId = 1 }; viewModel.CreatedDate = universaldate; viewModel.CreatedBy = this.UserId; viewModel.LastUpdatedBy = this.UserId; viewModel.LastUpdatedOn = universaldate; viewModel.SenderName = ""; viewModel.Posts = viewModel.GetPosts(); viewModel.ToTagStatus = 2; viewModel.SSContactsStatus = 2; viewModel.HasDisclaimer = accountService.AccountHasDisclaimer(this.AccountId).HasValue&& accountService.AccountHasDisclaimer(this.AccountId).Value == true? true:false; viewModel.IncludePlainText = (CampaignType)viewModel.CampaignTypeId == CampaignType.PlainText ? false : true; if (viewModel.CampaignStatus != CampaignStatus.Active) { viewModel.CampaignStatus = CampaignStatus.Draft; } if (!string.IsNullOrEmpty(viewModel.HTMLContent)) { viewModel.HTMLContent = viewModel.HTMLContent.CharactersToHtmlCodes(); } viewModel.AccountID = this.AccountId; foreach (var post in viewModel.Posts) { post.UserID = viewModel.CreatedBy; post.CampaignID = 0; } InsertCampaignResponse response = campaignService.InsertCampaign(request); return(Request.BuildResponse(response)); }