public async Task <IActionResult> DraftCompanyTemplate([FromBody] CreateTemplateData templateData)
        {
            var dataToSend = new StringContent(JsonConvert.SerializeObject(templateData), 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/drafttemplate", dataToSend).Result;

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

                if (response.IsSuccessStatusCode)
                {
                    TempData["templateMessage"] = $"Your information has been saved as a draft! You can continue to edit before submitting.";
                    return(View("CompanyTemplate", templateData));
                }
                else
                {
                    TempData["templateMessage"] = $"Error saving {templateData.CompanyName}. Please check your fields.";
                    return(View("CompanyTemplate", templateData));
                }
            }
        }
        public async Task <IActionResult> CompanyTemplate(Guid id)
        {
            var companyToEdit = new CreateTemplateData();

            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/companytemplate/" + id).Result;

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

                companyToEdit = JsonConvert.DeserializeObject <CreateTemplateData>(responseString, Converter.Settings);


                if (companyToEdit.Locked)
                {
                    return(RedirectToAction("ThankYou"));
                }
                else
                {
                    return(View(companyToEdit));
                }
            }
        }
        public async Task <IActionResult> SubmittedCompanyTemplate([FromBody] CreateTemplateData templateData)
        {
            var dataToSend = new StringContent(JsonConvert.SerializeObject(templateData), 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/submittedtemplate", dataToSend).Result;

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

                if (response.IsSuccessStatusCode)
                {
                    //ViewData["SubmitTemplate"] = $"Success sending {templateData.CompanyName}!";
                    SendTemplateSummary(templateData);
                    //return View("CompanyTemplate");
                    return(RedirectToAction("ThankYou"));
                }
                else
                {
                    ViewData["SubmitTemplate"] = $"Error sending {templateData.CompanyName}. Please check your fields.";
                    return(View("CompanyTemplate", templateData));
                }
            }
        }
        public async Task <IActionResult> ViewEditTemplate([FromBody] CreateTemplateData templateViewModel)
        {
            var dataToSend = new StringContent(JsonConvert.SerializeObject(templateViewModel), 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/posttemplate", dataToSend).Result;

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

                if (response.IsSuccessStatusCode)
                {
                    ViewData["PushCompany"] = $"{templateViewModel.CompanyName} has been added to the database.";
                }
                else
                {
                    ViewData["PushCompany"] = $"Error saving {templateViewModel.CompanyName}. Please check your fields.";
                }
            }

            return(View(templateViewModel));
        }
        public async void SendTemplateSummary(CreateTemplateData template)
        {
            var dataToSend = new StringContent(JsonConvert.SerializeObject(template), 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/sendtemplatesummary", dataToSend).Result;

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