public ActionResult SelectFolderoptionss(SelectFolderViewModel model) { TempData["SelectedMenu"] = "Manage"; TempData["SelectedSubMenu"] = "ManageFolders"; Account accountObj = (Account)Session["account"]; int type = 1; CCFolder folderDetails = null; folderDetails = CCFolderRepository.FolderDetails(model.PrimarySourceId); if (folderDetails != null) { type = folderDetails.Type; } else { type = 1; } User userObj = (User)Session["user"]; var connection = new CorporateContacts.Domain.Entities.CCConnection(); connection.FolderID = model.PrimarySourceId; connection.FolderName = model.SelectedFolderName; connection.Owner = model.SelectedFolderOwnerInfo; if (type == 1) { connection.Type = "Contact"; } else { connection.Type = "Calendar"; } connection.CredentialsID = model.CredentialID; connection.AllowAdditions = false; connection.IgnoreExisting = model.IgnoreExisting; connection.SyncDirection = model.SyncDirection; connection.CategoryFilterUsed = model.CategoryFilterUsed; connection.CopyPhotos = model.CopyPhotos; connection.TurnOffReminders = model.TurnOffReminders; connection.SourceID = model.SelectedFolderId; connection.Frequency = 1440; connection.IsRunning = false; connection.IsPaused = false; connection.SecondaryAccount = Session["secondaryAccount"] as string; string accessTypes = string.Empty; if (Session["accessType"] != null) { accessTypes = Session["accessType"].ToString(); } if (string.IsNullOrEmpty(accessTypes)) { connection.AccessType = 0; } else { connection.AccessType = Int32.Parse(accessTypes); } string format = "yyyy-MM-dd HH:mm"; connection.LastSyncTime = ((DateTime)(System.Data.SqlTypes.SqlDateTime.MinValue)).ToString(format); if (model.CategoryFilterUsed == false) { connection.CategoryFilterValues = string.Empty; } else { connection.CategoryFilterValues = model.CategoryFilterValues; } if (model.TagAllSubject == true) { connection.SubjectTag = model.SubjectTag; } else { connection.SubjectTag = string.Empty; } connection.tagSubject = model.TagAllSubject; connection.AccountGUID = accountObj.AccountGUID; connection = CCConnectinRepository.SaveSubscription(connection); if (connection != null) { var foldertag = new CorporateContacts.Domain.Entities.CCConnection(); var tagname = connection.FolderName + "[" + connection.ConnectionID + "]"; foldertag.Tag = tagname; foldertag.ConnectionID = connection.ConnectionID; CCConnectinRepository.SaveSubscriptionTag(foldertag); } var res = CCFieldMappingsRepository.SaveAllMappingFields(connection.FolderID, connection.ConnectionID, accountObj.AccountGUID); LimitationsViewModel limitationsObj = (LimitationsViewModel)Session["limitations"]; HelperFunctions HF = new HelperFunctions(); limitationsObj = HF.updateAccountLimitations(accountObj); Session["limitations"] = limitationsObj; return RedirectToAction("ViewConnections", "Folder", new { id = connection.FolderID }); }
public ActionResult SelectFolderoptions(SelectFolderViewModel objfolder) { TempData["SelectedMenu"] = "Manage"; TempData["SelectedSubMenu"] = "ManageFolders"; CCFolder folderObj = (CCFolder)Session["folderDetail"]; if (folderObj != null) { objfolder.FolderType = folderObj.Type; } return View(objfolder); }
public ActionResult SelectFolder(SelectFolderViewModel model) { TempData["SelectedMenu"] = "Manage"; TempData["SelectedSubMenu"] = "ManageFolders"; User userObj = (User)Session["user"]; if (!string.IsNullOrEmpty(model.SelectedFolderId)) { return RedirectToAction("SelectFolderoptions", "Folder", model); } return View(new List<TreeViewFolder>()); }
public ActionResult SelectFolder(string src = "", long primid = 1, long creid = 1) { int type = CCFolderRepository.CCFolders.FirstOrDefault(fid => fid.FolderID == primid).Type; Session["ExistingCreError"] = ""; TempData["SelectedMenu"] = "Manage"; TempData["SelectedSubMenu"] = "ManageFolders"; ExchangeService ex = Session["srv"] as ExchangeService; bool addingPrimary = false; long primarySourceID = 0; long credentialsID = 0; try { primarySourceID = Convert.ToInt64(primid); } catch { } try { credentialsID = Convert.ToInt64(creid); } catch { } if (src == "prim") { addingPrimary = true; } bool addTopFolder = false; if (ex != null) { string accessTypes = "0"; string secondaryAccount = Session["secondaryAccount"] as string; if (Session["accessType"] != null) { accessTypes = Session["accessType"].ToString(); } Folder f = null; Folder publicFolder = null; try { if (accessTypes == "1") { if (type == 1) { f = Folder.Bind(ex, new FolderId(WellKnownFolderName.Contacts, secondaryAccount)); Session["differentMailboxError"] = "No"; } else { f = Folder.Bind(ex, new FolderId(WellKnownFolderName.Calendar, secondaryAccount)); Session["differentMailboxError"] = "No"; } addTopFolder = true; } else if (accessTypes == "2") { ex.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, secondaryAccount); if (type == 1) { f = Folder.Bind(ex, new FolderId(WellKnownFolderName.Contacts, secondaryAccount)); Session["differentMailboxError"] = "No"; } else { f = Folder.Bind(ex, new FolderId(WellKnownFolderName.Calendar, secondaryAccount)); Session["differentMailboxError"] = "No"; } addTopFolder = true; } else { f = Folder.Bind(ex, WellKnownFolderName.MsgFolderRoot); try { publicFolder = Folder.Bind(ex, WellKnownFolderName.PublicFoldersRoot); } catch (Exception) { publicFolder = null; } Session["differentMailboxError"] = "No"; addTopFolder = false; } } catch (Exception e) { string exMessage = e.Message; if (exMessage == "The request failed. The remote server returned an error: (404) Not Found.") { Session["ExistingCreError"] = "Error: Server returned 'Unauthorized'."; } else if (exMessage == "The request failed. The remote server returned an error: (401) Unauthorized.") { Session["ExistingCreError"] = "Error: Server returned 'Unauthorized'."; } else { Session["differentMailboxError"] = "Yes"; } return RedirectToAction("LogintoExchange", "Folder", new { src = "sec", fid = primid }); } //var f = Folder.Bind(ex, WellKnownFolderName.MsgFolderRoot); List<TreeViewFolder> FolderLists = new List<TreeViewFolder>(); TreeViewFolder mailBox = new TreeViewFolder(); TreeViewFolder publicBox = new TreeViewFolder(); if (f != null) { var tree = LoadSubFolders(f, new TreeViewFolder(), addTopFolder); mailBox.Name = "*Mail Folders"; mailBox.FolderClass = "All"; foreach (var it in tree.ChildFolders) { mailBox.ChildFolders.Add(it); } FolderLists.Add(mailBox); } if (publicFolder != null) { var treepublic = LoadSubFolders(publicFolder, new TreeViewFolder(), addTopFolder); publicBox.Name = "*Public Folders"; publicBox.FolderClass = "All"; foreach (var it in treepublic.ChildFolders) { publicBox.ChildFolders.Add(it); } FolderLists.Add(publicBox); } var model = new SelectFolderViewModel(); // model.FolderList = tree.ChildFolders.ToList(); model.FolderList = FolderLists; model.AddingPrimary = addingPrimary; model.PrimarySourceId = primarySourceID; model.CredentialID = credentialsID; model.UniqueId = f.Id.UniqueId; model.SelectedFolderOwnerInfo = Session["srvEmail"] as string; model.FolderType = type; return View(model); } else { var model = new SelectFolderViewModel(); model.FolderList = new List<TreeViewFolder>(); model.AddingPrimary = addingPrimary; model.PrimarySourceId = primarySourceID; model.CredentialID = credentialsID; model.FolderType = type; return View(model); } }
public ActionResult SelectFolder(SelectFolderViewModel model) { User userObj = (User)Session["user"]; if (!string.IsNullOrEmpty(model.SelectedFolderId)) { var f = new CorporateContacts.Domain.Entities.Folder(); f.AccountID = userObj.AccountID; f.SourceID = model.SelectedFolderId; f.IsMaster = true; f.SourceName = model.SelectedFolderOwnerInfo; f.SourceType = "Exchange"; f.FolderName = model.SelectedFolderName; f.FolderType = "Contact"; f.IsMaster = model.AddingPrimary; f = folderRepository.SaveFolder(f); if (!model.AddingPrimary) { //add the subscription var s = new Subscription(); s.AccountID = userObj.AccountID; s.AllowAdditions = model.AllowAdditions; s.IgnoreExisting = model.IgnoreExisting; s.SubscriberID = f.ID; s.PrimaryID = model.PrimarySourceId; folderRepository.SaveSubscription(s); //create the matching folderfields for the subsciption. var folderFieldsForPrimary = ffRepository.FolderFields.Where(x => (x.AccountID == userObj.AccountID) && (x.FolderID == model.PrimarySourceId)); foreach (var ff in folderFieldsForPrimary.ToList()) { var ffObj = FieldsConfigHelper.CreateFolderFieldFromName(ff.FName); ffObj.FolderID = f.ID; ffObj.AccountID = userObj.AccountID; ffObj.MappedFieldID = ff.ID; ffRepository.SaveFolderField(ffObj); } return RedirectToAction("SetupSync", "Admin", new { primarySourceID = model.PrimarySourceId }); } Session["selectedFolderID"] = f.ID; return RedirectToAction("selectfields"); } return View(new List<TreeViewFolder>()); }
public ActionResult SelectFolder(string src = "", string primid = "") { TempData["SelectedMenu"] = "SetupSync"; ExchangeService ex = Session["srv"] as ExchangeService; bool addingPrimary = false; long primarySourceID = 0; try { primarySourceID = Convert.ToInt64(primid); } catch { } if (src == "prim") { addingPrimary = true; } if (ex != null) { var f = Folder.Bind(ex, WellKnownFolderName.MsgFolderRoot); var tree = LoadSubFolders(f, new TreeViewFolder()); var model = new SelectFolderViewModel(); model.FolderList = tree.ChildFolders.ToList(); model.AddingPrimary = addingPrimary; model.PrimarySourceId = primarySourceID; model.SelectedFolderOwnerInfo = Session["srvEmail"] as string; return View(model); } else { var model = new SelectFolderViewModel(); model.FolderList = new List<TreeViewFolder>(); model.AddingPrimary = addingPrimary; model.PrimarySourceId = primarySourceID; return View(model); } }