Exemplo n.º 1
0
        private async void frmKartaDetalji_Load(object sender, EventArgs e)
        {
            await LoadAngazuje();
            await LoadSjedista(null);

            GenerisiBrojKarte(9, true);
            if (_id.HasValue)
            {
                var karta = await _karta.GetById <Model.Karta>(_id.Value);


                cmbAngazuje.SelectedValue = int.Parse(karta.AngazujeId.ToString());

                var ang = await _angazuje.GetById <Model.Angazuje>(karta.AngazujeId);

                if (ang != null)
                {
                    var search = new SjedisteSearchRequest()
                    {
                        VoziloId = ang.VoziloId
                    };

                    await LoadSjedista(search);
                }
                cmbSjediste.SelectedValue = int.Parse(karta.SjedisteId.ToString());
                txtBrojKarte.Text         = karta.BrojKarte;
                dtpDatumIzdavanja.Value   = karta.DatumIzdavanja;
                txtVrijemePolaska.Text    = karta.VrijemePolaska.ToString();
                txtVrijemeDolaska.Text    = karta.VrijemeDolaska.ToString();
            }
        }
Exemplo n.º 2
0
        public async Task  Init(int voziloID)
        {
            _voziloid = voziloID;



            var search = new SjedisteSearchRequest()
            {
                VoziloId = voziloID
            };

            var lista = await _sjedistaService.Get <List <Sjediste> >(search);

            SjedistaList.Clear();

            foreach (var item in lista)
            {
                SjedistaList.Add(item);
                BrojSjedalaDodnih++;
            }

            var vozilo = await _voziloService.GetById <Vozilo>(voziloID);

            BrojKolona = 4;
            BrojRedova = BrojSjedalaDodnih / BrojKolona;
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PrikaziSjedista(int id, DateTime datum, TimeSpan vrijeme)
        {
            var model = new SjedistaVM();

            model.Datum         = datum;
            model.Vrijeme       = vrijeme;
            model.listaSjedista = new List <SjedistaVM.Row>();
            var search = new SjedisteSearchRequest()
            {
                VoziloId = id
            };

            var resSjedista = await _sjedistaService.Get(search);

            if (resSjedista.IsSuccessStatusCode)
            {
                var result   = resSjedista.Content.ReadAsStringAsync().Result;
                var sjedista = JsonConvert.DeserializeObject <List <Model.Sjediste> >(result);

                var resRezervacija = await _rezervacijeService.Get(null);

                if (resRezervacija.IsSuccessStatusCode)
                {
                    var resultR     = resRezervacija.Content.ReadAsStringAsync().Result;
                    var rezervacije = JsonConvert.DeserializeObject <List <Model.Rezervacija> >(resultR);

                    foreach (var item in sjedista)
                    {
                        model.listaSjedista.Add(new SjedistaVM.Row
                        {
                            Id          = item.Id,
                            Red         = item.Red,
                            Kolona      = item.Kolona,
                            Rezervisano = false,
                            Lokacija    = item.Red + " " + item.Kolona
                        });
                    }

                    foreach (SjedistaVM.Row sjediste in model.listaSjedista)
                    {
                        foreach (var rezervacija in rezervacije)
                        {
                            if (rezervacija.Karta.SjedisteId == sjediste.Id && rezervacija.Karta.DatumIzdavanja.Date == datum.Date)
                            {
                                if (rezervacija.Otkazana == false)
                                {
                                    sjediste.Rezervisano = true;
                                }
                            }
                        }
                    }
                }
            }
            return(View(model));
        }
Exemplo n.º 4
0
        private async Task LoadSjedista(SjedisteSearchRequest searchRequest = null)
        {
            var lista = await _sjedista.Get <List <Model.Sjediste> >(searchRequest);


            cmbSjediste.DisplayMember = "Mjesto";
            cmbSjediste.ValueMember   = "Id";
            cmbSjediste.DataSource    = lista;
            cmbSjediste.SelectedIndex = -1;
            cmbSjediste.SelectedText  = "--Odaberi sjedište--";
        }
Exemplo n.º 5
0
        private async void btnSpasi_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidateChildren())
                {
                    var sjediste = new SjedisteUpsertRequest();

                    sjediste.Red      = int.Parse(txtRed.Text);
                    sjediste.Kolona   = int.Parse(txtKolona.Text);
                    sjediste.VoziloId = int.Parse(cmbVozila.SelectedValue.ToString());

                    var searchSjedista = new SjedisteSearchRequest()
                    {
                        VoziloId = sjediste.VoziloId.Value
                    };

                    var listaSjedista = await _sjedista.Get <List <Model.Sjediste> >(searchSjedista);

                    var vozilo = await _vozila.GetById <Model.Vozilo>(sjediste.VoziloId.Value);



                    if (listaSjedista.Count != 0 && vozilo.BrojSjedista == listaSjedista.Count)
                    {
                        MessageBox.Show("Dodali ste sva sjedista za vozilo");
                    }
                    else
                    {
                        if (!await ProvjeriSjediste(sjediste))
                        {
                            await _sjedista.Insert <Model.Sjediste>(sjediste);


                            MessageBox.Show("Dodali ste sjedište");
                        }
                        else
                        {
                            MessageBox.Show("Sjediste je vec dodano za to vozilo");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Sjedista detalji", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 6
0
        private async Task <bool> ProvjeriSjediste(SjedisteUpsertRequest request)
        {
            var search = new SjedisteSearchRequest()
            {
                VoziloId = request.VoziloId.Value
            };
            var lista = await _sjedista.Get <List <Model.Sjediste> >(search);

            foreach (var item in lista)
            {
                if (request.Red == item.Red && request.Kolona == item.Kolona)
                {
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 7
0
        private async void cmbAngazuje_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbAngazuje.SelectedItem != null)
            {
                var el = cmbAngazuje.SelectedValue.ToString();

                if (int.TryParse(el, out int id))
                {
                    var ang = await _angazuje.GetById <Model.Angazuje>(id);

                    if (ang != null)
                    {
                        var search = new SjedisteSearchRequest()
                        {
                            VoziloId = ang.VoziloId
                        };

                        await LoadSjedista(search);
                    }
                }
            }
        }
        private async void cmbVozila_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (int.TryParse(cmbVozila.SelectedValue.ToString(), out int id))
                {
                    var search = new SjedisteSearchRequest()
                    {
                        VoziloId = id
                    };

                    var lista = await _sjedista.Get <List <Model.Sjediste> >(search);


                    //dgvSjedista.DataSource = null;
                    dgvSjedista.DataSource = lista;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Sjediste", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 9
0
        protected async override void OnAppearing()
        {
            model.Angazman = _angazujeID;
            base.OnAppearing();
            await model.Init(_id);



            var brSjedala = model.BrojSjedalaDodnih;

            this.gridSjedala.Children.Clear();

            //this.gridSjedala.VerticalOptions = LayoutOptions.CenterAndExpand;
            this.gridSjedala.HorizontalOptions = LayoutOptions.CenterAndExpand;
            this.gridSjedala.RowDefinitions    = new RowDefinitionCollection();
            this.gridSjedala.ColumnDefinitions = new ColumnDefinitionCollection();

            var brR = 0;

            this.gridSjedala.RowDefinitions.Add(new RowDefinition()
            {
                Height = 60
            });

            var brK = 0;

            bool dodajRed = false;



            var searchRez = new RezervacijaSearchRequest()
            {
                PoAngazmanu = true,
                AngazmanId  = _angazujeID
            };

            //da samo prikaze rezervacije koje se odnose na ovaj angazman
            var listaRezervacije = await _rezervacijeService.Get <List <Rezervacija> >(searchRez);

            var searchSjedista = new SjedisteSearchRequest()
            {
                VoziloId = _id
            };

            var listaSjedista = await _sjedistaService.Get <List <Model.Sjediste> >(searchSjedista);

            var brojac = 0;

            foreach (var sjediste in listaSjedista)
            {
                if (brojac != 0 && brK == 0 && dodajRed)
                {
                    brR++;
                    this.gridSjedala.RowDefinitions.Add(new RowDefinition()
                    {
                        Height = 60
                    });
                    brK      = 0;
                    dodajRed = false;
                }

                dodajRed = true;
                this.gridSjedala.ColumnDefinitions.Add(new ColumnDefinition()
                {
                    Width = 50
                });

                Button l = new Button
                {
                    MinimumWidthRequest = 40,
                    Text         = sjediste.Red.ToString() + " " + sjediste.Kolona.ToString(),
                    TextColor    = Color.White,
                    CornerRadius = 10,

                    HeightRequest = 50,
                    WidthRequest  = 67,
                    FontSize      = 10,

                    BindingContext = sjediste
                };

                bool zauzeto = false;

                if (brK < 4)
                {
                    foreach (var rezervacija in listaRezervacije)
                    {
                        if (rezervacija.Karta.SjedisteId == sjediste.Id && rezervacija.Karta.DatumIzdavanja.Date == _datum.Date)
                        {
                            zauzeto = true;
                        }
                    }

                    if (zauzeto)
                    {
                        l.BackgroundColor = Color.Red;
                    }
                    else
                    {
                        l.BackgroundColor = Color.Green;
                        l.Pressed        += btn_Clicked;
                    }

                    this.gridSjedala.Children.Add(l, brK, brR);

                    if (brK == 3)
                    {
                        brK = 0;
                    }
                    else
                    {
                        brK++;
                    }
                }
                else
                {
                    brK = 0;
                }

                brojac++;
            }



            model.Poruka           = false;
            model.VidljivaSjedista = true;
        }