public void logirajKorisnik(Korisnik korObj)
 {
     this.Session["korisnik"] = korObj;
     if (Request["p"] != null)
     {
         string strana = Server.UrlDecode(Request.QueryString.ToString()).Split('/')[1];
         Response.Redirect(strana);
     }
     else
     {
         Response.Redirect("KorisnikStudent.aspx");
     }
     
 }
        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;
        }
        protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);

            if (Request.QueryString["lout"] != null)
            {
                Session.Remove("korisnik");
                Response.Redirect("GoodLuckStudent.aspx");
            }
            else
            {
                if (Session["korisnik"] != null)
                {
                    tekovenKorisnik = (Korisnik)Session["korisnik"];
                }
                else
                {
                    if (daliLogin)
                    {
                        Response.Redirect("LoginStudent.aspx?p=" + Server.UrlDecode(Request.RawUrl));
                    }
                }
            }
        }
        public void nacrtajPregledZaKorisnik(Korisnik korObj)
        {
            this.profilPregled.Controls.Clear();
            this.profilPregled.Controls.Add(NacrtajKorisnikPregled(korObj));

            
            this.licniPodatoci.Controls.Add(NacrtajKorisnikSamoPregled(korObj));
            this.smetka.Controls.Add(NacrtajKorisnikPregledZaIzmena(korObj));
        }
        LiteralControl NacrtajKorisnikSamoPregled(Korisnik korObj)
        {
            StringBuilder sb = new StringBuilder();

            //if (Request.QueryString["izmeni"] != null && Request.QueryString["izmeni"]== "false")
            //{
            if (this.statusIzmena == "false")
            {
                this.licniPodatoci.Controls.Clear();
                sb.Append("<fieldset>");
                sb.Append("<legend>Лични податоци</legend>");
                sb.Append("Име: ");
                sb.Append("<br />");
                sb.Append("<b>");
                sb.Append(korObj.Ime);
                sb.Append("</b>");
                sb.Append("<br /><br />");
                sb.Append("Презиме: ");
                sb.Append("<br />");
                sb.Append("<b>");
                sb.Append(korObj.Prezime);
                sb.Append("</b>");
                sb.Append("<br /><br />");
                sb.Append("Емаил: ");
                sb.Append("<br />");
                sb.Append("<b>");
                sb.Append(korObj.Email);
                sb.Append("</b>");
                sb.Append("<br /><br />");
                sb.Append("</fieldset>");
            }                      
            //}         

            return new LiteralControl(sb.ToString());
        }
        public void zemiKorisnikZaEdit()
        {
            IKorisnikUpdateView _viewKor = ((IKorisnikUpdateView)_view);

            //List<Korisnik> listaKor = new List<Korisnik>();
            Korisnik korIzbran = new Korisnik();

            try
            {
                RezultatKomanda rezultat = korDb.getKorisnik(_viewKor.UserId_Korisnik_Update_Selected, ref korIzbran);
                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    //_viewKor.PorakaNovKor = "Kreiran e nov korisnik " + _viewKor.NovUserID;
                    //_viewKor.ListaKorisnici = listaKor;
                    //_viewKor.napolniKorisnici();
                    _viewKor.nacrtajFormaZaUpdateKorisnik(korIzbran);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    //_viewKor.PorakaNovKor = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    //_viewKor.PorakaNovKor = "Greska pri listanje korisnici";
                }
            }
            catch (GlavenException ex)
            {

                throw ex;
            }
        }
        public void loginKorisnik()
        {
            IKorisnikLoginView _viewKor = ((IKorisnikLoginView)_view);

            korObj = new Korisnik();
            try
            {
                FactoryRegEx regExFactory = new FactoryRegEx();
                RegExNas proverka = (RegExNas)regExFactory.Produce(ValidatorEnum.Korisnik_UserID, null);


                //proverka.Validiraj(_viewKor.UserID_Login_Input);

                //if (proverka.uspeh == true)
                //{

                //}
                
                //RezultatKomanda rezultat = korDb.getKorisnik(_viewKor.UserID_Login_Input, _viewKor.Lozinka_Login_Input, ref korObj);
                RezultatKomanda rezultat = new RezultatKomanda(true);
                Korisnik pom = new Korisnik();
                pom.UserID = "Marko";
                rezultat.Rezultat = RezultatKomandaEnum.Uspeh;

                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    //_viewKor.PorakaLogin = "******";
                    _viewKor.InfoPoraka = "Logirani ste";
                    _viewKor.logirajKorisnik(korObj);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    //_viewKor.PorakaLogin = rezultat.Pricina;
                    _viewKor.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    //_viewKor.PorakaLogin = "******";
                   _viewKor.ErrorPoraka = "Greska";
                }

            }
            catch (GlavenException ex)
            {

                if (ex is KonekcijaEX)
                {
                    throw new Exception("KONEKCIJA NESTO ");
                }
            }
        }
        public void updateKorisnik()
        {
            IKorisnikUpdateView _viewKor = ((IKorisnikUpdateView)_view);

            korObj = new Korisnik(_viewKor.UserId_Korisnik_Update_Input,"", 'D', "student",
                                    _viewKor.Ime_Korisnik_Update_Input, _viewKor.Prezime_Korisnik_Update_Input, _viewKor.Email_Korisnik_Update_Input);

            try
            {
                RezultatKomanda rezultat = korDb.updateKorisnik(korObj);
                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    //_viewKor.PorakaNovKor = "Kreiran e nov korisnik " + _viewKor.NovUserID;
                    _viewKor.InfoPoraka = "Izmenat e korisnikot " + korObj.UserID;
                }

                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                   _viewKor.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewKor.ErrorPoraka = "Greska pri izmena korisnik";
                }

            }
            catch (GlavenException ex)
            {

                throw ex;
            }
        }
        public void getKorisnik()
        {
            IKorisnikPregled1View _viewKor = ((IKorisnikPregled1View)_view);

            //List<Korisnik> listaKor = new List<Korisnik>();
            Korisnik korIzbran = new Korisnik();

            try
            {
                RezultatKomanda rezultat = korDb.getKorisnik(_viewKor.UserID_Korisnik_Pregled_Selected, ref korIzbran);
                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    //_viewKor.PorakaNovKor = "Kreiran e nov korisnik " + _viewKor.NovUserID;
                    //_viewKor.ListaKorisnici = listaKor;
                    //_viewKor.napolniKorisnici();
                    _viewKor.nacrtajPregledZaKorisnik(korIzbran);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    //_viewKor.PorakaNovKor = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _viewKor.ErrorPoraka = "Greska pri pregled korisnk";
                }
            }
            catch (GlavenException ex)
            {

                throw ex;
            }
        }
        LiteralControl NacrtajKorisnikPregled(Korisnik korObj)
        {
            StringBuilder sb = new StringBuilder();

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

            sb.Append("<div id=\"IDiLogOut\">");
            sb.Append("<span id=\"KorisnikUserID\">");
            sb.Append("Најавени сте како: <b>");
            sb.Append(korObj.UserID);
            sb.Append("</b> | ");
            sb.Append("</span>");

            sb.Append("</span>");
            sb.Append("<span id=\"LogOut\">");
            sb.Append("<a href=\"?lout=D\">Одјави се</a>");
            sb.Append("</span>");
            sb.Append("</div>");

            sb.Append("<span id=\"VratiSeProfil\">");
            sb.Append("<a href=\"KorisnikStudent.aspx?izmeni=false\">");
            sb.Append("Профил");
            sb.Append("</a>");
            sb.Append("</span>");
            sb.Append("<div id=\"ImeIPrezime\">");
            sb.Append("<span id=\"KorisnikIme\">");
            if (String.IsNullOrEmpty(korObj.Ime))
            {
                sb.Append("<a href=\"#\">Немате внесено име.</a>");
            }
            else
            {
                sb.Append("Име: ");
                sb.Append("<b>");
                sb.Append(korObj.Ime);
                sb.Append("</b>");
                sb.Append(" | ");
            }
            sb.Append("</span>");

            sb.Append("<span id=\"KorisnikPrezime\">");
            if (String.IsNullOrEmpty(korObj.Prezime))
            {
                sb.Append("<a href=\"#\">Немате внесено презиме.</a>");
            }
            else
            {
                sb.Append("Презиме: ");
                sb.Append("<b>");
                sb.Append(korObj.Prezime);
                sb.Append("</b>");
                
            }
            sb.Append("</div>");

            sb.Append("</div>");

            return new LiteralControl(sb.ToString());
        }
 public PretplatenPredmet(PredmetNasoka predmet,Korisnik korisnik) 
 {
     this.PredmetNasoka = predmet;
     this.Korisnik = korisnik;
 }
 public Glavna()
 {
     tekovenKorisnik = new Korisnik();
     this._daliLogin = true;
 }
 public Glavna(bool daliLogin)
 {
     this._daliLogin = daliLogin;
     tekovenKorisnik = new Korisnik();
 }
        /// <summary>
        /// Formiranje na lista na korisnici
        /// </summary>
        /// <param name="korisniciLista">Lista od korisnici koja se menuva po referenca.</param>
        /// <returns>Ishod od kreiranje na lista.</returns>
        public RezultatKomanda getKorisnici(ref List<Korisnik> korisniciLista) {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

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

                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    korisniciLista = new List<Korisnik>();
                    foreach (DataRow red in dsKomanda.Tables[0].Rows)
                    {
                        korisnikNov = new Korisnik();
                        korisnikNov.UserID = BazaDB.DataRowVoString(red, "UserID");
                        korisnikNov.Lozinka = BazaDB.DataRowVoString(red, "Lozinka");
                        korisnikNov.Email = BazaDB.DataRowVoString(red, "Email");
                        korisnikNov.Ime = BazaDB.DataRowVoString(red, "Ime");
                        korisnikNov.Prezime = BazaDB.DataRowVoString(red, "Prezime");
                        korisnikNov.DodadenNa = BazaDB.DataRowVoDateTime(red, "DodadenNa");
                        korisnikNov.IzmenetNa = BazaDB.DataRowVoDateTime(red, "IzmenetNa");
                        korisnikNov.IzmenetOd = BazaDB.DataRowVoString(red, "IzmenetOd");
                        korisnikNov.KorTip_ID = BazaDB.DataRowVoString(red, "KorTip_ID");

                        korisniciLista.Add(korisnikNov);
                    }
                  
                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    //Nema nitu eden korisnik
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                    rezultat.Pricina = "Nema korisnici";
                }
                return rezultat;
            }
            catch (KonekcijaEX greskaSqlKonekcija)
            {
                throw greskaSqlKonekcija;
            }
            catch (NemaKolonaEX nemaKolonaEx)
            {
                throw nemaKolonaEx;
            }
            catch (Exception greskaKomanda)
            {
                throw new KomandaKorisiniciEX("Greska pri prikazuvanje na korisnicite!", "Greska pri izvrsuvanje na getKorisnici(ref List<Korisnik> korisniciLista) ", greskaKomanda.Message, 0);
            }

        }
        /// <summary>
        /// Proverka na aktivnost na korisnik
        /// </summary>
        /// <param name="id">ID na korisnik.</param>
        /// <param name="pass">Password na korisnik.</param>
        /// <param name="korisnikObj">Izmena na korisnik po referenca.</param>
        /// <returns>Ishod od proverkata na kroisnikot.</returns>
        public RezultatKomanda  getKorisnik(String id, String pass, ref Korisnik korisnikObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            dsKomanda = null;
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

                //Parametar za @UserId  = id
                //Input Parametar
                SqlParam = new SqlParameter("@UserID", SqlDbType.VarChar);
                SqlParam.Value = id;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @Lozinka  = pass
                //Input Parametar
                SqlParam = new SqlParameter("@Lozinka", SqlDbType.VarChar);
                SqlParam.Value = pass;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @StatusOUT   
                //Output Parametar
                SqlParam = new SqlParameter("@StatusOUT", SqlDbType.NVarChar);
                SqlParam.Direction = ParameterDirection.Output;
                SqlParam.Value = "OUTPUT";
                SqlParam.Size = 50;
                parametriKomanda.AddLast(SqlParam);
                
                
                dsKomanda = BazaDB.GetDataSet(parametriKomanda.ToArray(), "sp_PodigniKorisnikLogin", sqlCn: null);
                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    DataRow red = dsKomanda.Tables[0].Rows[0];
                    korisnikObj = new Korisnik();
                    korisnikObj.UserID = BazaDB.DataRowVoString(red, "UserID");
                    korisnikObj.Lozinka = BazaDB.DataRowVoString(red, "Lozinka");
                    korisnikObj.Email = BazaDB.DataRowVoString(red, "Email");
                    korisnikObj.Ime = BazaDB.DataRowVoString(red, "Ime");
                    korisnikObj.Prezime = BazaDB.DataRowVoString(red, "Prezime");
                    korisnikObj.DodadenNa = BazaDB.DataRowVoDateTime(red, "DodadenNa");
                    korisnikObj.IzmenetNa = BazaDB.DataRowVoDateTime(red, "IzmenetNa");
                    korisnikObj.IzmenetOd = BazaDB.DataRowVoString(red, "IzmenetOd");
                    korisnikObj.KorTip_ID = BazaDB.DataRowVoString(red, "KorTip_ID");
                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh ;
                }
                else
                {
                    string pricina = parametriKomanda.Last.Value.Value.ToString();
                    if (pricina.ToUpper() == "NEAKTIVEN")
                    {
                        //Korisnikot ne e aktiven
                        rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                        rezultat.Pricina = "Korisnikot ne e aktiven";

                    }
                    else if (pricina.ToUpper() == "GRESEN")
                    {
                        //Pogreseni podatoci 
                        rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                        rezultat.Pricina = "Pogresno korisnicko ime ili lozinka";
                    }
                }
                return rezultat;
            }
            catch (KonekcijaEX greskaSqlKonekcija)
            {
                throw greskaSqlKonekcija;
            }
            catch (NemaKolonaEX nemaKolonaEx)
            {
                throw nemaKolonaEx;
            }
            catch (Exception greskaKomanda)
            {
                throw new KomandaKorisiniciEX("Sistemot momentalno ima problemi", "Greska pri izvrzuvanje na getKorisnik ", greskaKomanda.Message, 0);
            }

        }
        /// <summary>
        /// Ureduvanje na korisnik vo baza.
        /// </summary>
        /// <param name="korisnikObj">Korisnik koj treba da se uredi.</param>
        /// <returns>Ishod za ureden korisnik</returns>
        public RezultatKomanda updateKorisnik(Korisnik  korisnikObj) 
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);
            dsKomanda = null;
            try
            {
                parametriKomanda = new LinkedList<SqlParameter>();

                parametriKomanda.Clear();

                //Parametar za @UserId  = id
                //Input Parametar
                SqlParam = new SqlParameter("@UserID", SqlDbType.VarChar);
                SqlParam.Value = korisnikObj.UserID;
                parametriKomanda.AddLast(SqlParam);

                ////Parametar za @Lozinka  = pass
                //Input Parametar
                SqlParam = new SqlParameter("@Lozinka", SqlDbType.VarChar);
                SqlParam.Value = korisnikObj.Lozinka;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @Email  = email
                //Input Parametar
                SqlParam = new SqlParameter("@Email", SqlDbType.VarChar);
                SqlParam.Value = korisnikObj.Email;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @Ime  = ime
                //Input Parametar
                SqlParam = new SqlParameter("@Ime", SqlDbType.NVarChar);
                SqlParam.Value = korisnikObj.Ime;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @Prezime  = Prezime
                //Input Parametar
                SqlParam = new SqlParameter("@Prezime", SqlDbType.NVarChar);
                SqlParam.Value = korisnikObj.Prezime;
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @Aktiven  = D
                //Input Parametar
                SqlParam = new SqlParameter("@Aktiven", SqlDbType.Char);
                SqlParam.Value = 'D';
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @KorTipID  = po default e student
                //Input Parametar
                SqlParam = new SqlParameter("@KorTipID", SqlDbType.VarChar);
                SqlParam.Value = "student";
                parametriKomanda.AddLast(SqlParam);

                //Parametar za @StatusOUT   
                //Output Parametar
                //SqlParam = new SqlParameter("@StatusOUT", SqlDbType.NVarChar);
                //SqlParam.Direction = ParameterDirection.Output;
                //SqlParam.Value = "OUTPUT";
                //SqlParam.Size = 50;
                //parametriKomanda.AddLast(SqlParam);


                BazaDB.ExecuteScalar(parametriKomanda.ToArray(), "sp_ZacuvajIzmeniKorisnik", sqlCn: null);
                string pricina = parametriKomanda.Last.Value.Value.ToString();


                if (pricina.ToUpper() == "POSTOI")
                {
                    //Korisnikot veke postoi
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                    rezultat.Pricina = "Veke postoi takov korisnik";

                }
                else
                {
                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }

                return rezultat;
            }
            catch (KonekcijaEX greskaSqlKonekcija)
            {
                throw greskaSqlKonekcija;
            }
            catch (NemaKolonaEX nemaKolonaEx)
            {
                throw nemaKolonaEx;
            }
            catch (Exception greskaKomanda)
            {
                throw new KomandaKorisiniciEX("Momentalno ne moze da napravite nov korisnik.", "Greska pri kreiranje  na nov korisnik addKorisnik(String id, String pass, String email,String Ime,String Prezime)  ", greskaKomanda.Message, 0);
            }
        }
        LiteralControl NacrtajKorisnikPregledZaIzmena(Korisnik korObj)
        {
            StringBuilder sb = new StringBuilder();

            //if (Request.QueryString["izmeni"] != null && Request.QueryString["izmeni"] == "false")
            //{
            if (this.statusIzmena == "false")
            {
                this.smetka.Controls.Clear();
                sb.Append("<fieldset>");
                sb.Append("<legend>Податоци за сметката</legend>");
                sb.Append("Корисничко име: ");
                sb.Append("<br />");
                sb.Append("<b>");
                sb.Append(korObj.UserID);
                sb.Append("</b>");                             
                sb.Append("<br /><br />");
                sb.Append("Изменета на: ");
                sb.Append("<br />");
                sb.Append("<b>");
                sb.Append(korObj.IzmenetNa);
                sb.Append("</b>");
                sb.Append("<br /><br />");
                sb.Append("</fieldset>");
            }
            //}

            return new LiteralControl(sb.ToString());
        }
        public RezultatKomanda getKorisniciPredmet(int nasokaID, int predmetID, ref List<Korisnik> korLista)
        {

            RezultatKomanda rezultat = new RezultatKomanda(false);
            dsKomanda = null;
            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);


                dsKomanda = BazaDB.GetDataSet(parametriKomanda.ToArray(), "sp_PodigniKorisnikPredmet8", sqlCn: null);
                if (dsKomanda.Tables.Count > 0 && dsKomanda.Tables[0].Rows.Count > 0)
                {
                    korLista = new List<Korisnik>();
                    Korisnik korObj;
                    foreach (DataRow red in dsKomanda.Tables[0].Rows)
                    {
                        korObj = new Korisnik();
                        korObj.UserID = BazaDB.DataRowVoString(red, "K_UserID");
                        korObj.Ime = BazaDB.DataRowVoString(red, "K_Ime");
                        korObj.Prezime = BazaDB.DataRowVoString(red, "K_Prezime");
                        korObj.Lozinka = BazaDB.DataRowVoString(red, "K_Lozinka");
                        korObj.KorTip_ID = BazaDB.DataRowVoString(red, "K_KorTip_ID");
                        korObj.DodadenNa = BazaDB.DataRowVoDateTime(red, "K_DodadenNa");
                        korObj.AktivenChar = BazaDB.DataRowVoChar(red, "K_Aktiven");

                        korLista.Add(korObj);
                    }


                    rezultat.Rezultat = RezultatKomandaEnum.Uspeh;
                }
                else
                {
                    rezultat.Pricina = "Ne pretplateni korisnici na predmetot.";
                    rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Pricina = ex.Message;
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                return rezultat;
            }
        }
 public void nacrtajPregledZaKorisnik(Korisnik korObj)
 {
     this.profilPregled.Controls.Clear();
     this.profilPregled.Controls.Add(NacrtajKorisnikPregled(korObj));
 }
 public PretplatenPredmet()
 { 
     this._korisnik = new Korisnik();
     this._predmetNasoka = new PredmetNasoka();
 }
        public void addBrzKorisnk()
        {
           
            try
            {
                FactoryRegEx regExFactory = new FactoryRegEx();
                RegExNas proverkaUser = (RegExNas)regExFactory.Produce(ValidatorEnum.Korisnik_UserID, null);
                RegExNas proverkaLozinka = (RegExNas)regExFactory.Produce(ValidatorEnum.Korisnik_Lozinka, null);
                RegExNas proverkaEmail = (RegExNas)regExFactory.Produce(ValidatorEnum.Korisnik_Email, null);
                IKorisnikAddBrzView _viewKor = ((IKorisnikAddBrzView)_view);
                _viewKor.ClearValidacija();

                bool imaGreska = false;
                proverkaUser.Validiraj(_viewKor.UserId_Korisnik_AddBrz_Input);

                if (proverkaUser.uspeh == true)
                {
                }
                else
                {
                    _viewKor.ErrorPoraka = proverkaUser.poraka;
                    _viewKor.UserId_Korisnik_AddBrz_Validacija = proverkaUser.poraka;
                    imaGreska = true;
                }

                proverkaLozinka.Validiraj(_viewKor.Lozinka_Korisnik_AddBrz_Input);

                if (proverkaLozinka.uspeh == true)
                {
                }
                else
                {
                    _viewKor.ErrorPoraka = proverkaLozinka.poraka;
                    _viewKor.Lozinka_Korisnik_AddBrz_Validacija = proverkaLozinka.poraka;
                    imaGreska = true;
                }

                proverkaEmail.Validiraj(_viewKor.Email_Korisnik_AddBrz_Input);

                if (proverkaEmail.uspeh == true)
                {
                }
                else
                {
                    _viewKor.ErrorPoraka = proverkaEmail.poraka;
                    _viewKor.Email_Korisnik_AddBrz_Validacija = proverkaEmail.poraka;
                    imaGreska = true;
                }

                if (_viewKor.Lozinka_Korisnik_AddBrz_Input == _viewKor.Lozinka_Korisnik_AddBrz_Check_Input)
                {

                }
                else
                {
                    _viewKor.LozinkaCheck_Korisnik_AddBrz_Validacija = "Не ја внесовте истата лозинка";
                    imaGreska = true;
                }
                if (imaGreska != true)
                {
                    korObj = new Korisnik();

                    RezultatKomanda rezultat = korDb.addKorisnik(_viewKor.UserId_Korisnik_AddBrz_Input,
                                                                 _viewKor.Lozinka_Korisnik_AddBrz_Input,
                                                                 _viewKor.Email_Korisnik_AddBrz_Input);
                    if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                    {
                        //_viewKor.PorakaNovKor = "Kreiran e nov korisnik " + _viewKor.NovUserID;
                        _viewKor.InfoPoraka = "Kreiran e nov korisnik. Za da pristapite do sistemot ve molime logirajte se! ";
                        _viewKor.uspeshnoDodadenKorisnkBrz();
                    }
                    else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                    {
                        _viewKor.ErrorPoraka = rezultat.Pricina;
                    }
                    else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                    {
                        _viewKor.ErrorPoraka = "Greska pri kreiranje korisnik";
                    }
                }
            }
            catch (GlavenException ex)
            {

                throw ex;
            }
        }
        public RezultatKomanda addKorisnikPredmet(PredmetNasoka predmetNasokaObj, Korisnik korisnikObj)
        {
            RezultatKomanda rezultat = new RezultatKomanda(false);

            try
            {
                if (predmetNasokaObj != null && korisnikObj != null)
                {
                    rezultat = addKorisnikPredmet(predmetNasokaObj.NasokaID, predmetNasokaObj.PredmetID, korisnikObj.UserID);
                }
                return rezultat;
            }
            catch (Exception ex)
            {
                rezultat.Rezultat = RezultatKomandaEnum.Neuspeh;
                rezultat.Pricina = ex.Message;
                return rezultat;
            }
        }