public void addPorakaPredmet()
        {
            try
            {
                FactoryRegEx regExFactory = new FactoryRegEx();
                RegExNas proverka = (RegExNas)regExFactory.Produce(ValidatorEnum.Poraka_Sodrzina, null);

                IPorakaPredmetAddView _porakaPredmetView = (IPorakaPredmetAddView)_view;

                proverka.Validiraj(_porakaPredmetView.Sodrzina_PorakaPredmet_Add_Input);
                RezultatKomanda rezultat = new RezultatKomanda(false);
                if (proverka.uspeh == true)
                {
                    rezultat = porakaDB.addPorakaPredmet(_porakaPredmetView.Predmet_ID_PorakaPredmet_Add_Input,
                                                                 _porakaPredmetView.Nasoka_ID_PorakaPredmet_Add_Input,
                                                                 _porakaPredmetView.UserID_PorakaPredmet_Add_Inpit,
                                                                 _porakaPredmetView.Sodrzina_PorakaPredmet_Add_Input,null);
                }
                else
                {
                    rezultat = porakaDB.addPorakaPredmet(_porakaPredmetView.Predmet_ID_PorakaPredmet_Add_Input,
                                                                _porakaPredmetView.Nasoka_ID_PorakaPredmet_Add_Input,
                                                                _porakaPredmetView.UserID_PorakaPredmet_Add_Inpit,
                                                                _porakaPredmetView.Sodrzina_PorakaPredmet_Add_Input,
                                                                'N');
                }
                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _porakaPredmetView.InfoPoraka = "Porakata e dodadena za predmetot ";
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _porakaPredmetView.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _porakaPredmetView.ErrorPoraka = "Greska pri kreiranje poraka za predmet";
                }

                else
                {
                    _porakaPredmetView.ErrorPoraka = proverka.poraka;
                }



            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public void getPorakiPredmet()
        {
            try
            {
                FactoryRegEx regExFactory = new FactoryRegEx();
                RegExNas proverka = (RegExNas)regExFactory.Produce(ValidatorEnum.Poraka_Sodrzina, null);

                IPorakaPredmetPregled8View _porakaPredmetView = (IPorakaPredmetPregled8View )_view;
                List<PorakaPredmet> ppList = new List<PorakaPredmet>();
                List<PorakaPredmet> ppListIzmeneta = new List<PorakaPredmet>();


                RezultatKomanda rezultat = porakaDB.getPorakiPredmet(_porakaPredmetView.Predmet_ID_PorakaPredmet_Add_Selected,
                                                                     _porakaPredmetView.Nasoka_ID_PorakaPredmet_Add_Selected, ref ppList);

                foreach (PorakaPredmet poraka in ppList)
                {
                    proverka.Validiraj(poraka.Sodrzina);
                    if (proverka.uspeh == false && proverka.IzmenetVlez != "F")
                    {
                        poraka.Sodrzina = proverka.IzmenetVlez.ToString();
                        ppListIzmeneta.Add(poraka);
                    }
                    else if (proverka.uspeh==true)
                    {
                        ppListIzmeneta.Add(poraka);
                    }
                }

                if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                {
                    _porakaPredmetView.InfoPoraka = "Izlistani se porakite za predmetot ";
                    _porakaPredmetView.nacrtajPregledPorakiZaPredmet(ppListIzmeneta);
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                {
                    _porakaPredmetView.ErrorPoraka = rezultat.Pricina;
                }
                else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                {
                    _porakaPredmetView.ErrorPoraka = "Greska pri pregled - poraki za predmet";
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public void addMaterijal()
        {
            try
            {
                FactoryRegEx regExFactory = new FactoryRegEx();
                RegExNas proverka = (RegExNas)regExFactory.Produce(ValidatorEnum.Materijal_Naslov, null);
                RegExNas proverkaOpis = (RegExNas)regExFactory.Produce(ValidatorEnum.Materijal_Opis, null);

                IMaterijalAddView _viewMat = (IMaterijalAddView)_view;
                proverka.Validiraj(_viewMat.Naslov_Materijal_Add_Input);
                proverkaOpis.Validiraj(_viewMat.Opis_Materijal_Add_Input);
                if (proverka.uspeh == true && proverkaOpis.uspeh == true)
                {
                    _viewMat.Opis_Materijal_Add_Input = proverkaOpis.IzmenetVlez.ToString();
                    RezultatKomanda rezultat = _materijalDB.addMaterijal(_viewMat.Naslov_Materijal_Add_Input, _viewMat.Opis_Materijal_Add_Input, _viewMat.DodadenOD_Materijal_Add_Input, _viewMat.Slika_Materijal_Add_Input, _viewMat.Pateka_Materijal_Add_Input,_viewMat.Type_Materijal_Add_Input);

                    if (rezultat.Rezultat == RezultatKomandaEnum.Uspeh)
                    {
                        _viewMat.InfoPoraka = "Kreiran e nov materijal ";
                    }
                    else if (rezultat.Rezultat == RezultatKomandaEnum.Neuspeh)
                    {
                        _viewMat.ErrorPoraka = rezultat.Pricina;
                    }
                    else if (rezultat.Rezultat == RezultatKomandaEnum.Greska)
                    {
                        _viewMat.ErrorPoraka = "Greska pri dodadvanje materijal";
                    }
                }
                else
                {
                    _viewMat.ErrorPoraka = proverka.poraka;
                    _viewMat.ErrorPoraka += proverkaOpis.poraka;
                }

            }
            catch (Exception ex)
            {
                //Greska vo add Materijal
                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 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;
            }
        }