Beispiel #1
0
        public async Task <IActionResult> OnPostAsync(GanjoorPoemCompleteViewModel Poem)
        {
            LastMessage = "";
            using (HttpClient secureClient = new HttpClient())
            {
                if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
                {
                    int    probableRecordId = Poem.GanjoorMetre.Id;
                    string metre            = Poem.GanjoorMetre.Rhythm;

                    if (string.IsNullOrEmpty(metre))
                    {
                        LastMessage = "وزنی انتخاب نشده.";
                        return(Page());
                    }
                    var response = await secureClient.PutAsync($"{APIRoot.Url}/api/ganjoor/probablemetre/save/{probableRecordId}",
                                                               new StringContent(JsonConvert.SerializeObject(metre), Encoding.UTF8, "application/json")
                                                               );

                    if (!response.IsSuccessStatusCode)
                    {
                        LastMessage = JsonConvert.DeserializeObject <string>(await response.Content.ReadAsStringAsync());
                    }
                    else
                    {
                        return(Redirect($"/Admin/Probables"));
                    }
                }
                else
                {
                    LastMessage = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
                }
            }
            return(Page());
        }
Beispiel #2
0
        public async Task <IActionResult> OnPostDismissAsync(GanjoorPoemCompleteViewModel Poem)
        {
            LastMessage = "";
            using (HttpClient secureClient = new HttpClient())
            {
                if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
                {
                    int probableRecordId = Poem.GanjoorMetre.Id;
                    var response         = await secureClient.DeleteAsync($"{APIRoot.Url}/api/ganjoor/probablemetre/dismiss/{probableRecordId}");

                    if (!response.IsSuccessStatusCode)
                    {
                        LastMessage = JsonConvert.DeserializeObject <string>(await response.Content.ReadAsStringAsync());
                    }
                    else
                    {
                        return(Redirect($"/Admin/Probables"));
                    }
                }
                else
                {
                    LastMessage = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
                }
            }
            return(Page());
        }
Beispiel #3
0
        public async Task <IActionResult> OnGetAsync()
        {
            if (string.IsNullOrEmpty(Request.Cookies["Token"]))
            {
                return(Redirect("/"));
            }

            LastMessage = "";

            var rhythmResponse = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/rhythms?sortOnVerseCount=true");

            if (!rhythmResponse.IsSuccessStatusCode)
            {
                LastMessage = JsonConvert.DeserializeObject <string>(await rhythmResponse.Content.ReadAsStringAsync());
                return(Page());
            }
            Rhythms = JsonConvert.DeserializeObject <List <GanjoorMetre> >(await rhythmResponse.Content.ReadAsStringAsync());

            var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/probablemetre/next");

            if (!response.IsSuccessStatusCode)
            {
                LastMessage = JsonConvert.DeserializeObject <string>(await response.Content.ReadAsStringAsync());
            }
            else
            {
                Poem = JsonConvert.DeserializeObject <GanjoorPoemCompleteViewModel>(await response.Content.ReadAsStringAsync());
                if (string.IsNullOrEmpty(Poem.GanjoorMetre.Rhythm))
                {
                    Rhythms.Add
                    (
                        new GanjoorMetre()
                    {
                        Id     = 0,
                        Rhythm = ""
                    }
                    );
                }
            }

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync()
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            using (HttpClient client = new HttpClient())
            {
                var response = await client.GetAsync($"{APIRoot.Url}/api/audio/published/{Request.Query["a"]}");

                response.EnsureSuccessStatusCode();

                Recitation = JsonConvert.DeserializeObject <PublicRecitationViewModel>(await response.Content.ReadAsStringAsync());

                var responsePoem = await client.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{Recitation.PoemId}?rhymes=false&recitations=false&images=false&songs=false&comments=false&navigation=false");

                responsePoem.EnsureSuccessStatusCode();

                Poem = JsonConvert.DeserializeObject <GanjoorPoemCompleteViewModel>(await responsePoem.Content.ReadAsStringAsync());
            }

            return(Page());
        }