public void DodadiSamoMaterijal( Materijal materijal)
 {
     if (PoDelovi == false)
     {
         this._materijali.AddLast(materijal);
     }
     else
     {
         throw new Exception("Dodadvate samo materijali -a objektot e podesen da raboti po delovi.!");
     }
 }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Korisnik korisnik = new Korisnik();
          //  korisnik.UserID = this.TextBox1.Text;
           // korisnik.Lozinka = this.TextBox2.Text;
           // korisnik.Email = this.TextBox3.Text;
           // korisnik.Ime = this.TextBox4.Text;
            //korisnik.Prezime = this.TextBox5.Text;

            Materijal materijal = new Materijal();
            materijal.Naslov = TextBox6.Text;

           Label1.Text = materijal.Naslov;
            materijal.Opis = TextBox8.Text;
            Label2.Text = materijal.Opis;
        }
 public RezultatKomanda addMaterijal(Materijal materijalObj)
 {
     RezultatKomanda rezultat = new RezultatKomanda(false);
     try
     {
         if (materijalObj != null)
         {
             rezultat = addMaterijal(materijalObj.Naslov, materijalObj.Opis, materijalObj.DodadenOd, materijalObj.Slika, materijalObj.Pateka,materijalObj.Type);
         }
         return rezultat;
     }
     catch (Exception ex)
     {
         rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
         rezultat.Pricina = ex.Message;
         return rezultat;
     }
 }
 public void DodadiMaterijalPoDel(Del del,Materijal materijal)
 {
     if (PoDelovi)
     {
         DelMaterijali tek = NajdiDel(del.ID);
         if (tek != null)
         {
             tek.DodadiMaterijal(materijal);
         }
         else
         {
             tek = new DelMaterijali(del);
             tek.DodadiMaterijal(materijal);
             this._deloviMaterijali.AddLast(tek);
         }
     }
     else
     {
         throw new Exception("Dodadvate materijal po delovi - a objektot e podesen raboti bez delovi.!");
     }
 }
        public void nacrtajPregled1Materijal(Materijal matObj)
        {
           //sega ja koristime samo za da napravime download na materijalot

            kontrolaPrezemi.SourceFile = matObj.Pateka;
            try
            {
                kontrolaPrezemi.StartDownloading();
            }
            catch (Exception e)
            {
                
            }

        }
        LiteralControl NacrtajMaterijali(Materijal matObj)
        {
            String patekaSlikaPrevzemi = "<img src=\"Sliki/PredmetStudentSliki/prevzemi.png\" alt=\"превземи\" />";
            String patekaDownloadIkona = "<img src=\"Sliki/PredmetStudentSliki/downloadIkona.png\" alt=\"превземи\" />";
            String patekaDobarIkona = "<img src=\"Sliki/PredmetStudentSliki/likeIkona.png\" alt=\"превземи\" />";
            String patekaLosIkona = "<img src=\"Sliki/PredmetStudentSliki/dislikeIkona.png\" alt=\"превземи\" />";

            StringBuilder sb = new StringBuilder();
            
            sb.Append("<div id=\"MaterijalPregled\">");

            sb.Append("<span id=\"MaterijalSlikaTip\">");
            sb.Append("<img src=\"Sliki/PredmetStudentSliki/");
            if (matObj.TypeEnum == MaterijalTip.Slika)
            {
                sb.Append("Slika.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.Word)
            {
                sb.Append("Word.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.Excel)
            {
                sb.Append("Excel.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.Arhiva)
            {
                sb.Append("Arhiva.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.PowerPoint)
            {
                sb.Append("PowerPoint.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.Pdf)
            {
                sb.Append("Pdf.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.Text)
            {
                sb.Append("Text.png");
            }
            else if (matObj.TypeEnum == MaterijalTip.Html)
            {
                sb.Append("Html.png");
            }
            else
            {
                sb.Append("Nepoznat.png");
            }
            sb.Append("\"/>");
            sb.Append("</span>");
 
            sb.Append("<span id=\"MaterijalNaslov\">");
            sb.Append("<a href=\"PredmetStudent.aspx?NasID=" + this.Nasoka_ID_NPD_Pregled_Selected + "&PredID=" + this.Predmet_ID_NPD_Pregled_Selected + "&DelID=" + this.Del_ID_NPD_PregledIzbor_Selected + "&MatID=" + matObj.MaterijalID + "\">");
            sb.Append(matObj.Naslov);
            sb.Append("</a>");
            sb.Append("</span>");
            

            sb.Append("<span id=\"MaterijalOpis\">");
            sb.Append("<p>");
            sb.Append(matObj.Opis);
            sb.Append("</p>");
            sb.Append("</span>");
            sb.Append("<br /><span id=\"MaterijalDownload\">");
            sb.Append("<a href=\"PredmetStudent.aspx?NasID=" + this.Nasoka_ID_NPD_Pregled_Selected + "&PredID=" + this.Predmet_ID_NPD_Pregled_Selected + "&DelID=" + this.Del_ID_NPD_PregledIzbor_Selected + "&MatID=" + matObj.MaterijalID + "&Get=1\">" + patekaSlikaPrevzemi + "</a>");
            sb.Append("</span>");

            sb.Append("<div id=\"DownloadLenta\">");                 

            sb.Append("<span id=\"LosRejtingMaterijal\">");
            sb.Append("<a href=\"PredmetStudent.aspx?NasID=" + this.Nasoka_ID_NPD_Pregled_Selected + "&PredID=" + this.Predmet_ID_NPD_Pregled_Selected + "&DelID=" + this.Del_ID_NPD_PregledIzbor_Selected + "&MatID=" + matObj.MaterijalID + "&Rejting=L\">" + patekaLosIkona + "</a>" + "  ");
            sb.Append(matObj.LosRejting);            
            sb.Append("</span>");

            sb.Append("<span id=\"DobarRejtingMaterijal\">");
            sb.Append("<a href=\"PredmetStudent.aspx?NasID=" + this.Nasoka_ID_NPD_Pregled_Selected + "&PredID=" + this.Predmet_ID_NPD_Pregled_Selected + "&DelID=" + this.Del_ID_NPD_PregledIzbor_Selected + "&MatID=" + matObj.MaterijalID + "&Rejting=D\">" + patekaDobarIkona + "</a>" + "  ");
            sb.Append(matObj.DobarRejting);            
            sb.Append("</span>");

            sb.Append("<span id=\"MaterijalDownloadCount\">");
            sb.Append(patekaDownloadIkona + "  ");
            sb.Append(matObj.Prevzemen.ToString());
            sb.Append("</span>");
            sb.Append("</div>");
            sb.Append("</div>");

            return new LiteralControl(sb.ToString());
        }
 public RezultatKomanda deleteMaterijalOdPredmet(Materijal matObj, PredmetNasoka predmetNasokaObj, int DelID)
 {
     RezultatKomanda rezultat = new RezultatKomanda(false);
     try
     {
         if (predmetNasokaObj != null && predmetNasokaObj != null)
         {
             rezultat = deleteMaterijalOdPredmet(matObj.MaterijalID, predmetNasokaObj.NasokaID, predmetNasokaObj.PredmetID, DelID);
         }
         return rezultat;
     }
     catch (Exception ex)
     {
         rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
         rezultat.Pricina = ex.Message;
         return rezultat;
     }
 }
 public RezultatKomanda addMaterijalPredmet(Materijal matObj, int NasokaID, int PredmetID, int DelID)
 {
     RezultatKomanda rezultat = new RezultatKomanda(false);
     try
     {
         if (matObj != null)
         {
             rezultat = addMaterijalPredmet(matObj.MaterijalID, NasokaID, PredmetID, DelID);
         }
         return rezultat;
     }
     catch (Exception ex)
     {
         rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
         rezultat.Pricina = ex.Message;
         return rezultat;
     }
 }
        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 RezultatKomanda getMaterijali(string DodadenOd, ref List<Materijal> marerijaliLista)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();


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

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


                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    marerijaliLista = new List<Materijal>();
                    Materijal materijalObj;
                    foreach (DataRow red in dsKomanda.Tables[0].Rows)
                    {
                        materijalObj = new Materijal();
                        materijalObj.MaterijalID = BazaDB.DataRowVoInt(red, "MaterijalID");
                        materijalObj.Naslov = BazaDB.DataRowVoString(red, "Naslov");
                        materijalObj.DodadenOd = BazaDB.DataRowVoString(red, "DodadenOd");
                        materijalObj.DodadenNa = BazaDB.DataRowVoDateTime(red, "DodadenNa");
                        materijalObj.Opis = BazaDB.DataRowVoString(red, "Opis");
                        materijalObj.Pateka = BazaDB.DataRowVoString(red, "Pateka");
                        materijalObj.Slika = BazaDB.DataRowVoString(red, "Slika");
                        materijalObj.Aktiven = BazaDB.DataRowVoChar(red, "Aktiven");
                        materijalObj.Type = BazaDB.DataRowVoString(red, "Type");

                        marerijaliLista.Add(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 RezultatKomanda getMaterijal(int ID, ref Materijal materijalObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            dsKomanda = null;
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

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

                dsKomanda = BazaDB.GetDataSet(parametriKomanda.ToArray(), "sp_PodigniMaterijal1", sqlCn: null);
                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    DataRow red = dsKomanda.Tables[0].Rows[0];

                    materijalObj = new Materijal();
                    materijalObj.MaterijalID = BazaDB.DataRowVoInt(red, "MaterijalID");
                    materijalObj.Naslov = BazaDB.DataRowVoString(red, "Naslov");
                    materijalObj.DodadenOd = BazaDB.DataRowVoString(red, "DodadenOd");
                    materijalObj.DodadenNa  = BazaDB.DataRowVoDateTime(red, "DodadenNa");
                    materijalObj.Opis  = BazaDB.DataRowVoString(red, "Opis");
                    materijalObj.Pateka = BazaDB.DataRowVoString(red, "Pateka");
                    materijalObj.Slika = BazaDB.DataRowVoString(red, "Slika");
                    materijalObj.Aktiven = BazaDB.DataRowVoChar(red, "Aktiven");
                    materijalObj.Type = BazaDB.DataRowVoString(red, "Type");

                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    rezultat.Pricina = "Ne postoi tekov materijal - ID";
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Pricina = ex.Message;
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                return rezultat;
            }
        }
        public RezultatKomanda deleteMaterijal(Materijal materijalObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);

            try
            {
                if (materijalObj != null)
                {
                    rezultat = deleteMaterijal(materijalObj.MaterijalID);
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Pricina = ex.Message;
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                return rezultat;
            }
        }
        public void pregled1Materijal()
        {
            try
            {
                IMaterijalPregled1View _viewMat = (IMaterijalPregled1View)_view;
                Materijal matObj = new Materijal();

                RezultatKomanda rezultat = _materijalDB.getMaterijal(_viewMat.ID_Materijal_Pregled1_Input, ref matObj);

                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _viewMat.InfoPoraka += "Izlistan e materijalot. ";
                    IMaterijaliZgolemiDownloadView _viewMatDown = (IMaterijaliZgolemiDownloadView)_view;
                    _materijalDB.addDownloadCount(_viewMatDown.Materijal_ID_Materijali_ZgolemiDownload_Input,
                                                  _viewMatDown.Nasoka_ID_Materijali_ZgolemiDownload_Input,
                                                  _viewMatDown.Predmet_ID_Materijali_ZgolemiDownload_Input,
                                                  _viewMatDown.Delovi_ID_Materijali_ZgolemiDownload_Input);
                    _viewMat.nacrtajPregled1Materijal(matObj);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _viewMat.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewMat.ErrorPoraka = "Greska pri listanje materijal.";
                }
            }
            catch (Exception ex)
            {
                //Greska vo pregled na materijal
                throw ex;
            }
        }
 public void DodadiMaterijal(String naslov, String opis, String dodadenOd, int materijalID, String pateka, String slika, char aktiven,string type)
 {
     Materijal nov = new Materijal(naslov, opis, dodadenOd, materijalID, pateka, slika, aktiven,type);
     this._materijali.Add(nov);
 }
 public void DodadiMaterijal(Materijal mat)
 {
     this._materijali.Add(mat);
 }