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)); } } }