public async Task <string> GetTokens(string accessCode) { string tokenURL = serverURL + "getTokenRefreshToken.token?type=code&code=" + accessCode; string tokenResponse = await WebRequestHelper.getResponseAsync(tokenURL); var details = JObject.Parse(tokenResponse); AccessToken = details["access_token"].ToString(); RefreshToken = details["refresh_token"].ToString(); InstanceURL = details["instance_url"].ToString(); //EmailID = Globals.ThisAddIn.LoggedinUserID; return(""); }
//function for fetching LeadData and CaseData private async void CallLeadCaseDataBasedOnEmail(string emailId) { string MailDataURL = ""; if (Globals.ThisAddIn.myCredentials != null) { MailDataURL = serverURL + "MailDataBasedOnEmail.getdata?email=" + emailId + "&to=" + Globals.ThisAddIn.myCredentials.EmailID; string EmailDataResponse = await WebRequestHelper.getResponseAsync(MailDataURL); if (EmailDataResponse != "") { EmailBasedCaseData deserializedEmailBasedCaseData = JsonConvert.DeserializeObject <EmailBasedCaseData>(EmailDataResponse); EmailBasedLeads = deserializedEmailBasedCaseData.LeadDataCollection; } } }
public async void GetTokenViaRefreshToken(string refreshToken) { string tokenURL = serverURL + "getTokenRefreshToken.token?type=re_tkn&re_tkn=" + refreshToken; string tokenResponse = await WebRequestHelper.getResponseAsync(tokenURL); var details = JObject.Parse(tokenResponse); try { AccessToken = details["access_token"].ToString(); InstanceURL = details["instance_url"].ToString(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Failed while fetching accesstoken using refresh token. " + ex.Message); } }
private async void FireSentimentsRequest() { string emailID = Globals.ThisAddIn.myCredentials.EmailID; string SentimentsURL = ""; if (Globals.ThisAddIn.myCredentials != null) { SentimentsURL = serverURL + "SentimentServlet.getdata?email=" + emailID; //+ "&access_token=" + Globals.ThisAddIn.myCredentials.AccessToken; //string PostData = "{"rm_email":} string sentimentsResponse = await WebRequestHelper.getResponseAsync(SentimentsURL); if (sentimentsResponse != "") { formatJsonSentiments(sentimentsResponse); } } }
private async void GetTemplates(string email) { try { string TemplateURL = ""; if (Globals.ThisAddIn.myCredentials != null) { TemplateURL = serverURL + "SelectTemplates.getdata?email=" + email; string TemplateURLResponse = await WebRequestHelper.getResponseAsync(TemplateURL); if (TemplateURLResponse != "") { //EmailBasedCaseData deserializedEmailBasedCaseData = JsonConvert.DeserializeObject<EmailBasedCaseData>(CaseBasedOnEmailURLResponse); Templates = JsonConvert.DeserializeObject <Templates>(TemplateURLResponse); } } } catch (System.Exception ex) { MessageBox.Show("Exception Occured in SelectTemplates API. " + ex.Message); } }
private async void FireCaseRequest() { string emailID = Globals.ThisAddIn.myCredentials.EmailID; string OpenCasesURL = ""; if (Globals.ThisAddIn.myCredentials != null) { OpenCasesURL = serverURL + "displayCase.allcase?rm_email=" + emailID + "&type=all&access_token=" + Globals.ThisAddIn.myCredentials.AccessToken + "&instance_url=" + Globals.ThisAddIn.myCredentials.InstanceURL; string tokenResponse = await WebRequestHelper.getResponseAsync(OpenCasesURL); if (tokenResponse != "") { formatJsonCases(tokenResponse); } else { Globals.ThisAddIn.myCredentials.GetTokenViaRefreshToken(Globals.ThisAddIn.myCredentials.RefreshToken); Globals.ThisAddIn.myCredentials.serializeCredentials(Globals.ThisAddIn.myCredentials); tokenResponse = await WebRequestHelper.getResponseAsync(OpenCasesURL); if (tokenResponse != "") { formatJsonCases(tokenResponse); } else { ShowLoginWindow(); if (OpenCases == null) { FireCaseRequest(); } } } } }
private async void items_ItemAdd(object Item) { try { string eventHandlerServletURL = ""; if (Globals.ThisAddIn.myCredentials != null) { Outlook.MailItem newMail = Item as Outlook.MailItem; if (newMail != null) { eventHandlerServletURL = Properties.Settings.Default.ServerURL + "eventHandlerServlet.addnode?access_token=" + Globals.ThisAddIn.myCredentials.AccessToken + "&instance_url=" + Globals.ThisAddIn.myCredentials.InstanceURL; string res = await WebRequestHelper.PostFormDataAsync(eventHandlerServletURL, newMail); sendMail(res); } } } catch (System.Exception ex) { MessageBox.Show("Exception Occured in New Mail Handler,eventHandlerServlet.addnode API. " + ex.Message + "\n" + ex.StackTrace.ToString()); } }
private async void BtnOKClose_Click(object sender, RoutedEventArgs e) { BtnOKClose.IsEnabled = false; //Fire Case Close API and hide Popup string CaseCloseURL = ""; if (Globals.ThisAddIn.myCredentials != null) { CaseCloseURL = serverURL + "closeCaseServlet.caseclose?access_token=" + Globals.ThisAddIn.myCredentials.AccessToken + "&instance_url=" + Globals.ThisAddIn.myCredentials.InstanceURL + "&case_no=" + CloseCaseNumber + "&case_close_reason=" + CaseClosureReason.Text; string caseCloseResponse = await WebRequestHelper.getResponseAsync(CaseCloseURL); if (caseCloseResponse.Contains("Case closed and reason saved successfully")) { var itemToRemove = EmailBasedCases.Single(r => r.CaseNumber == CloseCaseNumber); EmailBasedCases.Remove(itemToRemove); emailListBox.Items.Refresh(); } } ShowPopup = false; BtnOKClose.IsEnabled = true; }
private async void CallGmailProfileAPI(string emailId) { string GmailURL = ""; if (Globals.ThisAddIn.myCredentials != null) { GmailURL = serverURL + "getGmailProfile.gmailprofile?p_email=" + emailId; string gmailProfileResponse = await WebRequestHelper.getResponseAsync(GmailURL); if (gmailProfileResponse != "") { var details = JObject.Parse(gmailProfileResponse); UserName = details["name"].ToString(); UserProfileImagePath = details["photo_link"].ToString(); UserEmail = details["email"].ToString(); } else { UserName = emailId.Substring(0, emailId.IndexOf('@')); UserProfileImagePath = "https://i.stack.imgur.com/34AD2.jpg"; UserEmail = emailId; } } }
private async void btnSubmitFeatures_Click(object sender, RoutedEventArgs e) { // string UserEmail = Globals.ThisAddIn.Application.Session.CurrentUser.AddressEntry.Address; string UserEmail = Globals.ThisAddIn.myCredentials.EmailID; StringBuilder featureAPIRequestData = new StringBuilder("rm_email=" + UserEmail); if (featureList.Contains("Email to Case Email Based")) { featureAPIRequestData.Append("&Email_to_Case_Email_Based=true"); } else { featureAPIRequestData.Append("&Email_to_Case_Email_Based=false"); } if (featureList.Contains("Email to Case Lead Based")) { featureAPIRequestData.Append("&Email_to_Case_Lead_Based=true"); } else { featureAPIRequestData.Append("&Email_to_Case_Lead_Based=false"); } if (featureList.Contains("Email to Case Content Based")) { featureAPIRequestData.Append("&Email_to_Case_Content_Based=true"); } else { featureAPIRequestData.Append("&Email_to_Case_Content_Based=false"); } if (featureList.Contains("Calendar Share")) { featureAPIRequestData.Append("&Calendar_Share=true"); } else { featureAPIRequestData.Append("&Calendar_Share=false"); } if (featureList.Contains("Mail Merge")) { featureAPIRequestData.Append("&Mail_Merge=true"); } else { featureAPIRequestData.Append("&Mail_Merge=false"); } if (featureList.Contains("Email Tracking")) { featureAPIRequestData.Append("&Email_Tracking=true"); } else { featureAPIRequestData.Append("&Email_Tracking=false"); } if (featureList.Contains("Smartphone Templates")) { featureAPIRequestData.Append("&Smartphone_Templates=true"); } else { featureAPIRequestData.Append("&Smartphone_Templates=false"); } if (featureList.Contains("Summarizer")) { featureAPIRequestData.Append("&Summarizer=true"); } else { featureAPIRequestData.Append("&Summarizer=false"); } if (featureList.Contains("Contact Detail Verification")) { featureAPIRequestData.Append("&Contact_Detail_Varification=true"); } else { featureAPIRequestData.Append("&Contact_Detail_Varification=false"); } if (featureList.Contains("Plug-ins for Gmail,Outlook,Office 365,Productivity Meter")) { featureAPIRequestData.Append("&plugins_for_gmail_outlook_office_365=true"); } else { featureAPIRequestData.Append("&plugins_for_gmail_outlook_office_365=false"); } if (featureList.Contains("Email Templates")) { featureAPIRequestData.Append("&email_templates=true"); } else { featureAPIRequestData.Append("&email_templates=false"); } if (featureList.Contains("Create SalesForce Records")) { featureAPIRequestData.Append("&Create_SalesForce_Records=true"); } else { featureAPIRequestData.Append("&Create_SalesForce_Records=false"); } if (featureList.Contains("Mailbox Inside SFDC")) { featureAPIRequestData.Append("&mail_box_inside_sfdc=true"); } else { featureAPIRequestData.Append("&mail_box_inside_sfdc=false"); } if (featureList.Contains("Lead to Case Content Based")) { featureAPIRequestData.Append("&lead_to_case_content_based=true"); } else { featureAPIRequestData.Append("&lead_to_case_content_based=false"); } if (featureList.Contains("Content Based Auto Case Type Assignment")) { featureAPIRequestData.Append("&content_based_auto_case_type_assignment=true"); } else { featureAPIRequestData.Append("&content_based_auto_case_type_assignment=false"); } if (featureList.Contains("Sentiment Analysis")) { featureAPIRequestData.Append("&sentiment_analysis=true"); } else { featureAPIRequestData.Append("&sentiment_analysis=false"); } if (featureList.Contains("Cognitive Autoreply")) { featureAPIRequestData.Append("&cognitive_auto_reply=true"); } else { featureAPIRequestData.Append("&cognitive_auto_reply=false"); } if (featureList.Contains("Lead Propensity to Buy Score Productivity Meter")) { featureAPIRequestData.Append("&lead_propensity_to_buy_score_productivity_meter=true"); } else { featureAPIRequestData.Append("&lead_propensity_to_buy_score_productivity_meter=false"); } if (featureList.Contains("Social Footprint")) { featureAPIRequestData.Append("&social_footprint=true"); } else { featureAPIRequestData.Append("&social_footprint=false"); } if (featureList.Contains("Productivity Meter")) { featureAPIRequestData.Append("&productivity_meter=true"); } else { featureAPIRequestData.Append("&productivity_meter=false"); } featureAPIRequestData.Append("&domain=" + InternalDomain.Text + "&emailid=" + EmailInternal.Text); try { var response = await WebRequestHelper.HttpPOST(featureAPIRequestData.ToString(), Properties.Settings.Default.ServerURL + "featureServletNew.addnode"); //if (response=="feature saved") //{ // //Update Registry // const string subkey = @"Software\MailTangy"; // string user = Environment.UserDomainName + "\\" + Environment.UserName; // RegistryAccessRule rule = new RegistryAccessRule(user, RegistryRights.FullControl, // AccessControlType.Allow); // RegistrySecurity security = new RegistrySecurity(); // security.AddAccessRule(rule); // using (var key = Registry.CurrentUser.OpenSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.FullControl)) // { // if (key != null) // { // key.SetAccessControl(security); // key.SetValue("HaveFeaturesSubmitted", "True"); // //close the custom Pane // } // } //} } catch (Exception ex) { System.Windows.MessageBox.Show("Failed while saving Features" + ex.Message); } finally { for (int i = 0; i < Globals.ThisAddIn.CustomTaskPanes.Count; i++) { Microsoft.Office.Tools.CustomTaskPane pane = Globals.ThisAddIn.CustomTaskPanes[i]; pane.Visible = false; //pane = null; } Globals.Ribbons.MailTangy.btnCases.Enabled = true; } }