Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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));
        }