public async Task <IActionResult> TemplateStatus()
        {
            var template = new SendTemplateViewModel();

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.BaseAddress = new Uri(Api_BaseUrl);

                var response = new HttpResponseMessage();

                response = client.GetAsync("api/template/gettemplatestatus/").Result;

                var responseString = await response.Content.ReadAsStringAsync();

                template = JsonConvert.DeserializeObject <SendTemplateViewModel>(responseString, Converter.Settings);

                if (response.IsSuccessStatusCode)
                {
                    return(View(template));
                }
                else
                {
                    var templateNoData = new SendTemplateViewModel
                    {
                        CompanyList = new List <TemporaryCompanyTemplate>()
                    };
                    return(View(templateNoData));
                    //TempData["message"] = $"Error fetching data. Please check your server.";
                    //return RedirectToAction("Dashboard", "Admin");
                }
            }
        }
        public async Task <IActionResult> TemplateStatus(SendTemplateViewModel sendTemplate)
        {
            //Unique guid to identify the company
            var guid = Guid.NewGuid();

            // Link for the company to open with unique guid
            var link = @Url.Action("CompanyTemplate", "Template", new { id = guid }, "https");

            sendTemplate.Link        = link;
            sendTemplate.CompanyGuid = guid;


            var dataToSend = new StringContent(JsonConvert.SerializeObject(sendTemplate), Encoding.UTF8, "application/json");

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.BaseAddress = new Uri(Api_BaseUrl);

                var response = new HttpResponseMessage();

                response = client.PostAsync("api/template/savetemplatestatus", dataToSend).Result;

                var responseString = await response.Content.ReadAsStringAsync();

                if (response.IsSuccessStatusCode)
                {
                    TempData["message"] = $"Template has been sent to {sendTemplate.CompanyName}";
                    var httpResponse = new HttpResponseMessage();

                    httpResponse = client.GetAsync("api/template/gettemplatestatus/").Result;

                    var httpResponseString = await httpResponse.Content.ReadAsStringAsync();

                    sendTemplate = JsonConvert.DeserializeObject <SendTemplateViewModel>(httpResponseString, Converter.Settings);

                    if (httpResponse.IsSuccessStatusCode)
                    {
                        return(View(sendTemplate));
                    }
                    else
                    {
                        var templateNoData = new SendTemplateViewModel
                        {
                            CompanyList = new List <TemporaryCompanyTemplate>()
                        };
                        return(View(templateNoData));
                    }
                }
                else

                {
                    TempData["errorMessage"] = $"Error sending template. " + response.ReasonPhrase + " Please check your email settings.";
                    return(View(sendTemplate));
                }
            }
        }