/// <summary>
 /// Dodavanje na institucija vo baza
 /// </summary>
 /// <param name="instObj">Objekt od tip institucija koj kje bide dodaden vo baza.</param>
 /// <returns>Ishod od dodavanje na nova institucija.</returns>
 public RezultatKomanda addInstitucija(Institucija instObj)
 {
     RezultatKomanda rezultat = new RezultatKomanda(false);
     dsKomanda = null;
     try
     {
         if (instObj != null)
         {
             rezultat = addInstitucija(instObj.Ime, instObj.Adresa, instObj.Kratenka);
         }
         return rezultat;
     }
     catch (Exception ex)
     {
         rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
         rezultat.Pricina = ex.Message;
         return rezultat;
     }
 }
 public void nacrtajFromaZaEditInstitucija(Institucija instObj)
 {
     this.textBoxIDInstitucija_Edit.Text = instObj.ID.ToString();
     this.textBoxIDInstitucija_Edit.Enabled = false;
     this.textBoxImeInstitucija_Edit.Text  = instObj.Ime;
     this.textBoxAdresaInstitucija_Edit.Text = instObj.Adresa;
     this.textBoxKratenkaInstitucija_Edit.Text = instObj.Kratenka;
 }
        /// <summary>
        /// Formiranje na lista od institucii.
        /// </summary>
        /// <param name="instLista">Lista od institucii koja se menuva po referenca.</param>
        /// <returns>Ishod od formiranjeto na listata so institucii.</returns>
        public RezultatKomanda getInstitucii(ref List<Institucija> instLista)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

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

                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    instLista = new List<Institucija>();
                    foreach (DataRow red in dsKomanda.Tables[0].Rows)
                    {
                        Institucija instObj = new Institucija();
                        instObj.ID = BazaDB.DataRowVoInt(red, "ID");
                        instObj.Ime = BazaDB.DataRowVoString(red, "Ime");
                        instObj.Adresa = BazaDB.DataRowVoString(red, "Adresa");
                        instObj.Kratenka = BazaDB.DataRowVoString(red, "Kratenka");

                        instLista.Add(instObj);
                    }

                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    //Nema nitu edea institucija
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                    rezultat.Pricina = "Nema institucii";
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                rezultat.Pricina = ex.Message;
                return rezultat;
            }
        }
        /// <summary>
        /// Prebaruvanje na institucija so soodveten ID.
        /// </summary>
        /// <param name="ID">ID na institucija koja se bara.</param>
        /// <param name="instObj">Objekt od tip Institucija koj kje se menuva po referenca.</param>
        /// <returns>Ishod od prebaruvanje na Institucija.</returns>
        public RezultatKomanda getInstitucija(int ID, ref Institucija instObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            dsKomanda = null;
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

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

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

                    instObj = new Institucija();
                    instObj.ID = BazaDB.DataRowVoInt(red, "ID");
                    instObj.Ime = BazaDB.DataRowVoString(red, "Ime");
                    instObj.Adresa = BazaDB.DataRowVoString(red, "Adresa");
                    instObj.Kratenka = BazaDB.DataRowVoString(red, "Kratenka");
                 
                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    rezultat.Pricina = "Ne postoi takva institucija - ID";
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Pricina = ex.Message;
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                return rezultat;
            }
        }
 /// <summary>
 /// Brisenje na institucija od baza.
 /// </summary>
 /// <param name="instObj">Institucija koja sakame da ja izbriseme.</param>
 /// <returns>Ishod od brisenjeto na institucija.</returns>
 public RezultatKomanda deleteInstitucija(Institucija instObj)
 {
     RezultatKomanda rezultat = new RezultatKomanda(false);
     
     try
     {
         if (instObj != null)
         {
             rezultat = deleteInstitucija(instObj.ID);
         }
         return rezultat;
     }
     catch (Exception ex)
     {
         rezultat.Pricina = ex.Message;
         rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
         return rezultat;
     }
 }
        public void zemiInstitucijaZaEdit()
        {
            
            try
            {
                IInstitucijaEditView _viewInstEdit = (IInstitucijaEditView)_view;

                Institucija instObj = new Institucija();
                RezultatKomanda rezultat = instDB.getInstitucija(_viewInstEdit.ID_Institucija_Edit_Selected,ref instObj);

                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    //_viewKor.PorakaNovKor = "Kreiran e nov korisnik " + _viewKor.NovUserID;
                    //_viewKor.ListaKorisnici = listaKor;
                    //_viewKor.napolniKorisnici();
                    _viewInstEdit.nacrtajFromaZaEditInstitucija(instObj);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _viewInstEdit.ErrorPoraka= rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    //_viewKor.PorakaNovKor = "Greska pri listanje korisnici";
                    _viewInstEdit.ErrorPoraka = "Greska pri citanje institucija";
                }
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
        }
        LiteralControl nacrtajIntitucija(Institucija instObj)
        {

            StringBuilder sb = new StringBuilder();
            string klasa = "";
            if (this.ID_Institucija_Izbor_Selected == instObj.ID)
            {
                klasa = "Selected";
            }
            sb.Append("<div id=\"InstitucijaIzbor\" class=\"" + klasa + "\">");
            sb.Append("<span id=\"InstitucijaKratenka\">");
            sb.Append(instObj.Kratenka);
            sb.Append("</span>");            
            sb.Append("<span id=\"InstitucijaIme\">");
            sb.Append(instObj.Ime);
            sb.Append("</span><br />");
            sb.Append("<span id=\"InstitucijaAdresa\">");
            sb.Append(instObj.Adresa);
            sb.Append("</span>");
            sb.Append("</div>");
            return new LiteralControl("<a href=\"PredmetiStudent.aspx?InstID="+ instObj.ID +"\">" +sb.ToString() +"</a>");
        }