public CCConnection SaveSubscription(CCConnection SubscObj) { if (SubscObj.ConnectionID == 0) { context.CCSubscriptions.Add(SubscObj); context.SaveChanges(); } else { CCConnection dbEntry = context.CCSubscriptions.Find(SubscObj.ConnectionID); if (dbEntry != null) { dbEntry.AllowAdditions = dbEntry.AllowAdditions; dbEntry.IgnoreExisting = SubscObj.IgnoreExisting; dbEntry.CategoryFilterUsed = SubscObj.CategoryFilterUsed; dbEntry.CopyPhotos = SubscObj.CopyPhotos; dbEntry.TurnOffReminders = SubscObj.TurnOffReminders; dbEntry.CategoryFilterValues = SubscObj.CategoryFilterValues; dbEntry.SyncDirection = SubscObj.SyncDirection; context.SaveChanges(); } } return SubscObj; }
public CCConnection SaveSubscriptionTag(CCConnection SubscObj) { CCConnection dbEntry = context.CCSubscriptions.Find(SubscObj.ConnectionID); if (dbEntry != null) { dbEntry.Tag = SubscObj.Tag; context.SaveChanges(); } return SubscObj; }
public bool UpdateSubscription(CCConnection SubscObj) { CCConnection dbEntry = context.CCSubscriptions.Find(SubscObj.ConnectionID); if (dbEntry != null) { dbEntry.SubjectTag = SubscObj.SubjectTag; dbEntry.tagSubject = SubscObj.tagSubject; dbEntry.AllowAdditions = dbEntry.AllowAdditions; dbEntry.IgnoreExisting = SubscObj.IgnoreExisting; dbEntry.CategoryFilterUsed = SubscObj.CategoryFilterUsed; dbEntry.CopyPhotos = SubscObj.CopyPhotos; dbEntry.TurnOffReminders = SubscObj.TurnOffReminders; dbEntry.CategoryFilterValues = SubscObj.CategoryFilterValues; dbEntry.SyncDirection = SubscObj.SyncDirection; context.SaveChanges(); return true; } return false; }
public bool UpdatePauseSync(CCConnection SubscObj) { CCConnection dbEntry = context.CCSubscriptions.Find(SubscObj.ConnectionID); if (dbEntry != null) { if (SubscObj.IsPaused != null) { dbEntry.IsPaused = SubscObj.IsPaused; } } context.SaveChanges(); return true; }
public bool UpdateConnectionBooleanToggles(CCConnection SubscObj) { CCConnection dbEntry = context.CCSubscriptions.Find(SubscObj.ConnectionID); if (dbEntry != null) { if (SubscObj.AllowAdditions != null) { dbEntry.AllowAdditions = SubscObj.AllowAdditions; } if (SubscObj.IgnoreExisting != null) { dbEntry.IgnoreExisting = SubscObj.IgnoreExisting; } if (SubscObj.CategoryFilterUsed != null) { dbEntry.CategoryFilterUsed = SubscObj.CategoryFilterUsed; } if (SubscObj.CopyPhotos != null) { dbEntry.CopyPhotos = SubscObj.CopyPhotos; } if (SubscObj.TurnOffReminders != null) { dbEntry.TurnOffReminders = SubscObj.TurnOffReminders; } if (SubscObj.tagSubject != null) { dbEntry.tagSubject = SubscObj.tagSubject; } if (SubscObj.IsRunning != null) { dbEntry.IsRunning = SubscObj.IsRunning; } if (SubscObj.IsPaused != null) { dbEntry.IsPaused = SubscObj.IsPaused; } if (SubscObj.LastSyncTime != null) { dbEntry.LastSyncTime = SubscObj.LastSyncTime; } context.SaveChanges(); } return true; }
public ConnectionImportListSummaryModel ImportConnections(long fid, string aguid, string path, string fileExtension, long credID, string accessMethod, string syncDirection, long maxConnectionImportCount) { if (inputdatas == null) inputdatas = new DataInputHelper(path, fileExtension); bool _readheader = true; var _availablevalue = new List<Tuple<string, string>>(); var colCount = 0; var rowCount = 0; ConnectionImportListSummaryModel connSummary = new ConnectionImportListSummaryModel(); DataTable valus = inputdatas.GetImportExcel(); var totalRowCount = (valus.Rows.Count) - 1; if (totalRowCount <= maxConnectionImportCount) { foreach (DataRow row in valus.Rows) { CCConnection ConnectionObj = new CCConnection(); foreach (DataColumn col in valus.Columns) { string _colname = row[col].ToString(); if (_readheader) // run when it header { continue; } else { if (colCount == 0) { ConnectionObj.SecondaryAccount = _colname; colCount++; } else { if (_colname != "") { ConnectionObj.CategoryFilterUsed = true; ConnectionObj.CategoryFilterValues = _colname; } } } } colCount = 0; if (rowCount != 0) { ConnectionList.Add(ConnectionObj); } rowCount++; _readheader = false; } NumberOfConnections = ConnectionList.Count; ExchangeService srv = null; Credential creds = CCCredentialRepository.Credentials.Where(cre => cre.ID == credID).FirstOrDefault(); string depassword = Encryption.DecryptStringAES(creds.Password, rand); if (creds.IsHostedExchange) { srv = new ExchangeService(ExchangeVersion.Exchange2007_SP1); if (creds.EmailAddress != null) { srv.Credentials = new WebCredentials(creds.EmailAddress, depassword); } else { srv.Credentials = new WebCredentials(creds.UserName, depassword); } srv.Url = new Uri(creds.URL); } else { if (creds.ServerVersion == "2007SP1") srv = new ExchangeService(ExchangeVersion.Exchange2007_SP1); else if (creds.ServerVersion == "2010") srv = new ExchangeService(ExchangeVersion.Exchange2010); else if (creds.ServerVersion == "2010SP1") srv = new ExchangeService(ExchangeVersion.Exchange2010_SP1); else if (creds.ServerVersion == "Exchange2010_SP1") srv = new ExchangeService(ExchangeVersion.Exchange2010_SP1); else if (creds.ServerVersion == "Exchange2010_SP2") srv = new ExchangeService(ExchangeVersion.Exchange2010_SP2); else srv = new ExchangeService(ExchangeVersion.Exchange2007_SP1); if (creds.Domain != null) { srv.Credentials = new WebCredentials(creds.UserName, depassword, creds.Domain); } else if (creds.UserName != null) { srv.Credentials = new WebCredentials(creds.UserName, depassword); } else { srv.Credentials = new WebCredentials(creds.EmailAddress, depassword); } srv.Url = new Uri(creds.URL); } int type = CCFolderRepo.CCFolders.FirstOrDefault(f => f.FolderID == fid).Type; long primarySourceID = 0; long credentialsID = 0; try { primarySourceID = Convert.ToInt64(fid); } catch { } try { credentialsID = Convert.ToInt64(creds.ID); } catch { } int successfulConnections = 0; foreach (var conToCreate in ConnectionList) { bool addTopFolder = false; ExchangeService ex = srv; Folder fold = null; Folder publicFolder = null; //Xobnu.WebUI.Controllers.FolderController.conectionBeingAddedEmail = conToCreate.SecondaryAccount; //System.Web.HttpContext.Current.Application["Name"] = "Value"; try { if (accessMethod == "1") { ex.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, conToCreate.SecondaryAccount); if (type == 1) { fold = Folder.Bind(ex, new FolderId(WellKnownFolderName.Contacts, conToCreate.SecondaryAccount)); } else { fold = Folder.Bind(ex, new FolderId(WellKnownFolderName.Calendar, conToCreate.SecondaryAccount)); } addTopFolder = true; } else { //ex.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, conToCreate.SecondaryAccount); if (type == 1) { fold = Folder.Bind(ex, new FolderId(WellKnownFolderName.Contacts, conToCreate.SecondaryAccount)); } else { fold = Folder.Bind(ex, new FolderId(WellKnownFolderName.Calendar, conToCreate.SecondaryAccount)); } addTopFolder = true; } //var f = Folder.Bind(ex, WellKnownFolderName.MsgFolderRoot); TreeViewFolder mailBox = new TreeViewFolder(); TreeViewFolder publicBox = new TreeViewFolder(); string FolderSourceID = ""; if (fold != null) { var tree = LoadSubFolders(fold, new TreeViewFolder(), addTopFolder, fid); mailBox.Name = "*Mail Folders"; mailBox.FolderClass = "All"; foreach (var it in tree.ChildFolders) { FolderSourceID = it.Id; break; //mailBox.ChildFolders.Add(it); } } if (publicFolder != null) { var treepublic = LoadSubFolders(publicFolder, new TreeViewFolder(), addTopFolder, fid); publicBox.Name = "*Public Folders"; publicBox.FolderClass = "All"; foreach (var it in treepublic.ChildFolders) { FolderSourceID = it.Id; break; //publicBox.ChildFolders.Add(it); } } //Save the Connection var connection = new Xobnu.Domain.Entities.CCConnection(); connection.FolderID = primarySourceID; if (type == 1) { connection.FolderName = "Contacts"; } else { connection.FolderName = "Calendar"; } connection.Owner = creds.EmailAddress; if (type == 1) { connection.Type = "Contact"; } else { connection.Type = "Calendar"; } connection.CredentialsID = credentialsID; connection.AllowAdditions = false; connection.IgnoreExisting = true; connection.SyncDirection = syncDirection; connection.CategoryFilterUsed = conToCreate.CategoryFilterUsed; if(connection.Type == "Contact") connection.CopyPhotos = true; else connection.CopyPhotos = false; if (connection.Type == "Calendar") connection.TurnOffReminders = true; else connection.TurnOffReminders = false; connection.SourceID = FolderSourceID; connection.Frequency = 1440; connection.IsRunning = false; connection.IsPaused = false; connection.SecondaryAccount = conToCreate.SecondaryAccount; if (accessMethod == "1") { connection.AccessType = 1; } else { connection.AccessType = 2; } string format = "yyyy-MM-dd HH:mm"; connection.LastSyncTime = ((DateTime)(System.Data.SqlTypes.SqlDateTime.MinValue)).ToString(format); connection.CategoryFilterValues = conToCreate.CategoryFilterValues; connection.SubjectTag = string.Empty; connection.tagSubject = false; connection.AccountGUID = aguid; connection = CCConnectionRepo.SaveSubscription(connection); if (connection != null) { var foldertag = new Xobnu.Domain.Entities.CCConnection(); var tagname = connection.FolderName + "[" + connection.ConnectionID + "]"; foldertag.Tag = tagname; foldertag.ConnectionID = connection.ConnectionID; CCConnectionRepo.SaveSubscriptionTag(foldertag); } var res = CCFieldMappingsRepository.SaveAllMappingFields(connection.FolderID, connection.ConnectionID, aguid); successfulConnections++; } catch (Exception e) { connSummary.UnsuccessfulEmailList.Add(conToCreate.SecondaryAccount); } } connSummary.NoOfSuccessfullConnections = successfulConnections; return connSummary; } else { ConnectionImportListSummaryModel connSummaryFail = new ConnectionImportListSummaryModel(); connSummaryFail.maxConnectionLevelReach = true; return connSummaryFail; } }
public ActionResult ChangeConnectionToggleButtons(long ConnectionID, string chkbox) { CCConnection connObj = new CCConnection(); connObj.ConnectionID = ConnectionID; connObj = CCConnectionRepository.CCSubscriptions.Where(conn => conn.ConnectionID == connObj.ConnectionID).FirstOrDefault(); if (chkbox == "RestartTimer") { connObj.LastSyncTime = "1753-01-01 00:00"; } else { if (chkbox == "AllowAdditions") { if (connObj.AllowAdditions == true) connObj.AllowAdditions = false; else connObj.AllowAdditions = true; } if (chkbox == "IgnoreExisting") { if (connObj.IgnoreExisting == true) connObj.IgnoreExisting = false; else connObj.IgnoreExisting = true; } if (chkbox == "CategoryFilterUsed") { if (connObj.CategoryFilterUsed == true) connObj.CategoryFilterUsed = false; else connObj.CategoryFilterUsed = true; } if (chkbox == "CopyPhotos") { if (connObj.CopyPhotos == true) connObj.CopyPhotos = false; else connObj.CopyPhotos = true; } if (chkbox == "TurnOffReminders") { if (connObj.TurnOffReminders == true) connObj.TurnOffReminders = false; else connObj.TurnOffReminders = true; } if (chkbox == "tagSubject") { if (connObj.tagSubject == true) connObj.tagSubject = false; else connObj.tagSubject = true; } if (chkbox == "IsRunning") { if (connObj.IsRunning == true) connObj.IsRunning = false; else connObj.IsRunning = true; } if (chkbox == "IsPaused") { if (connObj.IsPaused == true) connObj.IsPaused = false; else connObj.IsPaused = true; } } bool update = CCConnectionRepository.UpdateConnectionBooleanToggles(connObj); Account AccObj = CCAccRepository.Accounts.Where(acc => acc.AccountGUID == connObj.AccountGUID).FirstOrDefault(); return RedirectToAction("ViewConnectionDetails", "CorporateContactsAdmin", new { ConnectionID = connObj.ConnectionID, AccID = AccObj.ID}); }