コード例 #1
0
        public async Task <Model.Karta> KreirajKartu(KartaUpsertRequest novaKarta)
        {
            var resKarta = await _kartaService.Insert(novaKarta);

            Model.Karta karta = null;

            if (resKarta.IsSuccessStatusCode)
            {
                karta = JsonConvert.DeserializeObject <Model.Karta>(resKarta.Content.ReadAsStringAsync().Result);
            }

            return(karta);
        }
コード例 #2
0
        private async void btnKreiraj_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidateChildren())
                {
                    var karta = new KartaUpsertRequest();

                    karta.BrojKarte      = txtBrojKarte.Text;
                    karta.DatumIzdavanja = dtpDatumIzdavanja.Value.Date;
                    karta.AngazujeId     = int.Parse(cmbAngazuje.SelectedValue.ToString());
                    karta.SjedisteId     = int.Parse(cmbSjediste.SelectedValue.ToString());


                    karta.VrijemePolaska = new TimeSpan(int.Parse(txtVrijemePolaska.Text.Substring(0, 2)), int.Parse(txtVrijemePolaska.Text.Substring(2, 2)), 0);
                    karta.VrijemeDolaska = new TimeSpan(int.Parse(txtVrijemeDolaska.Text.Substring(0, 2)), int.Parse(txtVrijemeDolaska.Text.Substring(2, 2)), 0);



                    if (!_id.HasValue)
                    {
                        if (await AngazmanSjedista(karta.AngazujeId, karta.SjedisteId, karta.VrijemePolaska)) // vrijeme polaska dodao da poredi
                        {
                            MessageBox.Show("Ovo sjediste ste vec dodali za liniju");
                        }
                        else
                        {
                            await _karta.Insert <Model.Karta>(karta);

                            MessageBox.Show("Karta je uspješno kreirana");

                            GenerisiBrojKarte(9, true);
                        }
                    }
                    else
                    {
                        await _karta.Update <Model.Karta>(_id.Value, karta);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Karta detalji", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #3
0
        public async Task <IActionResult> Rezervisi(int sjedisteId, DateTime datum, TimeSpan vrijeme)
        {
            Model.Karta    karta = null;
            Model.Sjediste s     = null;

            Model.Karta kreiranaNovaKarta = null;
            var         resSjediste       = await _sjedistaService.GetById(sjedisteId);

            if (resSjediste.IsSuccessStatusCode)
            {
                var resultS = resSjediste.Content.ReadAsStringAsync().Result;
                s = JsonConvert.DeserializeObject <Model.Sjediste>(resultS);

                var searchKarta = new KartaSearchRequest()
                {
                    PoAngzuje      = false,
                    PoVozilu       = true,
                    Red            = s.Red,
                    Kolona         = s.Kolona,
                    PoDatumu       = true,
                    DatumIzdavanja = datum,
                    IzSjedista     = true,
                    PoVremenu      = true,
                    VrijemePolaska = vrijeme
                };

                var resKarta = await _kartaService.Get(searchKarta);

                if (resKarta.IsSuccessStatusCode)
                {
                    var resultK = resKarta.Content.ReadAsStringAsync().Result;
                    var karte   = JsonConvert.DeserializeObject <List <Model.Karta> >(resultK);


                    if (karte.Count > 0)
                    {
                        karta = karte[0];
                    }

                    var reze = new RezervacijaUpsertRequest();



                    if (karta == null)
                    {
                        /* OVO SAM ZADNJE DODAO -----------------------------------------*/
                        var searchKarta2 = new KartaSearchRequest()
                        {
                            PoAngzuje      = false,
                            PoVozilu       = false,
                            DatumIzdavanja = datum,
                            VrijemePolaska = vrijeme
                        };

                        var karteRes = await _kartaService.Get(searchKarta2);

                        if (karteRes.IsSuccessStatusCode)
                        {
                            var lista = JsonConvert.DeserializeObject <List <Model.Karta> >(karteRes.Content.ReadAsStringAsync().Result);

                            if (lista.Count > 0)
                            {
                                if (datum.Date > DateTime.Now.Date)
                                {
                                    var upsert = new KartaUpsertRequest()
                                    {
                                        AngazujeId     = lista[0].AngazujeId,
                                        DatumIzdavanja = datum,
                                        VrijemePolaska = vrijeme,
                                        VrijemeDolaska = lista[0].VrijemeDolaska,
                                        BrojKarte      = GenerisiBrojKarte(9, true),
                                        SjedisteId     = sjedisteId
                                    };

                                    var nova = await _kartaService.Insert(upsert);



                                    if (nova.IsSuccessStatusCode)
                                    {
                                        kreiranaNovaKarta = JsonConvert.DeserializeObject <Model.Karta>(nova.Content.ReadAsStringAsync().Result);

                                        if (await NovaKartaIRezervacija(kreiranaNovaKarta, s))
                                        {
                                            TempData["poruka"] = "Uspješno ste rezervisali sjedište";
                                            return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                                        }
                                    }
                                    else
                                    {
                                        TempData["poruka"] = "Trenutno karta nije kreirana";
                                        return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                                    }
                                }
                                else
                                {
                                    TempData["poruka"] = "Niste u mogućnosti da rezervišete";
                                    return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                                }
                            }
                            else
                            {
                                TempData["poruka"] = "Trenutno karta nije kreirana";
                                return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                            }
                        }
                        else
                        {
                            TempData["poruka"] = "Trenutno karta nije kreirana";
                            return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                        }

                        /*-----------------------------------------------------------------------*/
                    }
                    else if (karta.DatumIzdavanja.Date < DateTime.Now.Date)
                    {
                        TempData["poruka"] = "Niste u mogučnosti rezervisati";


                        return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                    }
                    else if (karta.DatumIzdavanja.Date == DateTime.Now.Date && karta.VrijemePolaska < DateTime.Now.TimeOfDay)
                    {
                        TempData["poruka"] = "Vrijeme koje ste izabrali je isteklo";

                        return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                    }
                    else
                    {
                        if (await NovaKartaIRezervacija(karta, s))
                        {
                            TempData["poruka"] = "Uspješno ste rezervisali sjedište!";


                            return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                        }
                        else
                        {
                            TempData["poruka"] = "Niste u mogučnosti rezervisati";


                            return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
                        }
                    }
                }
            }



            return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme }));
        }