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();
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 5
0
        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
        }
Esempio n. 8
0
        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();
 }