예제 #1
0
        public static void AddUpdateServerDetails(Aspose_ExchangeSync_ServerDetails details)
        {
            try
            {
                Aspose_ExchangeSync_ServerDetails serverDetails = CurrentDBEntities.Aspose_ExchangeSync_ServerDetails.FirstOrDefault(x => x.UserID == details.UserID);

                if (serverDetails != null)
                {
                    serverDetails.Username = details.Username;
                    serverDetails.Password = details.Password;
                    serverDetails.ServerURL = details.ServerURL;
                    serverDetails.Domain = details.Domain;
                    CurrentDBEntities.SaveChanges();
                }
                else
                {
                    CurrentDBEntities.Aspose_ExchangeSync_ServerDetails.Add(details);
                    CurrentDBEntities.SaveChanges();
                }
            }
            catch (Exception)
            {
                // Fall back to session approach if database fails
                details.Password = Crypto.Decrypt(details.Password);                    
                HttpContext.Current.Session[ExchangeDetailsSessionName((int)details.UserID)] = details;
            }
        }
예제 #2
0
 public static Aspose_ExchangeSync_ServerDetails CheckExchangeDetails(int userID)
 {
     Aspose_ExchangeSync_ServerDetails detailsToReturn = null;
     try
     {
         Aspose_ExchangeSync_ServerDetails serverDetails = CurrentDBEntities.Aspose_ExchangeSync_ServerDetails.FirstOrDefault(x => x.UserID == userID);
         if (serverDetails != null)
         {
             detailsToReturn = new Aspose_ExchangeSync_ServerDetails();
             detailsToReturn.Username = serverDetails.Username;
             detailsToReturn.Password = Crypto.Decrypt(serverDetails.Password);
             detailsToReturn.ServerURL = serverDetails.ServerURL;
             detailsToReturn.Domain = serverDetails.Domain;
         }                
     }
     catch (Exception)
     {
         // Fall back to session approach if database fails
         if (HttpContext.Current.Session[ExchangeDetailsSessionName(userID)] != null)
         {
             detailsToReturn = (Aspose_ExchangeSync_ServerDetails)HttpContext.Current.Session[ExchangeDetailsSessionName(userID)];
         }
     }
     return detailsToReturn;   
 }
예제 #3
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            ExchangeCredsErrorDiv.Visible = false;

            Aspose_ExchangeSync_ServerDetails serverDetails = new Aspose_ExchangeSync_ServerDetails();

            serverDetails.ServerURL = ServerURLTextBox.Text.Trim();
            serverDetails.Username = UsernameTextBox.Text.Trim();
            serverDetails.Password = PasswordTextBox.Text.Trim();
            serverDetails.Domain = DomainTextBox.Text.Trim();
            serverDetails.UserID = UserId;

            try
            {
                NetworkCredential credentials = new NetworkCredential(serverDetails.Username, serverDetails.Password, serverDetails.Domain);
                IEWSClient client = EWSClient.GetEWSClient(serverDetails.ServerURL, credentials);
            }
            catch (Exception)
            {
                ExchangeCredsErrorDiv.Visible = true;
                return;
            }

            serverDetails.Password = Crypto.Encrypt(serverDetails.Password);

            DatabaseHelper.AddUpdateServerDetails(serverDetails);

            ResetControls();

            if (ExchangeToDnnClickedHiddenField.Value.Equals("true"))
            {
                ExchangeToDnnSync.Visible = true;
                ExchangeToDnnClickedHiddenField.Value = "false";
            }
            else if (DnnToExchangeClickedHiddenField.Value.Equals("true"))
            {
                DnnToExchangeSync.Visible = true;
                DnnToExchangeClickedHiddenField.Value = "false";
            }            
        }