示例#1
0
        /// <summary>
        /// The concrete method that authenticate a user request
        /// </summary>
        /// <param name="request">holding the username, account an the password</param>
        /// <returns>Object AuthenticateResponse</returns>
        public AuthenticateResponse Authenticate(AuthenticateRequest request)
        {
            //Building the WebService request
            //First Step Request by Account >> Defining Header
            AuthenticateResponse response = new AuthenticateResponse();


            Dictionary <string, string> headers = SessionHelper.GetAuthorizationHeadersForUser();


            RecordWebServiceResponse <UserInfo> userRecord = childRepo.Authenticate(headers, request.Parameters);

            response = CreateServiceResponse <AuthenticateResponse>(userRecord);
            if (userRecord == null)
            {
                response.Success = false;
                response.Message = "RequestError"; //This message have to be read from resource, it indicate that there was a problem in the connection.
                return(response);
            }
            if (userRecord.record == null)
            {
                response.Success = false;
                response.Message = "InvalidCredentials";
                return(response);
            }
            //authentication Valid, set the session then return the response back


            SessionHelper.Set("UserId", userRecord.record.recordId);
            SessionHelper.Set("key", SessionHelper.GetToken(SessionHelper.Get("AccountId").ToString(), userRecord.record.recordId));
            response.User    = userRecord.record;
            response.Success = true;
            return(response);
        }
示例#2
0
        public PasswordRecoveryResponse ResetPassword(ResetPasswordRequest request)
        {
            PasswordRecoveryResponse    response;
            Dictionary <string, string> headers = SessionHelper.GetAuthorizationHeadersForUser();

            RecordWebServiceResponse <UserInfo> webResponse = childRepo.ResetPassword(headers, request.Parameters);


            response = CreateServiceResponse <PasswordRecoveryResponse>(webResponse);

            return(response);
        }
示例#3
0
        public PasswordRecoveryResponse RequestPasswordRecovery(AccountRecoveryRequest request)
        {
            PasswordRecoveryResponse response = new PasswordRecoveryResponse();



            Dictionary <string, string> headers    = SessionHelper.GetAuthorizationHeadersForUser();
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            RecordWebServiceResponse <UserInfo> userRecord = childRepo.RequestPasswordRecovery(headers, request.Parameters);

            response = CreateServiceResponse <PasswordRecoveryResponse>(userRecord);
            // if (response.Success)
            return(response);
        }
示例#4
0
        public RecordResponse <Department> GetDepartmentByReference(DepartmentByReference request)
        {
            RecordResponse <Department> response;
            var headers = SessionHelper.GetAuthorizationHeadersForUser();
            Dictionary <string, string> queryParams = new Dictionary <string, string>();


            RecordWebServiceResponse <Department> webResponse = _companyRepository.GetDepartmentByReference(headers, request.Parameters);

            response = CreateServiceResponse <RecordResponse <Department> >(webResponse);
            if (response.Success)
            {
                response.result = webResponse.record;
            }

            return(response);
        }
示例#5
0
        public RecordResponse <T> Get <T>(RecordRequest request)
        {
            RecordResponse <T> response;
            var headers = SessionHelper.GetAuthorizationHeadersForUser();
            Dictionary <string, string> queryParams = new Dictionary <string, string>();

            queryParams.Add("_recordId", request.RecordID);

            RecordWebServiceResponse <T> webResponse = GetRepository().GetRecord(headers, queryParams);

            response = CreateServiceResponse <RecordResponse <T> >(webResponse);
            if (response.Success)
            {
                response.result = webResponse.record;
            }

            return(response);
        }