示例#1
0
        public RepositoryResult Register(RESTUserModel model)
        {
            var result = new RepositoryResult();

            try
            {
                var userDb = plantDb.GetCollection <UserModel>("user");
                var user   = userDb.Find(u => u.Name == model.Username).FirstOrDefault();

                if (user == null)
                {
                    user          = new UserModel();
                    user.Id       = ObjectId.GenerateNewId().ToString();
                    user.Name     = model.Username;
                    user.Password = model.Password;
                    userDb.InsertOne(user);

                    result.Successful = true;
                    result.Payload    = $"Successfully reigstered user '{model.Username}'.";
                }
                else
                {
                    result.Successful = false;
                    result.Payload    = $"User '{model.Username}' already exists.";
                }
            }
            catch (Exception e)
            {
                result.Successful = false;
                result.Payload    = e.Message;
            }

            return(result);
        }
示例#2
0
        public RepositoryResult LoginUser(RESTUserModel model)
        {
            var result = new RepositoryResult();

            try
            {
                var userDb = plantDb.GetCollection <UserModel>("user");
                var user   = userDb.Find(u => u.Name == model.Username && u.Password == model.Password).FirstOrDefault();
                if (user == null)
                {
                    result.Successful = false;
                    result.Payload    = $"Cant login user '{model.Username}'";
                }
                else
                {
                    result.Successful = true;
                    result.Payload    = $"Successfully logged in user '{model.Username}'";
                }
            }
            catch (Exception e)
            {
                result.Successful = false;
                result.Payload    = e.Message;
            }

            return(result);
        }
        public ActionResult DeleteUser([FromBody] RESTUserModel model)
        {
            var result = userRepostiroy.Delete(model);

            if (result.Successful)
            {
                return(this.Ok(result));
            }

            return(this.BadRequest(result));
        }
示例#4
0
        public RepositoryResult Delete(RESTUserModel model)
        {
            var result = new RepositoryResult();

            try
            {
                var userDb = plantDb.GetCollection <UserModel>("user");
                var user   = userDb.Find(u => u.Name == model.Username).FirstOrDefault();

                if (user == null)
                {
                    result.Successful = false;
                    result.Payload    = "Could not find user with name " + model.Username;
                }
                else
                {
                    if (user.Password == model.Password)
                    {
                        userDb.DeleteOne(u => u.Name == model.Username);

                        result.Successful = true;
                        result.Payload    = "Successfully deleted user.";
                    }
                    else
                    {
                        result.Successful = false;
                        result.Payload    = "Wrong password.";
                    }
                }
            }
            catch (Exception e)
            {
                result.Successful = false;
                result.Payload    = e.Message;
            }

            return(result);
        }