public void deleteOneAccess(UserListAccess Access) { var AccessToRemove = db.UserListAccesses.Where(x => x.AccessID == Access.AccessID).FirstOrDefault(); db.UserListAccesses.Remove(AccessToRemove); db.SaveChanges(); }
public void changeAccessLevel(UserListAccess userAccessToModify, int newAccessLevel) { var AccessToChange = db.UserListAccesses.Where(x => x.AccessID == userAccessToModify.AccessID).FirstOrDefault(); AccessToChange.AccessLevel = newAccessLevel; db.SaveChanges(); }
private async System.Threading.Tasks.Task DeleteAccess(UserListAccess access) { AreBtnsEn = false; bool answer = await Application.Current.MainPage.DisplayAlert("Delete Access", "Are you sure? \n Remember: If you are only one admin, deleting cause removing list and all tasks", "Yes", "No"); if (answer) { var deleteResult = await n_Restctrl.DeleteUserAccess(access.AccessID); if (deleteResult.StatusCode == HttpStatusCode.OK) { await Refresh(); if (access.UserEmail == Constants.userToken.Username) { await Navigation.PushAsync(new MenuListsView()); } } else if (deleteResult.StatusCode == System.Net.HttpStatusCode.Unauthorized) { await Application.Current.MainPage.DisplayAlert("Sorry", "You do not have permission to do this", "Ok"); } else { await Application.Current.MainPage.DisplayAlert("Sorry", "Something went wrong, check your connection", "Ok"); } } AreBtnsEn = true; }
public bool ifAccessExists(UserListAccess newUserAccess) { var accessExists = (db.UserListAccesses.Where (x => x.ListID == newUserAccess.ListID && x.UserEmail == newUserAccess.UserEmail) .FirstOrDefault()); if (accessExists == null) { return(false); } else { return(true); } }
public void AddUserLists(string userID, string userEmail, string listname) { ListProperties newList = new ListProperties(); UserListAccess newUserAccess = new UserListAccess(); newUserAccess.AccessID = Guid.NewGuid().ToString(); newList.ListID = Guid.NewGuid().ToString(); newUserAccess.ListID = newList.ListID; newList.CreatorID = userID; newUserAccess.UserEmail = userEmail; newList.Listname = listname; newUserAccess.AccessLevel = 3; //1-see list, 2-edit, 3-admin db.ListProperties.Add(newList); db.UserListAccesses.Add(newUserAccess); db.SaveChanges(); }
public async Task <HttpResponseMessage> AddUserAccess(UserListAccess newUserAccess) { string url = "https://bscthesis.azurewebsites.net/api/UserListAccess/Add"; client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", Constants.userToken.AccessToken); string contentType = "application/json"; var content = JsonConvert.SerializeObject(newUserAccess); try { var result = await client.PostAsync(url, new StringContent(content, Encoding.UTF8, contentType)); return(result); } catch { HttpResponseMessage catchedMessage = new HttpResponseMessage(); catchedMessage.StatusCode = HttpStatusCode.InternalServerError; return(catchedMessage); } }
public IHttpActionResult AddUserToList([FromBody] UserListAccess newUserAccess) { string userID = User.Identity.GetUserId(); string userEmail = User.Identity.GetUserName(); int accessLevel = (db.UserListAccesses.Where(x => x.ListID == newUserAccess.ListID && x.UserEmail == userEmail).FirstOrDefault()).AccessLevel; if (!us.isThereSuchAnEmail(newUserAccess.UserEmail)) { return(StatusCode(HttpStatusCode.NotFound)); } else if (ulas.isAdmin(newUserAccess.ListID, userEmail)) { if (!ulas.ifAccessExists(newUserAccess)) { try { ulas.addAccess(newUserAccess); } catch { return(StatusCode(HttpStatusCode.InternalServerError)); } return(StatusCode(HttpStatusCode.Created)); } else { return(StatusCode(HttpStatusCode.Forbidden)); } } else { return(StatusCode(HttpStatusCode.Unauthorized)); } //if you are admin, only another admin can change your access level -> list cannot be without admin }
private async System.Threading.Tasks.Task ChangeAccessLevel(UserListAccess access) { AreBtnsEn = false; string inputNewAccessLevel = await Application.Current.MainPage.DisplayPromptAsync("New Access", "Insert his/her access level: \n 1 - Viewer \n 2 - Editor \n 3 - Admin"); if (String.IsNullOrEmpty(inputNewAccessLevel)) { return; } int newAccessLevel = Convert.ToInt32(inputNewAccessLevel); if (newAccessLevel > 0 && newAccessLevel < 4) { var checkResult = await n_Restctrl.ChangeUserAccess(newAccessLevel, access.AccessID); if (checkResult.StatusCode == HttpStatusCode.OK) { await Refresh(); } else if (checkResult.StatusCode == System.Net.HttpStatusCode.Unauthorized) { await Application.Current.MainPage.DisplayAlert("Sorry", "You do not have permission to do this", "Ok"); } else { await Application.Current.MainPage.DisplayAlert("Sorry", "Something went wrong, check your connection", "Ok"); } } else { await Application.Current.MainPage.DisplayAlert("Sorry", "Wrong input format", "Ok"); } AreBtnsEn = true; }
public void addAccess(UserListAccess newUserAccess) { newUserAccess.AccessID = Guid.NewGuid().ToString(); db.UserListAccesses.Add(newUserAccess); db.SaveChanges(); }