Example #1
0
        private RestRequest CreateRequest(string url, Method method = Method.POST)
        {
            var request = new RestRequest(url, method);

            request.AddCookie("SESSIONID", session.Id);

            return(request);
        }
Example #2
0
        //public Guid CreateIssue(IssueDto issue)
        //{
        //    var request = new RestRequest("api/v2.0/issues", Method.POST, DataFormat.Json);
        //    request.AddJsonBody(issue);
        //    var issueVersionId = SendRequest<Identific>(request).Id;
        //    //// we need issueId not issueVersionId to create meeting
        //    var getIssueIdRequest = new RestRequest($"api/v1.0/issueversions/{issueVersionId}", Method.GET);
        //    return SendRequest<IssueVersionShort>(getIssueIdRequest).Issue.Id;
        //}

        //public void IssueToPrepeared(Guid issueId)
        //{
        //    var request = new RestRequest($"api/v2.0/issues/{issueId}/status/ToPrepared", Method.POST);
        //    request.AddJsonBody(new StatusDto(false, false));
        //    SendRequest<Identific>(request);
        //}

        //public List<PageOfMeetingLocalizedDto> GetListOfMeetings()
        //{
        //    var request = new RestRequest("/api/v2.0/meetings", Method.GET);
        //    return SendRequest<List<PageOfMeetingLocalizedDto>>(request);
        //}

        //public Guid CreateMeeting(CreateMeetingDto meeting)
        //{
        //    var request = new RestRequest("api/v2.0/meetings", Method.POST, DataFormat.Json);
        //    request.AddJsonBody(meeting);

        //    return SendRequest<Identific>(request).Id;
        //}
        //public IssueMultilingualDto GetIssue(Guid id)
        //{
        //    var request = new RestRequest($"/api/v2.0/issues/{id}", Method.GET);
        //    return SendRequest<IssueMultilingualDto>(request);
        //}

        //public MeetingDto GetMeeting(Guid id)
        //{
        //    var request = new RestRequest($"/api/v2.0/meetings/{id}", Method.GET);
        //    return SendRequest<MeetingDto>(request);
        //}
        //public List<PageOfIssueVersionIssuesListItemDto> GetListOfIssues()
        //{
        //    var request = new RestRequest($"/api/v2.0/issues/", Method.GET);
        //    return SendRequest<List<PageOfIssueVersionIssuesListItemDto>>(request);
        //}


        public T SendRequest <T>(RestRequest request) where T : class, new()
        {
            request.AddCookie(_restResponseCookie.Name, _restResponseCookie.Value);
            var response = _restClient.Execute <T>(request);

            logger.Trace(response.Content);
            return(response.Data);
        }
Example #3
0
        public bool SendRequest2(RestRequest request)
        {
            request.AddCookie(_restResponseCookie.Name, _restResponseCookie.Value);
            var response = _restClient.Execute(request);

            logger.Trace(response.Content);
            return(response.IsSuccessful);
        }
Example #4
0
        public List <Tweet> Get(string cookie)
        {
            var getRequest = new RestRequest("/tweets", Method.GET);

            getRequest.AddHeader("Content-Type", "application/json");
            getRequest.AddCookie(cookie.Split('=')[0], cookie.Split('=')[1]);
            return(JsonConvert.DeserializeObject <List <Tweet> >(restClient.Execute(getRequest).Content));
        }
Example #5
0
        public Hub HubDetails()
        {
            var request = new RestRequest(_hubsResource, Method.GET);

            request.AddCookie("ApiSession", _session.Info.ApiSession);

            return(_session.Client.Execute <Hub>(request).Data);
        }
        private void UnlockButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            MessageBoxResult messageBoxResult = MessageBox.Show("¿Seguro que desea desbloquear la cuenta?",
                                                                "Confirmación", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                RestClient client = new RestClient(urlBase);
                client.Timeout = -1;
                string urlAccount = "accounts/" + MemberATE.idAccount;
                var    request    = new RestRequest(urlAccount, Method.PATCH);
                request.AddHeader("Content-type", "application/json");
                foreach (RestResponseCookie cookie in Login.cookies)
                {
                    request.AddCookie(cookie.Name, cookie.Value);
                }
                Models.MemberStatus status = new Models.MemberStatus();
                status.memberATEStatus = 1;
                var json = JsonConvert.SerializeObject(status);
                request.AddHeader("Token", Login.tokenAccount.token);
                request.AddParameter("application/json", json, ParameterType.RequestBody);
                System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
                try
                {
                    IRestResponse response = client.Execute(request);
                    if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        status = JsonConvert.DeserializeObject <Models.MemberStatus>(response.Content);
                        SendEmail();
                        MessageBox.Show("La cuenta se desbloqueo exitosamente", "Desbloqueo Exitoso", MessageBoxButton.OK, MessageBoxImage.Information);
                        AccountConsultation accountConsultation = new AccountConsultation();
                        accountConsultation.Show();
                        Close();
                    }
                    else
                    {
                        Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                        MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
                            response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                        {
                            Login login = new Login();
                            login.Show();
                            Close();
                        }
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show("No se pudo obtener información de la base de datos. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    TelegramBot.SendToTelegram(exception);
                    LogException.Log(this, exception);
                    AccountConsultation accountConsultation = new AccountConsultation();
                    accountConsultation.Show();
                    Close();
                }
            }
        }
        public JObject GET_Object(string url)
        {
            List <string> GetCookies = Authentication();
            var           client     = new RestClient(url);

            client.Timeout = -1;
            var request = new RestRequest(Method.GET);

            request.AddHeader("BPMCSRF", GetCookies[0]);
            request.AddCookie(".ASPXAUTH", GetCookies[2]);
            request.AddCookie("BPMLOADER", GetCookies[1]);
            request.AddCookie("UserName", GetCookies[3]);

            IRestResponse response     = client.Execute(request);
            JObject       ParsedObject = JObject.Parse(response.Content);

            return(ParsedObject);
        }
Example #8
0
        private void GetRating()
        {
            RestClient client = new RestClient(urlBase);

            client.Timeout = -1;
            List <Models.Rating> ratings = new List <Models.Rating>();
            string urlRating             = "ratings/request/" + Request.idRequest + "/" + 1;
            var    request = new RestRequest(urlRating, Method.GET);

            foreach (RestResponseCookie cookie in Login.cookies)
            {
                request.AddCookie(cookie.Name, cookie.Value);
            }
            request.AddHeader("Token", Login.tokenAccount.token);
            System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
            try
            {
                IRestResponse response = client.Execute(request);
                if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    MessageBox.Show("El cliente ya fue calificado", "Registro de calificación existente", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
                        response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                    {
                        Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                        MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        Login login = new Login();
                        login.Show();
                        Close();
                    }
                    else
                    {
                        if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
                        {
                            QualifyClient qualifyClient = new QualifyClient();
                            qualifyClient.Request = Request;
                            qualifyClient.ShowDialog();
                        }
                        else
                        {
                            Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                            MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            TelegramBot.SendToTelegram(responseError.error);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                TelegramBot.SendToTelegram(exception);
                LogException.Log(this, exception);
                MessageBox.Show("No se puede calificar. Intente más tarde.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Example #9
0
        private void UpdateService()
        {
            RestClient client = new RestClient(urlBase);

            client.Timeout = -1;
            string urlService = "services/" + Service.idService;
            var    request    = new RestRequest(urlService, Method.PUT);

            foreach (RestResponseCookie cookie in Login.cookies)
            {
                request.AddCookie(cookie.Name, cookie.Value);
            }
            var json = JsonConvert.SerializeObject(Service);

            request.AddHeader("Token", Login.tokenAccount.token);
            request.AddParameter("application/json", json, ParameterType.RequestBody);
            System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
            try
            {
                IRestResponse response = client.Execute(request);
                if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    Service         = JsonConvert.DeserializeObject <Models.Service>(response.Content);
                    isUpdateService = true;
                }
                else
                {
                    Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                    if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
                        response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                    {
                        BehindLogin(responseError.error);
                    }
                    else
                    {
                        MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        if (response.StatusCode != System.Net.HttpStatusCode.Conflict && response.StatusCode != System.Net.HttpStatusCode.BadRequest)
                        {
                            ServiceOffered serviceOffered = new ServiceOffered();
                            serviceOffered.InitializeMenu();
                            serviceOffered.Show();
                            Close();
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                TelegramBot.SendToTelegram(exception);
                LogException.Log(this, exception);
                MessageBox.Show("No se pudo modificar el servicio. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ServiceOffered serviceOffered = new ServiceOffered();
                serviceOffered.InitializeMenu();
                serviceOffered.Show();
                Close();
            }
        }
Example #10
0
        public void SetControl(ControlMode mode)
        {
            var request = new RestRequest($"{_widgetsResource}/climate/control", Method.PUT);

            request.AddParameter("control", mode.ToString());
            request.AddCookie("ApiSession", _session.Info.ApiSession);

            _session.Client.Execute(request);
        }
        private static IRestResponse GetRest(String uri)
        {
            var client  = new RestClient(uri);
            var request = new RestRequest(Method.GET);

            request.AddHeader("authorization", auth);
            request.AddCookie("atlassian.xsrf.token", token);
            return(client.Execute(request));
        }
Example #12
0
        private RestRequest PrepareGetRequest(string resource, string rootElement = RequestRootElement)
        {
            var request = new RestRequest(resource, Method.GET);

            request.RequestFormat = DataFormat.Json;
            request.AddCookie("PVEAuthCookie", apiTicket.ticket);
            request.RootElement = rootElement;
            return(request);
        }
        public IRestResponse PostMethod(string requestUrl, string jsonToSend)
        {
            var request = new RestRequest(requestUrl, Method.POST);

            request.AddCookie(_sessionCookieId, _sessionCookieValue);
            request.AddParameter("application/json; charset=utf-8", jsonToSend, ParameterType.RequestBody);
            request.RequestFormat = DataFormat.Json;
            return(_client.Execute(request));
        }
        public static RestRequest AddCookies(this RestRequest request, IList <RestResponseCookie> cookies)
        {
            foreach (var cookie in cookies)
            {
                request.AddCookie(cookie.Name, cookie.Value);
            }

            return(request);
        }
Example #15
0
        private void RejectButtonClicked(object sender, RoutedEventArgs e)
        {
            RestClient client = new RestClient(urlBase);

            client.Timeout = -1;
            string urlRequest = "requests/" + Request.idRequest;
            var    request    = new RestRequest(urlRequest, Method.PATCH);

            request.AddHeader("Content-type", "application/json");
            foreach (RestResponseCookie cookie in Login.cookies)
            {
                request.AddCookie(cookie.Name, cookie.Value);
            }
            Models.RequestStatus status = new Models.RequestStatus();
            status.requestStatus = 3;
            var json = JsonConvert.SerializeObject(status);

            request.AddHeader("Token", Login.tokenAccount.token);
            request.AddParameter("application/json", json, ParameterType.RequestBody);
            System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
            try
            {
                IRestResponse response = client.Execute(request);
                if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    status = JsonConvert.DeserializeObject <Models.RequestStatus>(response.Content);
                    MessageBox.Show("La solicitud fue rechazada exitosamente", "Rechazo Exitoso", MessageBoxButton.OK, MessageBoxImage.Information);
                    RequestsReceivedList requestReceivedList = new RequestsReceivedList();
                    requestReceivedList.InitializeMenu();
                    requestReceivedList.Show();
                    Close();
                }
                else
                {
                    Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                    MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
                        response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                    {
                        Login login = new Login();
                        login.Show();
                        Close();
                    }
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show("No se pudo obtener información de la base de datos. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                TelegramBot.SendToTelegram(exception);
                LogException.Log(this, exception);
                RequestsReceivedList requestReceivedList = new RequestsReceivedList();
                requestReceivedList.InitializeMenu();
                requestReceivedList.Show();
                Close();
            }
        }
Example #16
0
        public IRestRequest Build()
        {
            var request = new RestRequest(_methodInfo.Path, _methodInfo.Method)
            {
                RequestFormat  = DataFormat.Json,
                JsonSerializer = RestSharpNewtonsoftJsonSerializer.Default,
            };

            // TODO: Allow XML requests?
            for (var i = 0; i < _arguments.Length; i++)
            {
                var argument = _arguments[i];
                var usage    = _methodInfo.ParameterUsage[i];

                switch (usage)
                {
                case RestMethodInfo.ParamUsage.Query:
                    if (argument != null)
                    {
                        request.AddParameter(_methodInfo.ParameterNames[i], argument, ParameterType.QueryString);
                    }
                    break;

                case RestMethodInfo.ParamUsage.Path:
                    request.AddUrlSegment(_methodInfo.ParameterNames[i], argument.ToString());
                    break;

                case RestMethodInfo.ParamUsage.Header:
                    request.AddHeader(_methodInfo.ParameterNames[i], argument.ToString());
                    break;

                case RestMethodInfo.ParamUsage.Body:
                    request.AddBody(argument);
                    break;

                case RestMethodInfo.ParamUsage.Parameter:
                    request.AddParameter(_methodInfo.ParameterNames[i], argument.ToString(), ParameterType.GetOrPost);
                    break;

                case RestMethodInfo.ParamUsage.File:
                    var path = argument.ToString();
                    var name = _methodInfo.ParameterNames[i] ?? Path.GetFileName(path);
                    request.AddFile(name, path, "multipart/form-data");
                    break;

                case RestMethodInfo.ParamUsage.Cookie:
                    request.AddCookie(_methodInfo.ParameterNames[i], argument.ToString());
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }

            return(request);
        }
Example #17
0
        private Result <IRestResponse> Search()
        {
            // PARAMETERS AND COOKIES WE WILL GET WITH FIRST GET
            List <RestResponseCookie> allCookies = new List <RestResponseCookie>();
            RestRequest request     = new RestRequest(Method.POST);
            string      baseUrl     = "https://www.azbbhe.us/";
            string      searchQuery = "DaEngine.asp";
            RestClient  client      = new RestClient(baseUrl + searchQuery);

            // ADD PARAMETERS
            request.AddParameter("LicSearch", "");
            request.AddParameter("TypeSearch", "LicenseNo");
            request.AddParameter("DaInBox", provider.LicenseNumber);
            request.AddParameter("B1", "Submit");

            foreach (var c in allCookies)
            {
                request.AddCookie(c.Name, c.Value);
            }

            IRestResponse response = client.Execute(request);


            //REFILL THE COOKIE JAR
            allCookies.AddRange(response.Cookies);

            Match detailLink = Regex.Match(response.Content, @"ProDetail.*(?<==.*\d)", RegOpt);

            if (detailLink.Success)
            {
                client  = new RestClient(baseUrl + detailLink);
                request = new RestRequest(Method.GET);

                foreach (var c in allCookies)
                {
                    request.AddCookie(c.Name, c.Value);
                }

                response = client.Execute(request);

                allCookies.AddRange(response.Cookies);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    return(Result <IRestResponse> .Success(response));
                }
                else
                {
                    return(Result <IRestResponse> .Failure(ErrorMsg.CannotAccessSearchResultsPage));
                }
            }
            else
            {
                return(Result <IRestResponse> .Failure(ErrorMsg.NoResultsFound));
            }
        }
Example #18
0
        public GenericResponse <string> RunVariableTask(string taskId, string docComplete, SecurityContext security)
        {
            try
            {
                //var docu = new Documentos()
                //{
                //    documentacionCompletaInput = new DocumentacionCompletaInput()
                //    {
                //        docCompleta = docComplete
                //    }
                //};

                /*
                 * http://10.39.1.194:8080/bonita/portal/resource/taskInstance/Afiliaciones%20Skandia%20To%20Be/2.1/UT12001-(RPA)%20Verificar%20que%20los%20documentos%20esten%20diligenciados/API/bpm/userTask/20020/execution
                 */
                var url     = string.Concat(Ruta, "/bonita/portal/resource/taskInstance/Afiliaciones%20Skandia%20To%20Be/2.1/UT12001-(RPA)%20Verificar%20que%20los%20documentos%20esten%20diligenciados/API/bpm/userTask/", taskId, "/execution");
                var client  = new RestClient(url);
                var request = new RestRequest(Method.POST);
                request.AddHeader("X-Bonita-API-Token", security.XapiBonitaToken);
                request.AddHeader("JSESSIONID", security.SessionId);
                request.AddHeader("bonita.tenant", security.Tenant);
                request.AddCookie("bonita.tenant", security.Tenant);
                request.AddCookie("JSESSIONID", security.SessionId);
                request.AddCookie("X-Bonita-API-Token", security.XapiBonitaToken);
                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("Accept", "application/json");
                request.AddJsonBody(new object());
                IRestResponse response = client.Execute(request);

                if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.NoContent)
                {
                    return(Mapper <string> .MapGenericResponse(taskId, HttpStatusCode.OK, HttpStatusCode.OK.ToString(), "Tarea ejecutada de forma correcta", string.Empty));
                }
                else
                {
                    return(Mapper <string> .MapGenericResponse(taskId, HttpStatusCode.OK, HttpStatusCode.OK.ToString(), "No se pudo ejecutar la tarea", string.Empty));
                }
            }
            catch (Exception ex)
            {
                return(Mapper <string> .MapGenericResponse("-1", HttpStatusCode.OK, HttpStatusCode.OK.ToString(), $"ERROR: { ex.Message }", string.Empty));
            }
        }
        protected IRestRequest getNewRequest(string resource, Method method)
        {
            IRestRequest result = new RestRequest(resource, method);

            if (this.AuthenticationResult?.Cookie != null)
            {
                result.AddCookie(this.AuthenticationResult.Cookie.Name, this.AuthenticationResult.Cookie.Value);
            }
            return(result);
        }
Example #20
0
        public static IRestRequest AddCookies(string endpoint, IDictionary <string, string> cookies, Method method = Method.POST)
        {
            var restRequest = new RestRequest(endpoint, method);

            foreach (var cookie in cookies)
            {
                restRequest.AddCookie(cookie.Key, cookie.Value);
            }
            return(restRequest);
        }
Example #21
0
        private RestRequest PrepareDeleteRequest(string resource, string rootElement = RequestRootElement)
        {
            var request = new RestRequest(resource, Method.DELETE);

            request.RequestFormat = DataFormat.Json;
            request.AddHeader("CSRFPreventionToken", apiTicket.CSRFPreventionToken);
            request.AddCookie("PVEAuthCookie", apiTicket.ticket);
            request.RootElement = rootElement;
            return(request);
        }
Example #22
0
 public static void SetHeaders(this RestRequest Req)
 {
     Req.AddHeader("Connection", "keep-alive");
     Req.AddHeader("Host", "www.dizibox.pw");
     Req.AddHeader("Sec-Fetch-Mode", "navigate");
     Req.AddHeader("Sec-Fetch-Site", "none");
     Req.AddHeader("Sec-Fetch-User", "?1");
     Req.AddHeader("Upgrade-Insecure-Requests", "1");
     Req.AddCookie("dbxu", DateTimeOffset.Now.ToUnixTimeSeconds().ToString());
 }
Example #23
0
 public static void AddCookies(
     this RestClient client,
     RestRequest request,
     Dictionary <string, string> cookies)
 {
     foreach (var cookie in cookies)
     {
         request.AddCookie(cookie.Key, cookie.Value);
     }
 }
Example #24
0
        private void ActiveServiceButtonClicked(object sender, RoutedEventArgs routedEventArgs)
        {
            MessageBoxResult messageBoxResult = MessageBox.Show("¿Seguro que desea activar este servicio?",
                                                                "Confirmación", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                RestClient client = new RestClient(urlBase);
                client.Timeout = -1;
                string urlService = "services/" + Service.idService;
                Service = new Models.Service();
                var request = new RestRequest(urlService, Method.PATCH);
                request.AddHeader("Content-type", "application/json");
                foreach (RestResponseCookie cookie in Login.cookies)
                {
                    request.AddCookie(cookie.Name, cookie.Value);
                }
                Models.ServiceStatus status = new Models.ServiceStatus();
                status.serviceStatus = "1";
                var json = JsonConvert.SerializeObject(status);
                request.AddHeader("Token", Login.tokenAccount.token);
                request.AddParameter("application/json", json, ParameterType.RequestBody);
                System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
                try
                {
                    IRestResponse response = client.Execute(request);
                    if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        status = JsonConvert.DeserializeObject <Models.ServiceStatus>(response.Content);
                        MessageBox.Show("El servicio se activo exitosamente", "Activación Exitosa", MessageBoxButton.OK, MessageBoxImage.Information);
                        Service.serviceStatus         = 1;
                        ButtonActiveService.IsEnabled = false;
                    }
                    else
                    {
                        Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                        if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
                            response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                        {
                            BehindLogin(responseError.error);
                        }
                        else
                        {
                            MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show("No se pudo obtener información de la base de datos. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    TelegramBot.SendToTelegram(exception);
                    LogException.Log(this, exception);
                }
            }
        }
        /// <summary>
        /// Makes the HTTP request (Sync).
        /// </summary>
        /// <param name="path">URL path.</param>
        /// <param name="method">HTTP method.</param>
        /// <param name="queryParams">Query parameters.</param>
        /// <param name="postBody">HTTP body (POST request).</param>
        /// <param name="headerParams">Header parameters.</param>
        /// <param name="formParams">Form parameters.</param>
        /// <param name="fileParams">File parameters.</param>
        /// <param name="authSettings">Authentication settings.</param>
        /// <returns>Object</returns>
        public object CallApi(string path, Method method, Dictionary <string, string> queryParams, string postBody,
                              Dictionary <string, string> headerParams, Dictionary <string, string> formParams,
                              Dictionary <string, FileParameter> fileParams, string[] authSettings, Dictionary <string, string> cookies)
        {
            var request = new RestRequest(path, method);

            UpdateParamsForAuth(queryParams, headerParams, authSettings);

            foreach (var cookie in cookies)
            {
                request.AddCookie(cookie.Key, cookie.Value);
            }

            // add default header, if any
            foreach (var defaultHeader in _defaultHeaderMap)
            {
                request.AddHeader(defaultHeader.Key, defaultHeader.Value);
            }

            // add header parameter, if any
            foreach (var param in headerParams)
            {
                request.AddHeader(param.Key, param.Value);
            }

            // add query parameter, if any
            foreach (var param in queryParams)
            {
                request.AddParameter(param.Key, param.Value, ParameterType.GetOrPost);
            }

            // add form parameter, if any
            foreach (var param in formParams)
            {
                request.AddParameter(param.Key, param.Value, ParameterType.GetOrPost);
            }

            // add file parameter, if any
            foreach (var param in fileParams)
            {
                request.AddFile(param.Value.Name, param.Value.Writer, param.Value.FileName, param.Value.ContentLength, param.Value.ContentType);
            }

            if (postBody != null) // http body (model) parameter
            {
                request.AddParameter("application/json", postBody, ParameterType.RequestBody);
            }

            if (postBody == null)
            {
                request.AddHeader("Content-Length", "0");
            }

            return((object)RestClient.Execute(request));
        }
Example #26
0
        private void ChangePassword()
        {
            Models.PasswordChange newpassword = new Models.PasswordChange();
            newpassword.password    = Security.Encrypt(PasswordBoxPassword.Password);
            newpassword.newPassword = Security.Encrypt(PasswordBoxNewPassword.Password);
            RestClient client = new RestClient(urlBase);

            client.Timeout = -1;
            string urlChage = "accounts/password/" + Login.tokenAccount.idMemberATE;
            var    request  = new RestRequest(urlChage, Method.PATCH);

            foreach (RestResponseCookie cookie in Login.cookies)
            {
                request.AddCookie(cookie.Name, cookie.Value);
            }
            request.AddHeader("Token", Login.tokenAccount.token);
            var json = JsonConvert.SerializeObject(newpassword);

            request.AddParameter("application/json", json, ParameterType.RequestBody);
            System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
            try
            {
                IRestResponse response = client.Execute(request);
                if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    MessageBox.Show("La nueva contraseña se guardó exitosamente", "Cambio exitoso", MessageBoxButton.OK, MessageBoxImage.Information);
                    Login.loginAccount.password = Security.Encrypt(PasswordBoxPassword.Password);
                    AccountEdition accountEdition = new AccountEdition();
                    accountEdition.InitializeMenu();
                    accountEdition.Show();
                    Close();
                }
                else
                {
                    Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                    MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    if (response.StatusCode != System.Net.HttpStatusCode.Conflict && response.StatusCode != System.Net.HttpStatusCode.BadRequest)
                    {
                        Login login = new Login();
                        login.Show();
                        Close();
                    }
                }
            }
            catch (Exception exception)
            {
                TelegramBot.SendToTelegram(exception);
                LogException.Log(this, exception);
                MessageBox.Show("No se pudo cambiar la contraseña de la cuenta. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                AccountEdition accountEdition = new AccountEdition();
                accountEdition.InitializeMenu();
                accountEdition.Show();
                Close();
            }
        }
Example #27
0
        private void InitializeRequestSent()
        {
            RestClient client = new RestClient(urlBase);

            client.Timeout = -1;
            string urlRequest = "requests/" + optionFilter + "/" + Login.tokenAccount.idMemberATE + "/memberATE";
            var    request    = new RestRequest(urlRequest, Method.GET);

            foreach (RestResponseCookie cookie in Login.cookies)
            {
                request.AddCookie(cookie.Name, cookie.Value);
            }
            request.AddHeader("Token", Login.tokenAccount.token);
            System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); };
            try
            {
                IRestResponse response = client.Execute(request);
                if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    requestsSent = JsonConvert.DeserializeObject <List <Models.RequestSent> >(response.Content);
                    if (requestsSent.Count > Number.NumberValue(NumberValues.ZERO))
                    {
                        AddRequestSentInListView();
                    }
                }
                else
                {
                    if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
                    {
                        if (!isFirstEntry)
                        {
                            MessageBox.Show("No se encontro solicitudes enviadas " + option + ". Intente con otro filtro.", "No hay registros", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                        }
                    }
                    else
                    {
                        Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content);
                        MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
                            response.StatusCode == System.Net.HttpStatusCode.RequestTimeout)
                        {
                            Login login = new Login();
                            login.Show();
                            Close();
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show("No se pudo obtener información de la base de datos. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                TelegramBot.SendToTelegram(exception);
                LogException.Log(this, exception);
            }
        }
        static void F2()
        {
            var client = new RestClient("http://localhost:5000");

            //var request = new RestRequest("login", Method.POST);
            //request.AddParameter("username", "gsw");
            //request.AddParameter("password", "111111");
            var name  = "";
            var value = "";

            while (true)
            {
                Console.WriteLine("1、登录    2、授权访问    3、登出   4、再登录     5、其他客户端访问");
                switch (Console.ReadLine())
                {
                case "1":
                    var request = new RestRequest("login", Method.POST);
                    request.AddParameter("username", "gsw");
                    request.AddParameter("password", "111111");
                    IRestResponse response = client.Execute(request);
                    name  = response.Cookies[0].Name;
                    value = response.Cookies[0].Value;
                    break;

                case "2":
                    var request1 = new RestRequest("/home/AdminPage", Method.GET);
                    request1.AddCookie(name, value);
                    IRestResponse response1 = client.Execute(request1);
                    Console.WriteLine(response1.Content);
                    break;

                case "3":
                    var request3 = new RestRequest("/home/Logout", Method.GET);
                    request3.AddCookie(name, value);
                    IRestResponse response3 = client.Execute(request3);
                    Console.WriteLine(response3.Content);
                    break;

                case "4":
                    var request4 = new RestRequest("/home/AdminPage", Method.GET);
                    request4.AddCookie(name, value);
                    IRestResponse response4 = client.Execute(request4);
                    Console.WriteLine(response4.Content);
                    break;

                case "5":
                    var client1  = new RestClient("http://localhost:5000");
                    var request5 = new RestRequest("/home/AdminPage", Method.GET);
                    request5.AddCookie(name, value);
                    IRestResponse response5 = client1.Execute(request5);
                    Console.WriteLine(response5.Content);
                    break;
                }
            }
        }
        public IRestResponse Get(GetParams getParams)
        {
            if (getParams.Security)
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
            }

            var client = new RestClient(getParams.Url ?? _baseUrl);

            var request = new RestRequest(getParams.Resource, Method.GET);

            if (getParams.SimpleAuthentication != null)
            {
                client.Authenticator = new HttpBasicAuthenticator(getParams.SimpleAuthentication["username"], getParams.SimpleAuthentication["password"]);
            }
            else if (getParams.UseAuthentication && _authenticationModel != null)
            {
                if (_authenticationModel is BasicAuthentication basicAuth)
                {
                    client.Authenticator = new HttpBasicAuthenticator(basicAuth.Username, basicAuth.Password);
                }
                else
                {
                    throw new NotImplementedException();
                }
            }

            if (getParams.Headers != null)
            {
                foreach (var(key, value) in getParams.Headers)
                {
                    request.AddHeader(key, value);
                }
            }

            if (getParams.Cookies != null)
            {
                foreach (var(key, value) in getParams.Cookies)
                {
                    request.AddCookie(key, value);
                }
            }

            if (getParams.Parameters != null)
            {
                foreach (var(key, value) in getParams.Parameters)
                {
                    request.AddParameter(key, value, getParams.ParameterType);
                }
            }

            var response = client.Execute(request);

            return(response);
        }
        private static void SettingRestRequestParameters(RestRequest request, object instance, MethodBase caller, object[] parameters)
        {
            var instanceType = instance.GetType();

            void setRequestVars(Type parameterType)
            {
                foreach (RestParameterAttribute parameter in instanceType.GetCustomAttributes(parameterType))
                {
                    request.AddCookie(parameter.Name, parameter.Value);
                }
                foreach (RestParameterAttribute parameter in caller.GetCustomAttributes(parameterType))
                {
                    request.AddCookie(parameter.Name, parameter.Value);
                }
                foreach (var parameter in caller.GetParameters().Select(x => new {
                    paramter = x,
                    attribute = x.GetCustomAttribute(parameterType) as RestParameterAttribute
                }))
                {
                    var name = parameter.attribute?.Name;
                    if (name == null)
                    {
                        name = parameter.paramter.Name;
                    }
                    var value = parameter.attribute?.Value;
                    if (value == null)
                    {
                        value = parameters[parameter.paramter.Position]?.ToString();
                    }
                    if (value != null)
                    {
                        request.AddUrlSegment(name, value);
                    }
                }
            }

            foreach (var type in TypeHelper.GetNamespaceTypes(typeof(RestParameterAttribute).Namespace)
                     .Where(x => x != typeof(RestParameterAttribute)))
            {
                setRequestVars(type);
            }
        }