public void zemiNasokaZaEdit()
        {
            try
            {
                INasokaEditView _viewNasoka = (INasokaEditView)_view;

                Oblast oblastObj = new Oblast();
                Nasoka nasokaObj = new Nasoka();

                RezultatKomanda rezultat = nasokaDB.getNasoka(_viewNasoka.ID_Nasoka_Edit_Selected, ref nasokaObj);
                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _viewNasoka.nacrtajFormaZaEditNasoka(nasokaObj);

                    //_viewNasoka.InfoPoraka = "Pregled na nasoka";
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _viewNasoka.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewNasoka.ErrorPoraka = "Greska pri edit nasoka";
                }
            }
            catch (Exception ex)
            {
                //Greska vo pregled nasoki
                throw ex;
            }
        }
        public void zemiOblastZaEdit()
        {
            try
            {
                IOblastEditView _viewOblastEdit = (IOblastEditView)_view;

                Oblast oblastObj = new Oblast();
                RezultatKomanda rezultat = oblastDB.getOblast(_viewOblastEdit.ID_Oblast_Edit_Selected, ref oblastObj);

                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _viewOblastEdit.nacrtajFromaZaEditOblast(oblastObj);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _viewOblastEdit.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewOblastEdit.ErrorPoraka = "Greska pri crtanje Edit za Oblast";
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public void pregled1Oblast()
        {
            try
            {
                IOblastPregled1View _viewOblast = (IOblastPregled1View)_view;
                Oblast oblastObj = new Oblast();

                RezultatKomanda rezultat = oblastDB.getOblast(_viewOblast.ID_Oblast_Pregled1_input, ref oblastObj);
                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _viewOblast.nacrtajPregled1Oblast(oblastObj);

                    _viewOblast.InfoPoraka = "Prikazna e oblasta";
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _viewOblast.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewOblast.ErrorPoraka = "Greska pri prikazuvanje oblast";
                }
            }
            catch (Exception ex)
            {
                //Greska vo add oblast
                throw ex;
            }
        }
 /// <summary>
 /// Funkcija koja e odgovorna za dodavanje na novi oblasti vo bazata so podatoci.
 /// </summary>
 /// <param name="oblastObj">Objekt od tip oblast</param>
 /// <returns>Ishod od dodavanjeto na oblasta.</returns>
 /// 
 public RezultatKomanda addOblast(Oblast oblastObj)
 {
     RezultatKomanda rezultat = new RezultatKomanda(false);
     
     try
     {
         if (oblastObj != null)
         {
             rezultat = addOblast(oblastObj.Ime, oblastObj.Adresa, oblastObj.WebStrana, oblastObj.Ustanova_ID);
         }
         return rezultat;
     }
     catch (Exception ex)
     {
         rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
         rezultat.Pricina = ex.Message;
         return rezultat;
     }
 }
        /// <summary>
        /// Za dadena ustanova po referenca se vrakjaat oblastite koi se odvivaat vo sklop na taa ustanova.
        /// </summary>
        /// <param name="Ustanova_ID">Ustanova na koja pripagja oblasta.</param>
        /// <param name="oblastiLista">Lista od oblasti koja po referenca se polni od DataSet.</param>
        /// <returns>Ishod od formiranje na lista so oblasti.</returns>
        public RezultatKomanda getOblastiPoUstanova(int Ustanova_ID, ref List<Oblast> oblastiLista)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

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

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

                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    oblastiLista = new List<Oblast>();
                    foreach (DataRow red in dsKomanda.Tables[0].Rows)
                    {

                        Oblast oblastObj = new Oblast();
                        oblastObj.OblastID = BazaDB.DataRowVoInt(red, "OblastID");
                        oblastObj.Ustanova_ID = BazaDB.DataRowVoInt(red, "Ustanova_ID");
                        oblastObj.Ime = BazaDB.DataRowVoString(red, "Ime");
                        oblastObj.Adresa = BazaDB.DataRowVoString(red, "Adresa");
                        oblastObj.WebStrana = BazaDB.DataRowVoString(red, "WebStrana");


                        oblastiLista.Add(oblastObj);
                    }

                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    //Nema nitu edna ustanova
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                    rezultat.Pricina = "Nema oblasti";
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                rezultat.Pricina = ex.Message;
                return rezultat;
            }
        }
        /// <summary>
        /// Funkcija koja prebaruva oblast za daden identifikator.
        /// </summary>
        /// <param name="OblastID">Identifikator na oblast koja sto se bara.</param>
        /// <param name="oblastObj">Referenca kon najdeniot objekt.</param>
        /// <returns>Ishod od prebaruvanje na oblasta.</returns>
        public RezultatKomanda getOblast(int OblastID, ref Oblast oblastObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            dsKomanda = null;
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

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

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

                    oblastObj = new Oblast();
                    oblastObj.OblastID = BazaDB.DataRowVoInt(red, "OblastID");
                    oblastObj.Ustanova_ID = BazaDB.DataRowVoInt(red, "Ustanova_ID");
                    oblastObj.Ime = BazaDB.DataRowVoString(red, "Ime");
                    oblastObj.Adresa = BazaDB.DataRowVoString(red, "Adresa");
                    oblastObj.WebStrana = BazaDB.DataRowVoString(red, "WebStrana");
                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    rezultat.Pricina = "Ne postoi takva oblast - ID";
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Pricina = ex.Message;
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                return rezultat;
            }

        }
        /// <summary>
        /// Funkcija koja e zadolzena za brisenje na opredelena oblast, za daden objekt od tip Oblast.
        /// </summary>
        /// <param name="oblastObj">Oblast koja kje bide izbrisana</param>
        /// <returns>Ishod od brisenjeto na oblasta.</returns>

        public RezultatKomanda deleteOblast(Oblast oblastObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            
            try
            {
                if (oblastObj != null)
                {
                    rezultat = deleteOblast(oblastObj.OblastID);
                }
            
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                rezultat.Pricina = ex.Message;
                return rezultat;
            }
        }
 public void nacrtajFromaZaEditOblast(Oblast oblastObj)
 {
     this.textBoxID_Oblast_Edit.Text  = oblastObj.OblastID.ToString();
     this.textBoxID_Oblast_Edit.Enabled = false;
     this.textBoxIme_Oblast_Edit.Text = oblastObj.Ime;
     this.textBoxAdresa_Oblast_Edit.Text = oblastObj.Adresa;
     this.textBoxWeb_Oblast_Edit.Text = oblastObj.WebStrana;
     foreach(object cbObj in cBoxUstanoviIzborEdit.Items)
     {
         
         if(cbObj  is Ustanova)
         {
             if (((Ustanova)cbObj).UstanovaID == oblastObj.Ustanova_ID)
             {
                 this.cBoxUstanoviIzborEdit.SelectedItem = cbObj;
                 break;
             }
         }
     }
     
 }
        LiteralControl nacrtajOblast(Oblast oblastObj)
        {

            StringBuilder sb = new StringBuilder();
            string klasa = "";
            if (this.ID_Oblast_NasokaFilter_Selected == oblastObj.OblastID)
            {
                klasa = "Selected";
            }
            sb.Append("<div id=\"OblastIzbor\" class=\"" + klasa + "\">");
            sb.Append("<span id=\"OblastIme\">");
            sb.Append(oblastObj.Ime);
            sb.Append("</span><br />");
            sb.Append("<span id=\"OblastAdresa\">");
            sb.Append(oblastObj.Adresa);
            sb.Append("</span><br />");
            sb.Append("<span id=\"OblastWebStrana\">");
            sb.Append(oblastObj.WebStrana);
            sb.Append("</span>");
            sb.Append("</div>");
            return new LiteralControl("<a href=\"PredmetiStudent.aspx?InstID=" + this.ID_Institucija_Izbor_Selected + "&UstID=" + this.ID_Ustanova_UstanovaFilter_Selected + "&OblID="+ oblastObj.OblastID +"\">" + sb.ToString() + "</a>");
        }