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 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));
        }