public void nacrtajPregledSoIzborMaterijaliPredmet(MaterijaliGrupirani materijaliGrupirani)
        {
            this.materijaliIzbor.Controls.Clear();

            if (materijaliGrupirani.DeloviMaterijali.Count == 0 && materijaliGrupirani.Materijali.Count == 0)
            {
                this.materijaliIzbor.Controls.Add(new LiteralControl("Извини ! Нема материјали."));
            }
            else
            {
                foreach (DelMaterijali matDelovi in materijaliGrupirani.DeloviMaterijali)
                {
                    foreach (Materijal item in matDelovi.Materijali)
                    {
                        this.materijaliIzbor.Controls.Add(NacrtajMaterijali(item));
                    }
                }
            }
        }
        public void pregled8MaterijaliPredmetSoIzbor()
        {
            try
            {
                IMaterijaliPredmetPregled8SoIzborView _viewMat = (IMaterijaliPredmetPregled8SoIzborView)_view;
                MaterijaliGrupirani materijaliGrupirani = new MaterijaliGrupirani();

                RezultatKomanda rezultat = _materijalDB.getMaterijali(_viewMat.Nasoka_ID_MaterijaliPredmet_PregledIzbor_Input, _viewMat.Predmet_ID_MaterijaliPredmet_PregledIzbor_Input, _viewMat.Del_ID_MaterijaliPredmet_PregledIzbor_Input,ref  materijaliGrupirani);

                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _viewMat.InfoPoraka += "Izlistani se materijalite so izbor. ";
                    _viewMat.nacrtajPregledSoIzborMaterijaliPredmet(materijaliGrupirani);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _viewMat.ErrorPoraka = rezultat.Pricina;
                    _viewMat.nacrtajPregledSoIzborMaterijaliPredmet(materijaliGrupirani);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewMat.ErrorPoraka = "Greska pri listanje  materijali so IZBOR.";
                }


            }
            catch (Exception ex)
            {
                //Greska vo pregled na materijali si uzbor
                throw ex;
            }
        }
        public RezultatKomanda getMaterijali(int NasokaID, int PredmetID, int? DeloviID, ref MaterijaliGrupirani grupiranMaterijali)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();


                //Parametar za @Nasoka_ID  = NasokaID
                //Input Parametar
                SqlParam = new SqlParameter("@Nasoka_ID", SqlDbType.Int);
                SqlParam.Value = NasokaID;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @Predmet_ID  = PredmetID
                //Input Parametar
                SqlParam = new SqlParameter("@Predmet_ID", SqlDbType.Int);
                SqlParam.Value = PredmetID;
                parametriKomanda.AddLast(SqlParam);

                if (DeloviID != null)
                {
                    //Parametar za @Delovi_ID  = DeloviID
                    //Input Parametar
                    SqlParam = new SqlParameter("@Delovi_ID", SqlDbType.Int);
                    SqlParam.Value = DeloviID;
                    parametriKomanda.AddLast(SqlParam);

                }
                dsKomanda = BazaDB.GetDataSet(parametriKomanda.ToArray(), "sp_PodigniMaterijaliPoDelovi", sqlCn: null);


                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    Nasoka tekNasoka = new Nasoka();
                    tekNasoka.NasokaID = BazaDB.DataRowVoInt(dsKomanda.Tables[0].Rows[0], "NA_NasokaID");
                    tekNasoka.Ime = BazaDB.DataRowVoString(dsKomanda.Tables[0].Rows[0], "NA_NasokaIme");
                    
                    Del tekovenDel;
                    Materijal materijalObj;
                    if (DeloviID != null)
                    {
                        grupiranMaterijali = new MaterijaliGrupirani(tekNasoka, new Predmet(PredmetID), true);
                       
                    }
                    else
                    {
                        grupiranMaterijali = new MaterijaliGrupirani(tekNasoka, new Predmet(PredmetID), false);
                    }

           
                    foreach (DataRow red in dsKomanda.Tables[0].Rows)
                    {
                        materijalObj = new Materijal();
                        
                        materijalObj.MaterijalID = BazaDB.DataRowVoInt(red, "M_MaterijalID");
                        materijalObj.Naslov = BazaDB.DataRowVoString(red, "M_Naslov");
                        materijalObj.DodadenOd = BazaDB.DataRowVoString(red, "M_DodadenOD");
                        materijalObj.DodadenNa = BazaDB.DataRowVoDateTime(red, "M_DodadenNa");
                        materijalObj.Opis = BazaDB.DataRowVoString(red, "M_Opis");
                        materijalObj.Pateka = BazaDB.DataRowVoString(red, "M_Pateka");
                        materijalObj.Slika = BazaDB.DataRowVoString(red, "M_Slika");
                        materijalObj.Aktiven = BazaDB.DataRowVoChar(red, "M_Aktiven");
                        materijalObj.Type = BazaDB.DataRowVoString(red, "M_Type");
                        materijalObj.Prevzemen = BazaDB.DataRowVoInt(red, "Prevzemen");
                        materijalObj.DobarRejting = BazaDB.DataRowVoInt(red, "DobarRejting");
                        materijalObj.LosRejting = BazaDB.DataRowVoInt(red, "LosRejting");

                        if (DeloviID != null)
                        {
                            tekovenDel = new Del(BazaDB.DataRowVoInt(red, "DEL_ID"), BazaDB.DataRowVoString(red, "DEL_Ime"), ' ');
                            tekovenDel.Vid_Izgled = BazaDB.DataRowVoInt(red, "DEL_Vid_Izgled");
                            grupiranMaterijali.DodadiMaterijalPoDel(tekovenDel, materijalObj);
                        }
                        else
                        {
                            grupiranMaterijali.DodadiSamoMaterijal(materijalObj);
                        }
                    }

                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    //Nema nitu eden materijal
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                    rezultat.Pricina = "Nema materijali";
                }
                return rezultat;
            }
            catch (Exception ex)
            {    
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                rezultat.Pricina = ex.Message;
                return rezultat;
            }
        }
 public void nacrtajPregled8MaterijaliPredmet(MaterijaliGrupirani materijaliGrupirani)
 {
     listBoxMaterijaliPredmet.Items.Clear();
     foreach (Materijal item in materijaliGrupirani.DeloviMaterijali.First.Value.Materijali)
     {
         listBoxMaterijaliPredmet.Items.Add(item);
     }
     listBoxMaterijaliPredmet.SelectedIndex = 0;
 }