public HttpResponseMessage PutCampaign(CampaignViewModel viewModel)
        {
            viewModel.ScheduleTime = DateTime.Now.ToUniversalTime();
            viewModel.CreatedDate  = viewModel.CreatedDate.ToUniversalTime();
            DateTime universaldate = DateTime.Now.ToUniversalTime();

            viewModel.LastUpdatedBy = this.UserId;
            viewModel.LastUpdatedOn = universaldate;
            viewModel.Posts         = viewModel.GetPosts();

            if (!string.IsNullOrEmpty(viewModel.HTMLContent))
            {
                viewModel.HTMLContent = viewModel.HTMLContent.CharactersToHtmlCodes();
            }


            viewModel.HasDisclaimer = accountService.AccountHasDisclaimer(this.AccountId).HasValue&& accountService.AccountHasDisclaimer(this.AccountId).Value == true ? true : false;
            foreach (var post in viewModel.Posts)
            {
                post.UserID     = this.UserId;
                post.CampaignID = viewModel.CampaignID;
            }
            UpdateCampaignRequest request = new UpdateCampaignRequest()
            {
                CampaignViewModel = viewModel, RequestedBy = this.UserId, AccountId = this.AccountId
            };
            UpdateCampaignResponse response = campaignService.UpdateCampaign(request);

            return(Request.BuildResponse(response));
        }
        public void UpdateCampaign_PassedInvalidCampaign_NotInserted_NotImplementedYet()
        {
            mockCampaignRepository.Setup(cr => cr.IsCampaignNameUnique(It.IsAny <Campaign>())).Returns(true);
            CampaignViewModel campaignViewModel = CampaignMockData.CreateCampaignViewModelWithCustomValues(mockRepository, 1, DateTime.Now.ToString()
                                                                                                           , "test", DateTime.Now.AddDays(-1), "*****@*****.**", 2, Entities.CampaignStatus.Scheduled, 1, 2, 2);
            UpdateCampaignRequest request = new UpdateCampaignRequest()
            {
                CampaignViewModel = campaignViewModel
            };
            UpdateCampaignResponse response = campaignService.UpdateCampaign(request);

            mockCampaignRepository.VerifyAll();
            Assert.AreEqual("Schedule time is invalid\r\n", response.Exception.Message);
        }
        public async Task UpdateAsync(string id, UpdateCampaignRequest request)
        {
            var entity = await _readRepository.GetByIdAsync(id);

            var updatedEntity = new CampaignEntity
            {
                Name = request.Name
            };

            await(await _container).ReplaceItemAsync(
                await _entityMutator.UpdateMetadataAsync(updatedEntity, entity, request.SharedWith),
                id
                );
        }
        public void UpdateCampaign_PassedValidCampaign_UpdatedSuccessfully()
        {
            mockCampaignRepository.Setup(cr => cr.Update(It.IsAny <Campaign>())).Verifiable();
            mockCampaignRepository.Setup(cr => cr.IsCampaignNameUnique(It.IsAny <Campaign>())).Returns(true);
            CampaignViewModel campaignViewModel = CampaignMockData.CreateCampaignViewModelWithCustomValues(mockRepository, 1, DateTime.Now.ToString()
                                                                                                           , "test", DateTime.Now, "*****@*****.**", 2, Entities.CampaignStatus.Scheduled, 1, 2, 2);
            UpdateCampaignRequest request = new UpdateCampaignRequest()
            {
                CampaignViewModel = campaignViewModel
            };
            UpdateCampaignResponse response = campaignService.UpdateCampaign(request);

            mockCampaignRepository.VerifyAll();
            Assert.AreEqual(null, response.Exception);
        }
        public HttpResponseMessage PutCampaign(CampaignViewModel viewModel)
        {
            viewModel.ScheduleTime = DateTime.Now.ToUniversalTime();
            viewModel.CreatedDate  = viewModel.CreatedDate.ToUniversalTime();
            DateTime universaldate = DateTime.Now.ToUniversalTime();

            viewModel.LastUpdatedBy = this.UserId;
            viewModel.LastUpdatedOn = universaldate;
            viewModel.Posts         = viewModel.GetPosts();

            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.HasDisclaimer = accountService.AccountHasDisclaimer(this.AccountId).HasValue&& accountService.AccountHasDisclaimer(this.AccountId).Value == true ? true : false;
            foreach (var post in viewModel.Posts)
            {
                post.UserID     = this.UserId;
                post.CampaignID = viewModel.CampaignID;
            }
            UpdateCampaignRequest request = new UpdateCampaignRequest()
            {
                CampaignViewModel = viewModel, RequestedBy = this.UserId, AccountId = this.AccountId
            };
            UpdateCampaignResponse response = campaignService.UpdateCampaign(request);

            return(Request.BuildResponse(response));
        }
示例#6
0
        private bool UpdateCampaign(Campaign campaignToUpdate, Guid profileId)
        {
            // Every value of type string in the UpdateCampaignRequest must be assigned, otherwise it will be updated to the default value (which is string.Empty).

            UpdateCampaignRequest updateRequest = new UpdateCampaignRequest()
            {
                CampaignGuid    = campaignToUpdate.Guid,
                Language        = campaignToUpdate.Culture,
                SecurityContext = this.securityContext,
                ProfileGuid     = profileId,
                Name            = "My first campaign",
                SenderAddress   = "*****@*****.**",
                SenderName      = "mailworx Service Crew",
                Subject         = "My first Newsletter"
            };

            return(this.serviceAgent.UpdateCampaign(updateRequest) != null);
        }
示例#7
0
        public async Task <IActionResult> UpdateCampaign([FromRoute] Guid campaignId, [FromBody] UpdateCampaignRequest request)
        {
            var campaign = await CampaignService.GetCampaignById(campaignId);

            if (campaign is null)
            {
                return(NotFound());
            }
            await CampaignService.UpdateCampaign(campaignId, request);

            return(NoContent());
        }
 public async Task UpdateAsync(string id, UpdateCampaignRequest request) =>
 await _service.UpdateAsync(id, request);
 public async Task UpdateAsync(string id, UpdateCampaignRequest request) =>
 await _writeRepository.UpdateAsync(id, request);