示例#1
0
        // Login user request

        public static IRestResponse <ServiceResponse> Login(string baseUrl, string username, string password, string cookieName)
        {
            #region Login Service Request
            IRestResponse <ServiceResponse> response = new RestResponse <ServiceResponse>();
            if (InternetConnection.IsConnectedToInternet() == true)
            {
                try
                {
                    var restClient = new RestClient(baseUrl);
                    var request    = new RestRequest(Method.POST)
                    {
                        Resource = "/Account/Login"
                    };
                    //Method 1 : Passing parameters in c# object
                    request.AddParameter("Username", username);
                    request.AddParameter("Password", password);

                    #region Other Method to pass JSON Parameters (Working)
                    //Method 2 : Passing parameters in Json body format
                    //request.AddHeader("Content-type", "application/json");
                    //request.AddJsonBody(
                    //    new
                    //    {
                    //        Username = txtUsername.Text,
                    //        Password = txtPassword.Password
                    //    });

                    //Method 3 : Passing parameters in Json object string format
                    //dynamic jsonParameters = new JObject();
                    //jsonParameters.Username = txtUsername.Text;
                    //jsonParameters.Password = txtPassword.Password;
                    //var parameters = jsonParameters.ToString();
                    //request.AddParameter("application/json", parameters, ParameterType.RequestBody);
                    #endregion

                    restClient.CookieContainer = new CookieContainer();
                    response = restClient.Execute <ServiceResponse>(request);
                    if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
                    {
                        SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
                    }
                }
                catch (Exception ex)
                {
                    response.ErrorMessage   = ex.Message;
                    response.ErrorException = ex.InnerException;
                    //MessageBox.Show(ex.Message);
                }
                return(response);
            }
            else
            {
                response.ErrorMessage = "Internet connection not available. Please check connection.";
                return(response);
            }
            #endregion
        }
示例#2
0
        // Update row request with fileList
        public static IRestResponse <SaveResponse> Update <MyRow>(string baseUrl, string resource, SaveRequest <MyRow> saveRequest, List <string> fileList, string cookieName)
        {
            #region Update Service Request
            IRestResponse <SaveResponse> response = new RestResponse <SaveResponse>();
            if (InternetConnection.IsConnectedToInternet() == true)
            {
                try
                {
                    var restClient = new RestClient(baseUrl);
                    var request    = new RestRequest(Method.POST);
                    request.AddHeader("Content-Type", "application/octet-stream");
                    request.Resource = resource;
                    request.AddJsonBody(saveRequest);
                    request.RequestFormat = DataFormat.Json;
                    fileList.ForEach(file =>
                    {
                        request.AddFile("receipt[receipt_file]", File.ReadAllBytes(file), "Invoice.jpg", "application/octet-stream");
                    });

                    CookieContainer rscookie = RestoreCookie(cookieName);
                    //if (rscookie == null)
                    //    return response;
                    restClient.CookieContainer = rscookie;
                    response = restClient.Execute <SaveResponse>(request);
                    if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
                    {
                        var jsonResponse = JsonConvert.DeserializeObject <dynamic>(response.Content);
                        //response.Data.EntityId = (object)jsonResponse["EntityId"];
                        SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
                    }
                }
                catch (Exception ex)
                {
                    response.ErrorMessage   = ex.Message;
                    response.ErrorException = ex.InnerException;
                    //MessageBox.Show(ex.Message);
                }
                return(response);
            }
            else
            {
                response.ErrorMessage = "Internet connection not available. Please check connection.";
                return(response);
            }
            #endregion
        }
示例#3
0
        public static IRestResponse <SaveResponse> BulkUpdate <MyRow>(string baseUrl, string resource, List <MyRow> saveList, string cookieName)
        {
            #region Create Service Request
            IRestResponse <SaveResponse> response = new RestResponse <SaveResponse>();
            if (InternetConnection.IsConnectedToInternet() == true)
            {
                try
                {
                    var restClient = new RestClient(baseUrl);
                    var request    = new RestRequest(Method.POST);
                    var json       = JsonConvert.SerializeObject(saveList);
                    request.Resource = resource;
                    request.AddParameter("application/json;charset=utf-8", "{\"Entity\":" + json + "}", ParameterType.RequestBody);
                    request.RequestFormat = DataFormat.Json;

                    CookieContainer rscookie = RestoreCookie(cookieName);
                    //if (rscookie == null)
                    //    return response;
                    restClient.CookieContainer = rscookie;
                    response = restClient.Execute <SaveResponse>(request);
                    if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
                    {
                        var jsonResponse = JsonConvert.DeserializeObject <dynamic>(response.Content);
                        response.Data.EntityId = (object)jsonResponse["EntityId"];
                        SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
                    }
                }
                catch (Exception ex)
                {
                    response.ErrorMessage   = ex.Message;
                    response.ErrorException = ex.InnerException;
                    //MessageBox.Show(ex.Message);
                }
                return(response);
            }
            else
            {
                response.ErrorMessage = "Internet connection not available. Please check connection.";
                return(response);
            }
            #endregion
        }
示例#4
0
 // List of rows retrieve request
 public static IRestResponse <ListResponse <MyRow> > List <MyRow>(string baseUrl, string resource, ListRequest listRequest, string cookieName)
 {
     #region List Service Request
     IRestResponse <ListResponse <MyRow> > response = new RestResponse <ListResponse <MyRow> >();
     if (InternetConnection.IsConnectedToInternet() == true)
     {
         try
         {
             var restClient = new RestClient(baseUrl);
             var request    = new RestRequest(Method.POST)
             {
                 Resource = resource
             };
             request.AddHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
             request.AddJsonBody(listRequest);
             request.RequestFormat = DataFormat.Json;
             CookieContainer rscookie = RestoreCookie(cookieName);
             //if (rscookie == null)
             //    return response;
             restClient.CookieContainer = rscookie;
             response = restClient.Execute <ListResponse <MyRow> >(request);
             if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
             {
                 SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
             }
         }
         catch (Exception ex)
         {
             response.ErrorMessage   = ex.Message;
             response.ErrorException = ex.InnerException;
             //MessageBox.Show(ex.Message);
         }
         return(response);
     }
     else
     {
         response.ErrorMessage = "Internet connection not available. Please check connection.";
         return(response);
     }
     #endregion
 }
示例#5
0
 // Change Password
 public static IRestResponse <RetrieveResponse <MyRow> > ChangePassword <MyRow>(string baseUrl, string resourceChangePassword, ChangePasswordRequest ChangePasswordRequestRow, string cookieName)
 {
     #region Get Change Password
     IRestResponse <RetrieveResponse <MyRow> > response = new RestResponse <RetrieveResponse <MyRow> >();
     if (InternetConnection.IsConnectedToInternet() == true)
     {
         try
         {
             var restClient = new RestClient(baseUrl);
             var request    = new RestRequest(Method.POST);
             var json       = JsonConvert.SerializeObject(ChangePasswordRequestRow);
             request.Resource = resourceChangePassword;
             request.AddParameter("application/json;charset=utf-8", json, ParameterType.RequestBody);
             request.RequestFormat = DataFormat.Json;
             CookieContainer rscookie = RestoreCookie(cookieName);
             if (rscookie == null)
             {
                 rscookie = new CookieContainer();
             }
             restClient.CookieContainer = rscookie;
             response = restClient.Execute <RetrieveResponse <MyRow> >(request);
             if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
             {
                 SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
             }
         }
         catch (Exception ex)
         {
             response.ErrorMessage   = ex.Message;
             response.ErrorException = ex.InnerException;
             //MessageBox.Show(ex.Message);
         }
         return(response);
     }
     else
     {
         response.ErrorMessage = "Internet connection not available. Please check connection.";
         return(response);
     }
     #endregion
 }
示例#6
0
        // Check user is LoggedIn or not

        public static IRestResponse <bool> IsLoggedIn(string baseUrl, string cookieName)
        {
            #region IsLoggedIn Request
            IRestResponse <bool> response = new RestResponse <bool>();
            if (InternetConnection.IsConnectedToInternet() == true)
            {
                try
                {
                    var restClient = new RestClient(baseUrl);
                    var request    = new RestRequest(Method.POST)
                    {
                        Resource = "/Account/IsLoggedIn"
                    };
                    CookieContainer rscookie = RestoreCookie(cookieName);
                    if (rscookie == null)
                    {
                        rscookie = new CookieContainer();
                    }
                    restClient.CookieContainer = rscookie;
                    response = restClient.Execute <bool>(request);
                    if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
                    {
                        SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
                    }
                }
                catch (Exception ex)
                {
                    response.ErrorMessage   = ex.Message;
                    response.ErrorException = ex.InnerException;
                    //MessageBox.Show(ex.Message);
                }
                return(response);
            }
            else
            {
                response.ErrorMessage = "Internet connection not available. Please check connection.";
                return(response);
            }
            #endregion
        }
示例#7
0
        // Bulk Generate rows request
        public static IRestResponse <ListResponse <ResponseEntity> > BulkGenerate <RequestEntity, ResponseEntity>(string baseUrl, string resource, RequestEntity requestParam, string cookieName)
        {
            #region Bulk Generate Rows Service Request
            IRestResponse <ListResponse <ResponseEntity> > response = new RestResponse <ListResponse <ResponseEntity> >();
            if (InternetConnection.IsConnectedToInternet() == true)
            {
                try
                {
                    var restClient = new RestClient(baseUrl);
                    var request    = new RestRequest(Method.POST);
                    request.AddHeader("Content-Type", "application/octet-stream");
                    request.Resource = resource;
                    request.AddJsonBody(requestParam);
                    request.RequestFormat = DataFormat.Json;

                    CookieContainer rscookie = RestoreCookie(cookieName);
                    //if (rscookie == null)
                    //    return response;
                    restClient.CookieContainer = rscookie;
                    response = restClient.Execute <ListResponse <ResponseEntity> >(request);
                    if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed)
                    {
                        SereneRequester.SaveCookie(restClient.CookieContainer, cookieName);
                    }
                }
                catch (Exception ex)
                {
                    response.ErrorMessage   = ex.Message;
                    response.ErrorException = ex.InnerException;
                    //MessageBox.Show(ex.Message);
                }
                return(response);
            }
            else
            {
                response.ErrorMessage = "Internet connection not available. Please check connection.";
                return(response);
            }
            #endregion
        }