private void UpdateButtonCommandExecute(object param)
        {
            RadnaLista updatedRadnaLista = new RadnaLista()
            {
                IDRadnaLista = IdRadneListe,
                Datum        = _datum,
                Kolicina     = Int32.Parse(_kolicina),
                Operacija    = new Operacija {
                    IDOperacija = IdOperacija
                },
                Radnik = new RadnikProizvodnja {
                    IDRadnik = IdRadnika
                },
                RadniNalog = new RadniNalog {
                    IDRadniNalog = _idRadniNalog
                }
            };

            bool isUpdated = _radnaListaSqlProvider.UpdateRadnaListaById(updatedRadnaLista);

            if (isUpdated)
            {
                Window curWindow = (Window)param;
                curWindow.Close();
            }
            else
            {
                ErrorDialog          errorDialog          = new ErrorDialog();
                ErrorDialogViewModel errorDialogViewModel = (ErrorDialogViewModel)errorDialog.DataContext;
                errorDialog.Title = "Greška";
                errorDialogViewModel.ErrorMessage = "Došlo je do greške. Pokušajte ponovo";
                errorDialog.ShowDialog();
                mainContentViewModel.RefreshData();
            }
        }
        public bool CreateRadnaListaById(RadnaLista radnaListaNew)
        {
            using (NpgsqlConnection sqlConnection = ConnectionCreator.createConnection())
            {
                sqlConnection.Open();

                NpgsqlCommand cmd = new NpgsqlCommand(CREATE_RADNA_LISTA, sqlConnection);

                cmd.Parameters.AddWithValue("@Datum", NpgsqlDbType.Date, radnaListaNew.Datum);
                cmd.Parameters.AddWithValue("@Kolicina", NpgsqlDbType.Integer, radnaListaNew.Kolicina);
                if (radnaListaNew.Radnik != null)
                {
                    cmd.Parameters.AddWithValue("@IDRadnik", NpgsqlDbType.Integer, radnaListaNew.Radnik.IDRadnik);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@IDRadnik", NpgsqlDbType.Integer, DBNull.Value);
                }
                cmd.Parameters.AddWithValue("@IDRadniNalog", NpgsqlDbType.Integer, radnaListaNew.RadniNalog.IDRadniNalog);
                cmd.Parameters.AddWithValue("@IDOperacija", NpgsqlDbType.Integer, radnaListaNew.Operacija.IDOperacija);

                int rowsAffected = cmd.ExecuteNonQuery();

                return(rowsAffected == 1);
            }
        }
        public ObservableCollection <RadnaLista> GetAllFromRadnaLista()
        {
            ObservableCollection <RadnaLista> radnaListaList = new ObservableCollection <RadnaLista>();

            using (NpgsqlConnection sqlConnection = ConnectionCreator.createConnection())
            {
                sqlConnection.Open();

                NpgsqlCommand cmd = new NpgsqlCommand(GET_ALL_RECORDS_FROM_RADNA_LISTA, sqlConnection);

                NpgsqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    RadnaLista radnaLista = new RadnaLista();
                    radnaLista.IDRadnaLista             = rdr.GetInt32(0);
                    radnaLista.Datum                    = rdr.GetDateTime(1);
                    radnaLista.Kolicina                 = rdr.GetInt32(2);
                    radnaLista.RadniNalog               = new RadniNalog();
                    radnaLista.RadniNalog.IDRadniNalog  = rdr.GetInt32(4);
                    radnaLista.Operacija                = new Operacija();
                    radnaLista.Operacija.IDOperacija    = rdr.GetInt32(5);
                    radnaLista.Operacija.NazivOperacije = rdr.GetString(6);
                    if (!rdr.IsDBNull(3))
                    {
                        radnaLista.Radnik                = new RadnikProizvodnja();
                        radnaLista.Radnik.IDRadnik       = rdr.GetInt32(3);
                        radnaLista.Radnik.ImeRadnika     = rdr.GetString(7);
                        radnaLista.Radnik.PrezimeRadnika = rdr.GetString(8);
                    }
                    radnaListaList.Add(radnaLista);
                }
            }

            return(radnaListaList);
        }
 public CreateRadnaListaDialogViewModel(IRadnaListaSqlProvider radnaListaSqlProvider, List <int> radniNalogIds, ObservableCollection <Operacija> operacijaList, ObservableCollection <AUPS.Models.RadnikProizvodnja> radnikProizvodnjaList, RadnaLista radnaLista,
                                        MainContentViewModel mainContentViewModel)
 {
     _radnaListaSqlProvider = radnaListaSqlProvider;
     IdRadneListe           = radnaLista.IDRadnaLista;
     SelectedIdRadniNalog   = radnaLista.RadniNalog.IDRadniNalog;
     RadniNalogIds          = radniNalogIds;
     Kolicina                       = radnaLista.Kolicina.ToString();
     Datum                          = radnaLista.Datum;
     _operacijaList                 = operacijaList;
     SelectedIndexOperacija         = operacijaList.IndexOf(operacijaList.First(x => x.IDOperacija == radnaLista.Operacija.IDOperacija));
     RadnikProizvodnjaList          = radnikProizvodnjaList;
     this.mainContentViewModel      = mainContentViewModel;
     SelectedIndexRadnikProizvodnja = radnikProizvodnjaList.IndexOf(radnikProizvodnjaList.FirstOrDefault(x => x.IDRadnik == radnaLista.Radnik?.IDRadnik));
 }
        private void DeleteButtonCommandExecute(object param)
        {
            {
                bool succeded = false;
                switch (_selectedTabIndex)
                {
                case 0:
                    RadnoMestoViewModel radnoMestoViewModel = (RadnoMestoViewModel)ContentMainScreen;
                    RadnoMesto          selected            = radnoMestoViewModel.ItemSelected;
                    if (selected != null)
                    {
                        if (!DoesRadnikProizvodnjaContainsRadnoMestoId(selected.IDRadnoMesto))
                        {
                            succeded = _radnoMestoSqlProvider.DeleteFromRadnoMestoById(selected.IDRadnoMesto);
                            if (succeded)
                            {
                                radnoMestoViewModel.RadnoMestoList.Remove(selected);
                            }
                        }
                        else
                        {
                            ShowCantDeleteErrorDialog();
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 1:
                    OperacijaViewModel operacijaViewModel = (OperacijaViewModel)ContentMainScreen;
                    Operacija          selectedOperacija  = operacijaViewModel.ItemSelected;
                    if (selectedOperacija != null)
                    {
                        succeded = _operacijaSqlProvider.DeleteFromOperacijaById(selectedOperacija.IDOperacija);
                        if (succeded)
                        {
                            operacijaViewModel.OperacijaList.Remove(selectedOperacija);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 2:
                    PredmetRadaViewModel predmetRadaViewModel = (PredmetRadaViewModel)ContentMainScreen;
                    PredmetRada          predmetRadaSelected  = predmetRadaViewModel.ItemSelected;
                    if (predmetRadaSelected != null)
                    {
                        succeded = _predmetRadaSqlProvider.DeleteFromPredmetRadaById(predmetRadaSelected.IDPredmetRada);
                        if (succeded)
                        {
                            predmetRadaViewModel.PredmetRadaList.Remove(predmetRadaSelected);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 3:
                    RadnaListaViewModel radnaListaViewModel = (RadnaListaViewModel)ContentMainScreen;
                    RadnaLista          radnaListaSelected  = radnaListaViewModel.ItemSelected;
                    if (radnaListaSelected != null)
                    {
                        succeded = _radnaListaSqlProvider.DeleteFromRadnaListaById(radnaListaSelected.IDRadnaLista);
                        if (succeded)
                        {
                            radnaListaViewModel.RadnaListaList.Remove(radnaListaSelected);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 4:
                    RadnikProizvodnjaViewModel radnikProizvodnjaViewModel = (RadnikProizvodnjaViewModel)ContentMainScreen;
                    RadnikProizvodnja          radnikProizvodnjaSelected  = radnikProizvodnjaViewModel.ItemSelected;
                    if (radnikProizvodnjaSelected != null)
                    {
                        succeded = _radnikProizvodnjaSqlProvider.DeleteFromRadnikProizvodnjaById(radnikProizvodnjaSelected.IDRadnik);
                        if (succeded)
                        {
                            radnikProizvodnjaViewModel.RadnikProizvodnjaList.Remove(radnikProizvodnjaSelected);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 5:
                    RadniNalogViewModel radniNalogViewModel = (RadniNalogViewModel)ContentMainScreen;
                    RadniNalog          radniNalogSelected  = radniNalogViewModel.ItemSelected;
                    if (radniNalogSelected != null)
                    {
                        succeded = _radniNalogSqlProvider.DeleteFromRadniNalogById(radniNalogSelected.IDRadniNalog);
                        if (succeded)
                        {
                            radniNalogViewModel.RadniNalogList.Remove(radniNalogSelected);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 6:
                    TehnoloskiPostupakViewModel tehnoloskiPostupakViewModel = (TehnoloskiPostupakViewModel)ContentMainScreen;
                    TehnoloskiPostupak          tehnoloskiPostupakSelected  = tehnoloskiPostupakViewModel.ItemSelected;
                    if (tehnoloskiPostupakSelected != null)
                    {
                        succeded = _tehnoloskiPostupakSqlProvider.DeleteFromTehnoloskiPostupakById(tehnoloskiPostupakSelected.IDTehPostupak);
                        if (succeded)
                        {
                            tehnoloskiPostupakViewModel.TehnoloskiPostupakList.Remove(tehnoloskiPostupakSelected);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 7:
                    TrebovanjeViewModel trebovanjeViewModel = (TrebovanjeViewModel)ContentMainScreen;
                    Trebovanje          trebovanjeSelected  = trebovanjeViewModel.ItemSelected;
                    if (trebovanjeSelected != null)
                    {
                        succeded = _trebovanjeSqlProvider.DeleteFromTrebovanjeById(trebovanjeSelected.IDTrebovanje);
                        if (succeded)
                        {
                            trebovanjeViewModel.TrebovanjeList.Remove(trebovanjeSelected);
                        }
                    }
                    else
                    {
                        ShowNotSelectedErrorDialog(true);
                    }
                    break;

                case 8:
                    TehnPostupakOperacijaViewModel tpoViewModel = (TehnPostupakOperacijaViewModel)ContentMainScreen;
                    tpoViewModel.DeleteSelected();
                    break;
                }
            }
        }