Example #1
0
        //Execution Report list
        public async Task<Response> PostExecutionReport<T>(
           string urlBase,
           string servicePrefix,
           string controller,
           string cookie,
           SearchExecutionReport search)
        {
            try
            {
                var request = JsonConvert.SerializeObject(search);
                Debug.WriteLine("********request*************");
                Debug.WriteLine(request);
                var content = new StringContent(
                    request,
                    Encoding.UTF8,
                    "application/json");
                var cookieContainer = new CookieContainer();
                var handler = new HttpClientHandler() { CookieContainer = cookieContainer };
                var client = new HttpClient(handler);
                client.BaseAddress = new Uri(urlBase);
                var url = string.Format("{0}{1}", servicePrefix, controller);
                cookieContainer.Add(client.BaseAddress, new Cookie("JSESSIONID", cookie));
                var response = await client.PostAsync(url, content);
                Debug.WriteLine("********response*************");
                Debug.WriteLine(response);
                if (!response.IsSuccessStatusCode)
                {
                    return new Response
                    {
                        IsSuccess = false,
                        Message = response.StatusCode.ToString(),
                    };
                }

                var result = await response.Content.ReadAsStringAsync();
                Debug.WriteLine("********result*************");
                Debug.WriteLine(result);
                //var newRecord = JsonConvert.DeserializeObject<T>(result);
                var list = JsonConvert.DeserializeObject<List<T>>(result, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });

                Debug.WriteLine("+++++++++++++++++++++++++list++++++++++++++++++++++++");
                Debug.WriteLine(list);
                return new Response
                {
                    IsSuccess = true,
                    Message = "OK",
                    Result = list,
                };
            }
            catch (Exception ex)
            {
                return new Response
                {
                    IsSuccess = false,
                    Message = ex.Message,
                };
            }
        }
Example #2
0
        private async void Download_Excel(object sender, EventArgs e)
        {
            var cookie  = Settings.Cookie;
            var res     = cookie.Substring(11, 32);
            var dateNow = DateTime.Now.ToString("dd-MM-yyyy");

            var _searchModel = new SearchExecutionReport
            {
                criteria1      = "",
                criteria3      = "",
                date           = null,
                date1          = null,
                id3            = -1,
                maxResult      = 50,
                nomenclatureId = -1,
                order          = "desc",
                sortedBy       = "request_execution_date",
                status         = "ALL"
            };

            /* var _searchModel = new SearchModel
             * {
             *   criteria1 = "",
             *   criteria3 = "",
             *   id3 = -1,
             *   maxResult = 50,
             *   nomenclatureId = -1,
             *   order = "desc",
             *   sortedBy = "request_execution_date",
             *   status = "ALL"
             * };*/
            var request = JsonConvert.SerializeObject(_searchModel);

            Debug.WriteLine("********request*************");
            Debug.WriteLine(request);
            var content = new StringContent(request, Encoding.UTF8, "application/json");

            var cookieContainer = new CookieContainer();
            var handler         = new HttpClientHandler()
            {
                CookieContainer = cookieContainer
            };
            var client = new HttpClient(handler);
            var url    = "https://portalesp.smart-path.it/Portalesp/executionReport/exportExcel";

            Debug.WriteLine("********url*************");
            Debug.WriteLine(url);
            DependencyService.Get <INotification>().CreateNotification("Download Excel", "Please wait a few seconds !");
            client.BaseAddress = new Uri(url);
            cookieContainer.Add(client.BaseAddress, new Cookie("JSESSIONID", res));
            var response = await client.PostAsync(url, content);

            if (!response.IsSuccessStatusCode)
            {
                await Application.Current.MainPage.DisplayAlert("Error", response.StatusCode.ToString(), "ok");

                return;
            }
            PopuPage page1 = new PopuPage();
            await PopupNavigation.Instance.PushAsync(page1);

            await Task.Delay(2000);

            var result = await response.Content.ReadAsStreamAsync();

            Debug.WriteLine("********result*************");
            Debug.WriteLine(result);
            using (var streamReader = new MemoryStream())
            {
                result.CopyTo(streamReader);
                byte[]       bytes  = streamReader.ToArray();
                MemoryStream stream = new MemoryStream(bytes);
                Debug.WriteLine("********stream*************");
                Debug.WriteLine(stream);
                if (stream == null)
                {
                    await Application.Current.MainPage.DisplayAlert("Warning", "Data is Empty", "ok");

                    return;
                }

                await DependencyService.Get <ISave>().SaveAndView("Request-execution-" + dateNow + ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", stream);
            }
        }