Esempio n. 1
0
        public static SigninResult Signin(NameValueCollection Query)
        {
            try
            {
                #region Получаем параметры запроса

                string _email = Query.Get("email");

                string _passw = Query.Get("password");

                #endregion

                #region Проверка на правильность email и пароля

                Status _status = Validator.EmailOrPassword(_email, _passw);

                if (_status != Status.SUCCESSFULLY_COMPLETED)
                {
                    return new SigninResult(_status);
                }

                #endregion

                #region Подключение к базе данных

                Sql _sql;

                try
                {
                    _sql = new Sql();

                    if (!_sql.Connected)
                    {
                        return new SigninResult(Status.ERROR_CONNECTION_DATABASE);
                    }
                }
                catch
                {
                    return new SigninResult(Status.ERROR_CONNECTION_DATABASE);
                }

                #endregion

                #region Получаем md5 хеш пароля

                string _hash = Hash.Md5(_passw);

                #endregion

                #region Проверяем на существование пользователя

                try
                {
                    if (_sql.IsUser(_email, _hash))
                    {
                        return new SigninResult(Status.USER_FOUND);
                    }
                }
                catch
                {
                    return new SigninResult(Status.ERROR_QUERY_DATABASE);
                }

                #endregion

                #region Добавляем пользователя

                try
                {
                    if (_sql.SetUser(_email, _hash))
                    {
                        return new SigninResult(Status.SUCCESSFULLY_COMPLETED);
                    }
                    else
                    {
                        return new SigninResult(Status.ERROR);
                    }
                }
                catch
                {
                    return new SigninResult(Status.ERROR_QUERY_DATABASE);
                }

                #endregion
            }
            catch
            {
                return new SigninResult(Status.EXCEPTION);
            }
        }
Esempio n. 2
0
        public static DeleteResult Delete(NameValueCollection Query)
        {
            try
            {
                #region Получаем параметры запроса

                string _id = Query.Get("user_id");

                string _token = Query.Get("access_token");

                #endregion

                #region Проверка на правильность id и token

                Status _status = Validator.UserIdOrToken(_id, _token);

                if (_status != Status.SUCCESSFULLY_COMPLETED)
                {
                    return new DeleteResult(_status);
                }

                #endregion

                #region Подключение к базе данных

                Sql _sql;

                try
                {
                    _sql = new Sql();

                    if (!_sql.Connected)
                    {
                        return new DeleteResult(Status.ERROR_CONNECTION_DATABASE);
                    }
                }
                catch
                {
                    return new DeleteResult(Status.ERROR_CONNECTION_DATABASE);
                }

                #endregion

                #region Преобразуем id в число

                long _uid = 0;

                try
                {
                    _uid = Convert.ToInt64(_id);
                }
                catch
                {
                    return new DeleteResult(Status.INCORRECT_USERID);
                }

                #endregion

                #region Проверяем существование пользователя

                try
                {
                    if (!_sql.IsUser(_uid))
                    {
                        return new DeleteResult(Status.USER_NOT_FOUND);
                    }
                }
                catch
                {
                    return new DeleteResult(Status.ERROR_QUERY_DATABASE);
                }

                #endregion

                #region Удаляем токен

                try
                {
                    if (_sql.IsToken(_uid, _token))
                    {
                        if (!_sql.RemoveToken(_uid))
                        {
                            return new DeleteResult(Status.ERROR);
                        }
                    }
                    else
                    {
                        return new DeleteResult(Status.ACCESS_DENIED);
                    }
                }
                catch
                {
                    return new DeleteResult(Status.ERROR_QUERY_DATABASE);
                }

                #endregion

                #region Удаляем пользователя

                try
                {
                    if (_sql.RemoveUser(_uid))
                    {
                        return new DeleteResult(Status.SUCCESSFULLY_COMPLETED);
                    }
                    else
                    {
                        return new DeleteResult(Status.ERROR);
                    }
                }
                catch
                {
                    return new DeleteResult(Status.ERROR_QUERY_DATABASE);
                }

                #endregion
            }
            catch
            {
                return new DeleteResult(Status.EXCEPTION);
            }
        }