Beispiel #1
0
        //public abstract Response_SessionCheck User_SessionCheck(Request_SessionCheck request);
        public static Response_SessionCheck _User_SessionCheck(Request_SessionCheck request)
        {
            var result = new Response_SessionCheck();

            DCT.DCT.Execute(c =>
            {
                //var emailHash = CryptographyHelper.StringToSha256String(request.Login, request.Password);
                ////Проверка полученных данных
                //if (string.IsNullOrWhiteSpace(emailHash) || string.IsNullOrWhiteSpace(request.Login))
                //{
                //    result.Comment = "Указана не корректная сессия или хэш клиента";
                //    result.StateEnum = Objects.Message.MessageState.NotSuccesfull;
                //    return;
                //}
                //var access = MainDbAPI.UserAccessByLogin(request.Login);
                //if (access.LoginHash == emailHash)
                //{
                //    result.Comment = "Пользователь успешно авторизирован!";
                //    result.HashUID = emailHash;
                //    result.SessionUID = request.SessionUID;
                //    result.StateEnum = Objects.Message.MessageState.Succesfull;
                //}
                //else
                //{
                //    result.Comment = "Указаннная ссессия просрочена сессия требуется вызов метода SingIn и получение но";
                //    result.StateEnum = Objects.Message.MessageState.NotSuccesfull;
                //}
            }, continueExceptionMethod: (x, ex) =>
            {
                result.Error     = ex.ToString();
                result.StateEnum = Objects.Message.MessageState.Error;
            });
            return(result);
        }
        public void SessionCheck(Action <bool> callback, string hashUID, string sessionUID)
        {
            DCT.DCT.ExecuteAsyncQueue(c =>
            {
                var result  = false;
                var request = new Request_SessionCheck()
                {
                    HashUID    = hashUID,
                    SessionUID = sessionUID
                };
                var response = Execute <Request_SessionCheck, Response_SessionCheck>(request);
                switch (response.StateEnum)
                {
                case Objects.Message.MessageState.Succesfull:
                    result = true;
                    SetHash(response.HashUID, response.SessionUID);
                    break;

                default:
                    break;
                }
                return(result);
            }, complete: (c, r) => {
                if (callback == null)
                {
                    ConsoleHelper.Send("MainServiceClient", "В методе SessionCheck не реализован Callback");
                }
                else
                {
                    callback(r);
                }
            });
        }