コード例 #1
0
        public IHttpActionResult DisableUser([FromBody] UserManagementDTO obj)
        {
            // Filter if no username was passed
            if (obj.UserName == null || !ModelState.IsValid)
            {
                return(Content(HttpStatusCode.BadRequest, "Failure: Bad Request"));
            }
            // Pass input through business rules to see if a valid username was passed
            RegInfoValidator validator = new RegInfoValidator();

            if (!validator.ValidateUserName(obj.UserName))
            {
                return(Content(HttpStatusCode.BadRequest, "Failure: No valid data."));
            }
            // Implement the actual status change of that user
            UserManagementService service = new UserManagementService();
            var response = service.DisableUser(obj);

            if (!response.IsSuccessful)
            {
                return(Content(HttpStatusCode.BadRequest, response.Messages));
            }
            // Everything was successful, returning message
            return(Content(HttpStatusCode.OK, "Success: Account was disabled for " + obj.UserName));
        }
コード例 #2
0
        /// <summary>
        /// Deletes a user from the database
        /// </summary>
        /// <param name="obj">UserName(String)</param>
        /// <returns></returns>
        public ResponseDTO <Boolean> DeleteUser(UserManagementDTO obj)
        {
            UserManagementGateway userman  = new UserManagementGateway();
            ResponseDTO <Boolean> response = new ResponseDTO <bool>();

            response = userman.DeleteUser(obj);
            return(response);
        }
コード例 #3
0
        /// <summary>
        /// Enables a user
        /// </summary>
        /// <param name="obj">
        /// UserName(String)
        /// </param>
        /// <returns>
        /// True - Successfully enable a user
        /// False - Ennabling user was unsuccessful
        /// </returns>
        public ResponseDTO <Boolean> EnableUser(UserManagementDTO obj)
        {
            ResponseDTO <Boolean> response = new ResponseDTO <Boolean>();

            var foundUser = (from user in db.Credentials
                             join profile in db.UserProfiles
                             on user.UserID equals profile.UserID
                             where user.UserName == obj.UserName
                             select profile).FirstOrDefault();

            // Was user found?
            if (foundUser == null)
            {
                // Sending error in responseDTO
                response.IsSuccessful = false;
                response.Messages     = new List <string> {
                    "User not found."
                };
                return(response);
            }
            else if (foundUser.Type == obj.Type)
            {
                response.IsSuccessful = false;
                response.Messages     = new List <string> {
                    "User is already" + obj.Type
                };
                return(response);
            }
            else
            {
                using (var dbTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        // Edit Value for User
                        foundUser.Type = "Enable";
                        // Saves changes
                        db.SaveChanges();
                        // Commits if works
                        dbTransaction.Commit();
                        // Inform other layer that it succeeded
                        response.IsSuccessful = true;
                        return(response);
                    }
                    catch (Exception)
                    {
                        // undo any changes if errors
                        dbTransaction.Rollback();
                        // Inform other layer about failure
                        response.IsSuccessful = false;
                        return(response);
                    }
                }
            }
        }
コード例 #4
0
        public void DeleteUserTest()
        {
            UserManagementDTO deleteUser = new UserManagementDTO()
            {
                UserName = "******"
            };
            ResponseDTO <Boolean> found  = userMan.DeleteUser(deleteUser);
            ResponseDTO <Boolean> found2 = userMan.DoesUserNameExists(deleteUser);

            Assert.False(found2.Data);
        }
コード例 #5
0
        public void DisableUserTest()
        {
            // User is already Unbanned in Database, this will banned them
            UserManagementDTO SearchName = new UserManagementDTO()
            {
                UserName = "******",
            };
            ResponseDTO <Boolean> found = userMan.DisableUser(SearchName);

            Assert.True(found.IsSuccessful);
        }
コード例 #6
0
        public void DoesUserNameExistsTest()
        {
            // UserName amay exists in database
            UserManagementDTO SearchName = new UserManagementDTO()
            {
                UserName = "******"
            };
            ResponseDTO <Boolean> found = userMan.DoesUserNameExists(SearchName);

            Assert.True(found.IsSuccessful);
        }
コード例 #7
0
        public void EditGenderTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO genderChange = new UserManagementDTO()
            {
                UserName = "******",
                Gender   = "Edited Gender"
            };
            ResponseDTO <Boolean> found = userMan.EditGender(genderChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #8
0
        public void EditLastNameTest()
        {
            // User Last Name is May, this test will change it to March
            UserManagementDTO nameChange = new UserManagementDTO()
            {
                UserName = "******",
                LastName = "September"
            };
            ResponseDTO <Boolean> found = userMan.EditLastname(nameChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #9
0
        public void EditPasswordTest()
        {
            // User password is
            UserManagementDTO nameChange = new UserManagementDTO()
            {
                UserName = "******",
                Password = "******"
            };
            ResponseDTO <Boolean> found = userMan.EditPassword(nameChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #10
0
        public void EditDescriptionTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO descriptionChange = new UserManagementDTO()
            {
                UserName    = "******",
                Description = "Edited Description"
            };
            ResponseDTO <Boolean> found = userMan.EditDescription(descriptionChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #11
0
        public void EditFirstNameTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO nameChange = new UserManagementDTO()
            {
                UserName  = "******",
                FirstName = "March"
            };
            ResponseDTO <Boolean> found = userMan.EditFirstName(nameChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #12
0
        public void EditProfilePictureTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO profilePictureChange = new UserManagementDTO()
            {
                UserName       = "******",
                ProfilePicture = "Directory",
            };
            ResponseDTO <Boolean> found = userMan.EditProfilePicture(profilePictureChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #13
0
        public void EditSkillLevelTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO skillChange = new UserManagementDTO()
            {
                UserName   = "******",
                SkillLevel = "Edited Skill Level"
            };
            ResponseDTO <Boolean> found = userMan.EditSkillLevel(skillChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #14
0
        public void DisableUserTest()
        {
            // User is already Unbanned in Database, this will banned them
            UserManagementDTO SearchName = new UserManagementDTO()
            {
                UserName = "******",
            };
            // Act
            var response = userMan.DisableUser(SearchName);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #15
0
        public void EditDescriptionTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO descriptionChange = new UserManagementDTO()
            {
                UserName    = "******",
                Description = "Edited Description"
            };
            // Act
            var response = userMan.EditDescription(descriptionChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #16
0
        public void DoesUserNameExistsTest()
        {
            // Arrange
            // Searching for amay who already exists in the database
            UserManagementDTO SearchName = new UserManagementDTO()
            {
                UserName = "******"
            };
            // Act
            var response = userMan.DoesUserNameExists(SearchName);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #17
0
        public void EditGenderTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO genderChange = new UserManagementDTO()
            {
                UserName = "******",
                Gender   = "Edited Gender"
            };
            // Act
            var response = userMan.EditGender(genderChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #18
0
        public void DeleteUserTest()
        {
            // Arrange
            UserManagementDTO deleteUser = new UserManagementDTO()
            {
                UserName = "******"
            };
            // Act
            var response        = userMan.DeleteUser(deleteUser);
            var responsefailure = userMan.DoesUserNameExists(deleteUser);

            // Assert
            Assert.False(responsefailure.Data);
        }
コード例 #19
0
        public void EditProfilePictureTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO profilePictureChange = new UserManagementDTO()
            {
                UserName       = "******",
                ProfilePicture = "Directory",
            };
            // Act
            var response = userMan.EditProfilePicture(profilePictureChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #20
0
        public void EditPasswordTest()
        {
            // User password is
            UserManagementDTO nameChange = new UserManagementDTO()
            {
                UserName = "******",
                Password = "******"
            };
            // Act
            var response = userMan.EditPassword(nameChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #21
0
        public void EditLastNameTest()
        {
            // User Last Name is May, this test will change it to March
            UserManagementDTO nameChange = new UserManagementDTO()
            {
                UserName = "******",
                LastName = "September"
            };
            // Act
            var response = userMan.EditLastname(nameChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #22
0
        public void EditFirstNameTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO nameChange = new UserManagementDTO()
            {
                UserName  = "******",
                FirstName = "March"
            };
            // Act
            var response = userMan.EditFirstName(nameChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #23
0
        public void EditSkillLevelTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO skillChange = new UserManagementDTO()
            {
                UserName   = "******",
                SkillLevel = "Edited Skill Level"
            };
            // Act
            var response = userMan.EditSkillLevel(skillChange);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #24
0
        public void DeleteUser()
        {
            // Arrange
            UserManagementService service = new UserManagementService();
            UserManagementDTO     obj     = new UserManagementDTO()
            {
                UserName = "******"
            };
            // Act
            var response = service.DeleteUser(obj);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #25
0
        public void EnableUser()
        {
            // Arrange
            UserManagementService service = new UserManagementService();
            UserManagementDTO     obj     = new UserManagementDTO()
            {
                UserName = "******"
            };
            // Act
            var response = service.EnableUser(obj);

            // Assert
            Assert.True(response.IsSuccessful);
        }
コード例 #26
0
        public void EditLocationTest()
        {
            // User First Name is April, this test will change it to March
            UserManagementDTO locationChange = new UserManagementDTO()
            {
                UserName = "******",
                Address  = "Edited Address",
                City     = "Edited City",
                State    = "Edited State",
                Zipcode  = "Edited City"
            };
            ResponseDTO <Boolean> found = userMan.EditLocation(locationChange);

            Assert.True(found.IsSuccessful);
        }
コード例 #27
0
        /// <summary>
        /// Edits the Location of a user
        /// </summary>
        /// <param name="obj">
        /// UserName(String) and Location data via UserManagementDTO
        /// </param>
        /// <returns>
        /// IsSuccessful - True if successfully edited
        /// IsSuccessful - False if failed to edited
        /// </returns>
        public ResponseDTO <Boolean> EditLocation(UserManagementDTO obj)
        {
            var foundUser = (from u in db.Credentials
                             join y in db.UserProfiles
                             on u.UserID equals y.UserID
                             where u.UserName == obj.UserName
                             select y).FirstOrDefault();
            ResponseDTO <Boolean> response = new ResponseDTO <Boolean>();

            if (foundUser == null)
            {
                response.IsSuccessful = false;
                response.Messages     = new List <string> {
                    "User not found."
                };
                return(response);
            }
            else
            {
                var foundlocation = (from location in db.Locations
                                     where location.LocationID == foundUser.LocationID
                                     select location).FirstOrDefault();
                using (var dbTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        foundlocation.Address = obj.Address;
                        foundlocation.City    = obj.City;
                        foundlocation.State   = obj.State;
                        foundlocation.Zipcode = obj.Zipcode;
                        foundlocation.Address = obj.Address;
                        db.SaveChanges();
                        dbTransaction.Commit();
                        response.IsSuccessful = true;
                        return(response);
                    }
                    catch (Exception)
                    {
                        dbTransaction.Rollback();
                        response.Messages = new List <string> {
                            "An error occured while editing Location."
                        };
                        return(response);
                    }
                }
            }
        }
コード例 #28
0
        public void DisableUser()
        {
            // Arrange
            var controller        = new UserManagementController();
            UserManagementDTO obj = new UserManagementDTO()
            {
                UserName = "******"
            };
            // Act
            IHttpActionResult actionResult = controller.DisableUser(obj);
            var contentResult = actionResult as OkNegotiatedContentResult <string>;

            // Assert
            Assert.NotNull(contentResult);
            Assert.NotNull(contentResult.Content);
            Assert.Equal("Success: Account was deleted for amay", contentResult.Content);
        }
コード例 #29
0
        /// <summary>
        /// Edits the description of a user
        /// </summary>
        /// <param name="obj">
        /// UserName(String) via UserManagementDTO
        /// </param>
        /// <returns>
        /// IsSuccessful - True if successfully edited
        /// IsSuccessful - False if failed to edited
        /// </returns>
        public ResponseDTO <Boolean> EditDescription(UserManagementDTO obj)
        {
            // Searching by UserName
            var foundCredentials = (from user in db.Credentials
                                    where user.UserName == obj.UserName
                                    select user).FirstOrDefault();
            // Creating Response DTO
            ResponseDTO <Boolean> response = new ResponseDTO <Boolean>();

            if (foundCredentials == null)
            {
                response.IsSuccessful = false;
                response.Messages     = new List <string> {
                    "User not found."
                };
                return(response);
            }
            else
            {
                var foundUser = (from user in db.UserProfiles
                                 where user.UserID == foundCredentials.UserID
                                 select user).FirstOrDefault();
                using (var dbTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        foundUser.Description = obj.Description;
                        db.SaveChanges();
                        dbTransaction.Commit();
                        response.IsSuccessful = true;
                        return(response);
                    }
                    catch (Exception)
                    {
                        dbTransaction.Rollback();
                        response.IsSuccessful = false;
                        response.Messages     = new List <string> {
                            "An error occured while editing description."
                        };
                        return(response);
                    }
                }
            }
        }
コード例 #30
0
        /// <summary>
        /// Checks if the username exists
        /// </summary>
        /// <param name="obj">
        /// UserName(string) via UserManagementDTO
        /// </param>
        /// <returns>
        /// IsSuccessfull = true if name exits in database
        /// IsSuccessfull = false if name exits in database
        /// </returns>
        public ResponseDTO <Boolean> DoesUserNameExists(UserManagementDTO obj)
        {
            var foundUserName = (from user in db.Credentials
                                 where user.UserName == obj.UserName
                                 select user.UserName);
            ResponseDTO <Boolean> response = new ResponseDTO <Boolean>();

            if (foundUserName == null)
            {
                response.IsSuccessful = false;
                response.Messages     = new List <string> {
                    "User was not found."
                };
                return(response);
            }
            else
            {
                response.IsSuccessful = true;
                return(response);
            }
        }