public UpdateLeadAdapterResponse UpdateFacebookLeadAdapter(UpdateLeadAdapterRequest request) { Logger.Current.Verbose("Request received to update Facebook lead adapter."); try { LeadAdapterAndAccountMap leadAdapter = Mapper.Map <LeadAdapterViewModel, LeadAdapterAndAccountMap>(request.LeadAdapterViewModel); bool isDuplicate = leadAdaptersRepository.IsDuplicateFacebookAdapter(request.AccountId, leadAdapter.Id, leadAdapter.FacebookLeadAdapterName); if (isDuplicate) { throw new UnsupportedOperationException("[|LeadAdapter with same name already exists.|]"); } leadAdaptersRepository.Update(leadAdapter); unitOfWork.Commit(); GetFacebookAppResponse fbResponse = this.GetFacebookApp(new GetFacebookAppRequest() { AccountId = request.AccountId }); string extendedToken = this.GetExtendedPageAccessToken(leadAdapter.FacebookLeadAdapter.UserAccessToken, leadAdapter.FacebookLeadAdapter.PageID, fbResponse.FacebookAppID, fbResponse.FacebookAppSecret); leadAdapter.FacebookLeadAdapter.PageAccessToken = !string.IsNullOrEmpty(extendedToken) ? extendedToken : leadAdapter.FacebookLeadAdapter.PageAccessToken; leadAdaptersRepository.UpdateFacebookLeadAdapter(leadAdapter.FacebookLeadAdapter); } catch (Exception ex) { Logger.Current.Error("An error occured while updating facebook lead adapter", ex); } Logger.Current.Informational("Leadadapter updated successfully."); return(new UpdateLeadAdapterResponse()); }
public UpdateLeadAdapterResponse UpdateLeadAdapter(UpdateLeadAdapterRequest request) { Logger.Current.Verbose("Request received to update a lead adapter."); FTPAgent agent = new FTPAgent(); LeadAdapterAndAccountMap leadAdapter = Mapper.Map <LeadAdapterViewModel, LeadAdapterAndAccountMap>(request.LeadAdapterViewModel); bool isDuplicate = leadAdaptersRepository.IsDuplicateLeadAdapter(leadAdapter.LeadAdapterTypeID, leadAdapter.AccountID, leadAdapter.Id); if (isDuplicate) { throw new UnsupportedOperationException("[|LeadAdapter already exists.|]"); } string leadAdapterPhysicalPath = ConfigurationManager.AppSettings["LEADADAPTER_PHYSICAL_PATH"].ToString(); request.LeadAdapterViewModel.ArchivePath = Path.Combine(leadAdapterPhysicalPath, request.LeadAdapterViewModel.AccountID.ToString(), request.LeadAdapterViewModel.LeadAdapterType.ToString(), "Archive"); request.LeadAdapterViewModel.LocalFilePath = Path.Combine(leadAdapterPhysicalPath, request.LeadAdapterViewModel.AccountID.ToString(), request.LeadAdapterViewModel.LeadAdapterType.ToString(), "Local"); if (agent.UpdateFtpRegistration(request.LeadAdapterViewModel.UserName, request.LeadAdapterViewModel.Password, request.LeadAdapterViewModel.Url, request.LeadAdapterViewModel.Port, request.LeadAdapterViewModel.EnableSSL, request.LeadAdapterViewModel.RequestGuid) && leadAdapter != null) { leadAdaptersRepository.Update(leadAdapter); unitOfWork.Commit(); Logger.Current.Informational("Leadadapter updated successfully."); } return(new UpdateLeadAdapterResponse()); }
public ActionResult UpdateLeadAdapter(string leadAdapterViewModel) { LeadAdapterViewModel viewModel = JsonConvert.DeserializeObject <LeadAdapterViewModel>(leadAdapterViewModel); viewModel.AccountID = this.Identity.ToAccountID(); if (viewModel.LastProcessed.HasValue) { viewModel.LastProcessed = viewModel.LastProcessed.Value.GetCorrectUtzDateTime(); } viewModel.ModifiedBy = this.Identity.ToUserID(); viewModel.ModifiedDateTime = DateTime.Now.ToUniversalTime(); UpdateLeadAdapterRequest request = new UpdateLeadAdapterRequest() { LeadAdapterViewModel = viewModel, AccountId = this.Identity.ToAccountID() }; if (viewModel.LeadAdapterType != LeadAdapterTypes.Facebook) { leadAdapterService.UpdateLeadAdapter(request); } else { leadAdapterService.UpdateFacebookLeadAdapter(request); } return(Json(new { success = true, response = "" }, JsonRequestBehavior.AllowGet)); }
public HttpResponseMessage UpdateLeadadapter(LeadAdapterViewModel viewModel) { UpdateLeadAdapterRequest request = new UpdateLeadAdapterRequest() { LeadAdapterViewModel = viewModel }; UpdateLeadAdapterResponse response = leadAdapterService.UpdateLeadAdapter(request); return(Request.BuildResponse(response)); }