public ActionResult Create(Contact model) { int id = WebSecurity.GetUserId(WebSecurity.CurrentUserName); var userProfile = _userContext.UserProfiles.First(x => x.UserId == id); if (string.IsNullOrWhiteSpace(userProfile.PrivateKey) || string.IsNullOrWhiteSpace(userProfile.PublicKey)) { TempData["Notification"] = new Notification("Please provide access keys that have been sent you by email", Nature.warning); return(RedirectToAction("Account", "Settings")); } if (ModelState.IsValid) { UserData userData = new UserData(); userData.PublicKey = userProfile.PublicKey; userData.Timestamp = DateTime.Now; userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "POST/contact" + userData.Timestamp + userProfile.PrivateKey); ContactEndpoint c = new ContactEndpoint(); string message = c.CreateContact(model, userData); TempData["Notification"] = new Notification("Contact has been added" + message, Nature.success); Thread.Sleep(2500); return(RedirectToAction("Index")); } else { return(View(model)); } }
public ActionResult Edit(string id) { int userId = WebSecurity.GetUserId(WebSecurity.CurrentUserName); var userProfile = _userContext.UserProfiles.First(x => x.UserId == userId); UserData userData = new UserData(); userData.PublicKey = userProfile.PublicKey; userData.Timestamp = DateTime.Now; userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "GET/contact/" + id + userData.Timestamp + userProfile.PrivateKey); ContactEndpoint c = new ContactEndpoint(); var contact = c.GetContact(id, userData); GroupEndpoint g = new GroupEndpoint(); userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "GET/contact/1/9999/true" + userData.Timestamp + userProfile.PrivateKey); var groups = g.GetGroups(1, 9999, userData); var currentGroup = groups.FirstOrDefault(gr => gr._id == contact.contact.parentId); ViewBag.Groups = groups; ViewBag.GroupName = (currentGroup == null ? "---" : currentGroup.name); return(View(contact)); }
public static Task <TransferResponse> TransferAsync(this Modality m, ContactEndpoint endpoint, TransferOptions options) { return(Task.Factory.FromAsync(m.BeginTransfer, result => { ModalityState state; IList <string> prop; m.EndTransfer(out state, out prop, result); return new TransferResponse { TargetState = state, ContextProperties = prop }; }, endpoint, options, null)); }
public JsonResult GetContactsInGroupByAjax(string id /* group Id */) { int userId = WebSecurity.GetUserId(WebSecurity.CurrentUserName); var userProfile = _userContext.UserProfiles.First(x => x.UserId == userId); UserData userData = new UserData(); userData.PublicKey = userProfile.PublicKey; userData.Timestamp = DateTime.Now; userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "GET/contact/group/" + id + userData.Timestamp + userProfile.PrivateKey); ContactEndpoint c = new ContactEndpoint(); var contact = c.GetContactsInGroup(id, userData); return(Json(contact, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Gets the contact details. /// </summary> /// <param name="contact">The contact whose details needs to be retrieved.</param> public string GetContactInfo(Contact contact) { string returnValue = string.Empty; string activityDescription = null; List <object> collaborationPhones = null; // Get the Availability information for the contact. ContactAvailability availEnum = (ContactAvailability)(contact) .GetContactInformation(ContactInformationType.Availability); // Get the Activity information for the contact. activityDescription = (string)contact .GetContactInformation(ContactInformationType.Activity); // Get the ContactEndpoints information for the contact. collaborationPhones = (List <object>)contact .GetContactInformation(ContactInformationType.ContactEndpoints); // Generate a string for the information retrieved and return it. if (collaborationPhones != null) { returnValue += "\r\nPhones:"; foreach (object phone in collaborationPhones) { ContactEndpoint anEndpoint = (ContactEndpoint)phone; returnValue += "\r\nType: " + anEndpoint.Type.ToString() + "\r\n DisplayName: " + anEndpoint.DisplayName + "\r\n Uri: " + anEndpoint.Uri; } } returnValue += "\r\n Activity:" + activityDescription; returnValue += "\r\nPersonal note: " + contact .GetContactInformation(ContactInformationType.PersonalNote); returnValue += "\r\nOOF note: " + contact .GetContactInformation(ContactInformationType.OutOfficeNote); returnValue += "\r\nAvailable:" + availEnum.ToString(); return(returnValue); }
public ActionResult Delete(string id) { int userId = WebSecurity.GetUserId(WebSecurity.CurrentUserName); var userProfile = _userContext.UserProfiles.First(x => x.UserId == userId); UserData userData = new UserData(); userData.PublicKey = userProfile.PublicKey; userData.Timestamp = DateTime.Now; userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "DELETE/contact/" + id + userData.Timestamp + userProfile.PrivateKey); ContactEndpoint c = new ContactEndpoint(); string message = c.DeleteContact(id, userData); TempData["Notification"] = new Notification("Contact has been removed" + message, Nature.success); return(RedirectToAction("Index")); }
public ActionResult Edit(ContactViewModel model) { int userId = WebSecurity.GetUserId(WebSecurity.CurrentUserName); var userProfile = _userContext.UserProfiles.First(x => x.UserId == userId); model.contact.isContactGroup = false; UserData userData = new UserData(); userData.PublicKey = userProfile.PublicKey; userData.Timestamp = DateTime.Now; userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "POST/contact/" + model.contact._id + userData.Timestamp + userProfile.PrivateKey); ContactEndpoint c = new ContactEndpoint(); string message = c.UpdateContact(model.contact, userData); TempData["Notification"] = new Notification("Contact has been modified" + message, Nature.success); Thread.Sleep(2500); return(RedirectToAction("Index")); }
public ActionResult Index(string searchQuery, string searchScope, int?pageNumber, int pageSize = 12) { int id = WebSecurity.GetUserId(WebSecurity.CurrentUserName); var userProfile = _userContext.UserProfiles.First(x => x.UserId == id); searchScope = "all"; if (string.IsNullOrWhiteSpace(userProfile.PrivateKey) || string.IsNullOrWhiteSpace(userProfile.PublicKey)) { TempData["Notification"] = new Notification("Please provide access keys that have been sent you by email", Nature.warning); return(RedirectToAction("Settings", "Account")); } pageNumber = pageNumber ?? 1; ContactEndpoint c = new ContactEndpoint(); UserData userData = new UserData(); userData.PublicKey = userProfile.PublicKey; userData.Timestamp = DateTime.Now; List <Contact> result; if (string.IsNullOrWhiteSpace(searchQuery) || searchScope == null) { userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "GET/contact/" + pageNumber.Value + "/" + pageSize + "/false" + userData.Timestamp + userProfile.PrivateKey); result = c.GetContacts(pageNumber.Value, pageSize, userData); } else { userData.GenerateAuthenticationHash(userProfile.PrivateKey + userProfile.PublicKey + "GET/contact/" + searchScope + "/" + searchQuery + "/" + pageNumber.Value + "/" + pageSize + "/false" + userData.Timestamp + userProfile.PrivateKey); result = c.GetFilteredContacts(searchScope, searchQuery, pageNumber.Value, pageSize, userData); } ViewBag.SearchQuery = searchQuery; return(View(result)); }