public StudiskaPrograma Delete(Domain.Education.StudiskaPrograma domainObject)
        {
            StudiskaProgramaRepository repository = new StudiskaProgramaRepository();
            StudiskaPrograma izbrishanaStudiska = repository.Delete(domainObject);

            return izbrishanaStudiska;
        }
        public void GetByIdTest()
        {
            StudiskaProgramaRepository repository       = new StudiskaProgramaRepository();
            StudiskaPrograma           studiskaPrograma = repository.Get(1);

            Assert.AreEqual(1, studiskaPrograma.Id);
        }
        public StudiskaPrograma Update(Domain.Education.StudiskaPrograma domainObject)
        {
            StudiskaProgramaRepository manager = new StudiskaProgramaRepository();
            StudiskaPrograma siteStudiskiProgrami = manager.Update(domainObject);

            return siteStudiskiProgrami;
        }
        public StudiskaProgramaCollection GetAll()
        {
            StudiskaProgramaRepository manager = new StudiskaProgramaRepository();
            StudiskaProgramaCollection siteStudiskiProgrami = manager.GetAll();

            return siteStudiskiProgrami;
        }
        public void GetAllTest()
        {
            StudiskaProgramaRepository respository = new StudiskaProgramaRepository();
            StudiskaProgramaCollection zemi        = respository.GetAll();

            Assert.IsNotNull(zemi);

            Assert.IsTrue(zemi.Count >= 2);

            foreach (StudiskaPrograma oblast in zemi)
            {
                Console.WriteLine("СтудискаПрограмаИД: {0}, Име: {1},", oblast.Id, oblast.Ime);
            }
        }
        public void InsertTest()
        {
            StudiskaPrograma studProg = new StudiskaPrograma();
            Random           random   = new Random(DateTime.Now.Millisecond);

            studProg.Id  = random.Next(99, 9999);
            studProg.Ime = string.Format("СП{0}", Guid.NewGuid().ToString());

            StudiskaProgramaRepository repository = new StudiskaProgramaRepository();
            StudiskaPrograma           dodadete   = repository.Insert(studProg);

            Assert.IsNotNull(dodadete);
            Assert.AreEqual(studProg.Ime, dodadete.Ime);

            Console.WriteLine("Додаденa е новa студиска програма: СтудискаПрограмаИД: {0}, Име: {1}, ", dodadete.Id, dodadete.Ime);
        }
        public void UpdateTest()
        {
            StudiskaProgramaRepository repository = new StudiskaProgramaRepository();
            StudiskaProgramaCollection siteSP     = repository.GetAll();
            Random           random    = new Random(DateTime.Now.Millisecond);
            int              sPId      = random.Next(0, siteSP.Count);
            StudiskaPrograma izbranaSP = siteSP[sPId];

            Console.WriteLine("Се менуваат податоците за студиската програма ИД: {0}, Име: {1}", izbranaSP.Id, izbranaSP.Ime);

            izbranaSP.Ime = string.Format("Изменета {0}", Guid.NewGuid().ToString());

            StudiskaPrograma izmenetaSP = repository.Update(izbranaSP);

            Assert.IsNotNull(izmenetaSP);
            Assert.AreEqual(izbranaSP.Id, izmenetaSP.Id);
            Assert.AreEqual(izbranaSP.Ime, izmenetaSP.Ime);

            Console.WriteLine("Изменетите податоци за студиската програма : ИД: {0}, Име: {1}", izmenetaSP.Id, izmenetaSP.Ime);
        }
        public void InsertTest()
        {
            Random random = new Random(DateTime.Now.Millisecond);

            OrganizacijaRepository orgRep  = new OrganizacijaRepository();
            OrganizacijaCollection siteOrg = orgRep.GetAll();
            int          Org        = random.Next(0, siteOrg.Count);
            Organizacija izbranaOrg = siteOrg[Org];

            StudiskaProgramaRepository studiskaProgRep  = new StudiskaProgramaRepository();
            StudiskaProgramaCollection siteStudiskiProg = studiskaProgRep.GetAll();
            int StudProg = random.Next(0, siteStudiskiProg.Count);
            StudiskaPrograma izbranaProg = siteStudiskiProg[StudProg];

            Korisnik korisnik = new Korisnik();
            Guid     guid;

            guid = Guid.NewGuid();
            int koris = random.Next(0, 10);

            korisnik.Ime      = string.Format("И:{0}", guid.ToString().Substring(1, 16));
            korisnik.Username = string.Format("KИ:{0}", guid.ToString().Substring(1, 16));
            int    pass    = random.Next(0, 8);
            string binaren = Convert.ToString(pass, 2);

            byte[] bin = binaren.Split().Select(s => Convert.ToByte(s, 2)).ToArray();
            korisnik.PasswordOdNiza  = bin;
            korisnik.Prezime         = string.Format("П:{0}", guid.ToString().Substring(1, 16));
            korisnik.Pol             = SlucaenIzbor();
            korisnik.organizacija.Id = izbranaOrg.Id;
            korisnik.Email           = string.Format("E:{0}", guid.ToString());
            korisnik.Mobilen         = string.Format("М:{0}", guid.ToString().Substring(1, 12));
            if (koris < 5)
            {
                korisnik.Administrator       = false;
                korisnik.Student             = true;
                korisnik.Mentor              = false;
                korisnik.studiskaPrograma.Id = izbranaProg.Id;
            }
            else
            {
                korisnik.Student          = false;
                korisnik.Mentor           = true;
                korisnik.studiskaPrograma = null;
                if (koris > 8)
                {
                    korisnik.Administrator = true;
                }
                else
                {
                    korisnik.Administrator = false;
                }
            }

            KorisnikRepository repository = new KorisnikRepository();
            Korisnik           dodadete   = repository.Insert(korisnik);

            Assert.IsNotNull(dodadete);
            Assert.AreEqual(korisnik.Ime, dodadete.Ime);
            Assert.AreEqual(korisnik.Username, dodadete.Username);
            Assert.AreEqual(korisnik.PasswordOdNiza, dodadete.PasswordOdNiza);
            Assert.AreEqual(korisnik.Prezime, dodadete.Prezime);
            Assert.AreEqual(korisnik.Pol, dodadete.Pol);
            Assert.AreEqual(korisnik.organizacija.Id, dodadete.organizacija.Id);
            Assert.AreEqual(korisnik.Email, dodadete.Email);
            Assert.AreEqual(korisnik.Mobilen, dodadete.Mobilen);
            Assert.AreEqual(korisnik.Student, dodadete.Student);
            Assert.AreEqual(korisnik.Mentor, dodadete.Mentor);

            Console.WriteLine("Додаден е нов корисник: KорисникИД: {0}, Име: {1}, Корисничко име: {2}, Презиме: {3}, Пол: {4}, Студиска Програма: {5}, Организација: {6}, Еmail: {7}, Мобилен: {8}, ", dodadete.Id, dodadete.Ime, dodadete.Username, dodadete.Prezime, dodadete.Pol, dodadete.studiskaPrograma.Id, dodadete.organizacija.Id, dodadete.Email, dodadete.Mobilen);
        }
        public void UpdateTest()
        {
            KorisnikRepository repository    = new KorisnikRepository();
            KorisnikCollection siteKorisnici = repository.GetAll();
            Random             random        = new Random(DateTime.Now.Millisecond);
            int      KId            = random.Next(0, siteKorisnici.Count);
            Korisnik izbranKorisnik = siteKorisnici[KId];

            Console.WriteLine("Се менуваат податоците за  корисник:KорисникИД: {0}, Име: {1}, Корисничко име: {2}, Презиме: {3}, Пол: {4}, Студиска Програма: {5}, Организација: {6}, Еmail: {7}, Мобилен: {8}, ", izbranKorisnik.Id, izbranKorisnik.Ime, izbranKorisnik.Username, izbranKorisnik.Prezime, izbranKorisnik.Pol, izbranKorisnik.studiskaPrograma.Id, izbranKorisnik.organizacija.Id, izbranKorisnik.Email, izbranKorisnik.Mobilen);

            OrganizacijaRepository orgRep  = new OrganizacijaRepository();
            OrganizacijaCollection siteOrg = orgRep.GetAll();
            int          Org        = random.Next(0, siteOrg.Count);
            Organizacija izbranaOrg = siteOrg[Org];

            StudiskaProgramaRepository studiskaProgRep  = new StudiskaProgramaRepository();
            StudiskaProgramaCollection siteStudiskiProg = studiskaProgRep.GetAll();
            int StudProg = random.Next(0, siteStudiskiProg.Count);
            StudiskaPrograma izbranaProg = siteStudiskiProg[StudProg];

            Guid guid;

            guid = Guid.NewGuid();
            int koris = random.Next(0, 10);

            izbranKorisnik.Ime             = string.Format("New{0}", guid.ToString().Substring(1, 16));
            izbranKorisnik.Username        = string.Format("New{0}", guid.ToString().Substring(1, 16));
            izbranKorisnik.Prezime         = string.Format("New{0}", guid.ToString().Substring(1, 16));
            izbranKorisnik.Pol             = SlucaenIzbor();
            izbranKorisnik.organizacija.Id = izbranaOrg.Id;
            izbranKorisnik.Email           = string.Format("New{0}", guid.ToString());
            izbranKorisnik.Mobilen         = string.Format("New{0}", guid.ToString().Substring(1, 12));
            if (koris < 5)
            {
                izbranKorisnik.Student             = true;
                izbranKorisnik.Mentor              = false;
                izbranKorisnik.Administrator       = false;
                izbranKorisnik.studiskaPrograma.Id = izbranaProg.Id;
            }
            else
            {
                izbranKorisnik.Student          = false;
                izbranKorisnik.Mentor           = true;
                izbranKorisnik.studiskaPrograma = null;
                if (koris > 8)
                {
                    izbranKorisnik.Administrator = true;
                }
                else
                {
                    izbranKorisnik.Administrator = false;
                }
            }

            Korisnik izmenetKorisnik = repository.Update(izbranKorisnik);

            Assert.IsNotNull(izmenetKorisnik);
            Assert.AreEqual(izbranKorisnik.Id, izmenetKorisnik.Id);
            Assert.AreEqual(izbranKorisnik.Ime, izmenetKorisnik.Ime);
            Assert.AreEqual(izbranKorisnik.Username, izmenetKorisnik.Username);
            Assert.AreEqual(izbranKorisnik.Prezime, izmenetKorisnik.Prezime);
            Assert.AreEqual(izbranKorisnik.Pol, izmenetKorisnik.Pol);
            Assert.AreEqual(izbranKorisnik.Email, izmenetKorisnik.Email);
            Assert.AreEqual(izbranKorisnik.Mobilen, izmenetKorisnik.Mobilen);

            Console.WriteLine("Изменетите податоци за корисник: KорисникИД: {0}, Име: {1}, Корисничко име: {2}, Презиме: {3}, Пол: {4}, Студиска Програма: {5}, Организација: {6}, Еmail: {7}, Мобилен: {8}, ", izmenetKorisnik.Id, izmenetKorisnik.Ime, izmenetKorisnik.Username, izmenetKorisnik.Prezime, izmenetKorisnik.Pol, izmenetKorisnik.studiskaPrograma.Id, izmenetKorisnik.organizacija.Id, izmenetKorisnik.Email, izmenetKorisnik.Mobilen);
        }
 public StudiskaPrograma Get(int id)
 {
     StudiskaProgramaRepository repository = new StudiskaProgramaRepository();
     var result = repository.Get(id);
     return result;
 }