Beispiel #1
0
        public async Task <IActionResult> Download(LetterListViewModel model)
        {
            _logger.LogInformation("Post to Download action");
            _logger.LogInformation(model.PageTitle);

            var request = "letters";

            var serializerOptions = new JsonSerializerOptions
            {
                PropertyNamingPolicy = JsonNamingPolicy.CamelCase
            };

            var myclient = _clientFactory.CreateClient("LetterAPI");

            using (var Response = await myclient.GetAsync(request))
            {
                if (Response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var apiResponse = await Response.Content.ReadAsStringAsync();

                    var Templates = JsonSerializer.Deserialize <List <Letter> >(apiResponse, serializerOptions);
                    var selected  = from letters in Templates
                                    where model.SelectedLetters.Contains(letters.LetterName) //model.SelectLetters.SelectedValues.AsQueryable()
                                    select letters;
                    var templatebytes = JsonSerializer.SerializeToUtf8Bytes <List <Letter> >(selected.ToList(), serializerOptions);
                    return(File(templatebytes, "application/json", "mytemplates.json"));
                }
                else
                {
                    ModelState.Clear();
                    ModelState.AddModelError(string.Empty, "Username or Password is Incorrect");
                    return(View());
                }
            }
        }
Beispiel #2
0
        public async Task <IActionResult> Index()
        {
            LetterListViewModel model = new LetterListViewModel()
            {
                PageTitle = "Templates"
            };

            var serializerOptions = new JsonSerializerOptions
            {
                PropertyNamingPolicy = JsonNamingPolicy.CamelCase
            };

            var myclient = _clientFactory.CreateClient("LetterAPI");

            model.Sections = await GetSections(serializerOptions, myclient);

            model.Letters = await GetLetters(serializerOptions, myclient);

            //model.SelectedLetters = new SelectList(model.Letters, "LetterName", "LetterName");

            return(View(model));
        }