public IActionResult StudentskaKartica(int id)
        {
            Zahtjev z = _context.Zahtjev.Find(id);

            ZahtjevZaUpis zahtjevZaUpis = z as ZahtjevZaUpis;

            zahtjevZaUpis.PrebivalisteInfo = _context.PrebivalisteInfo.Find(zahtjevZaUpis.PrebivalisteInfoId);
            zahtjevZaUpis.SkolovanjeInfo   = _context.SkolovanjeInfo.Find(zahtjevZaUpis.SkolovanjeInfoId);
            zahtjevZaUpis.LicniPodaci      = _context.LicniPodaci.Find(zahtjevZaUpis.LicniPodaciId);

            ViewBag.Soba     = "/";
            ViewBag.Paviljon = "/";
            ViewBag.Ime      = zahtjevZaUpis.LicniPodaci.Ime;
            ViewBag.Prezime  = zahtjevZaUpis.LicniPodaci.Prezime;
            ViewBag.Slika    = zahtjevZaUpis.LicniPodaci.Slika;


            string fakultet = DajSkracenicuZaFakultet(zahtjevZaUpis.SkolovanjeInfo.Fakultet);

            ViewBag.Fakultet = fakultet;

            string kanton = DajSkracenicuZaKanton(zahtjevZaUpis.PrebivalisteInfo.Kanton);

            ViewBag.Kanton = kanton;

            ViewBag.ID = zahtjevZaUpis.SkolovanjeInfo.BrojIndeksa;


            return(View());
        }
        private string GenerisiUsernamePremaZahtjevu(ZahtjevZaUpis z)
        {
            string korijen = z.LicniPodaci.Ime.Substring(0, 1).ToLower() + z.LicniPodaci.Prezime.ToLower();

            StringBuilder builder = new StringBuilder(korijen);

            for (int i = 0; i < builder.Length; i++)
            {
                if (builder[i] == 'č' || builder[i] == 'ć')
                {
                    builder[i] = 'c';
                }
                else if (builder[i] == 'š')
                {
                    builder[i] = 's';
                }
                else if (builder[i] == 'ž')
                {
                    builder[i] = 'z';
                }
                else if (builder[i] == 'đ')
                {
                    builder[i] = 'd';
                }
            }

            korijen = builder.ToString();

            List <Student> studenti = _context.Student.ToList();


            int    k        = 1;
            string username = korijen + k;

            while (true)
            {
                bool ok = true;
                foreach (Student s in studenti)
                {
                    if (s.Username.Equals(username))
                    {
                        ok = false;
                        break;
                    }
                }

                if (ok)
                {
                    break;
                }
                else
                {
                    k++;
                    username = korijen + k;
                }
            }

            return(username);
        }
        public IActionResult PregledPodataka(int id)
        {
            ZahtjevZaUpis zahtjevZaUpis = _context.ZahtjevZaUpis.Find(id);

            zahtjevZaUpis.LicniPodaci = _context.LicniPodaci.FirstOrDefault(lp => lp.LicniPodaciId == zahtjevZaUpis.LicniPodaciId);

            ViewBag.Id       = id;
            ViewBag.Username = GenerisiUsernamePremaZahtjevu(zahtjevZaUpis);
            ViewBag.Password = ViewBag.Username + "123";

            return(View());
        }
        public IActionResult PregledUpis(int id)
        {
            Zahtjev z = _context.Zahtjev.Find(id);

            ZahtjevZaUpis zahtjevZaUpis = z as ZahtjevZaUpis;

            zahtjevZaUpis.PrebivalisteInfo = _context.PrebivalisteInfo.Find(zahtjevZaUpis.PrebivalisteInfoId);
            zahtjevZaUpis.SkolovanjeInfo   = _context.SkolovanjeInfo.Find(zahtjevZaUpis.SkolovanjeInfoId);
            zahtjevZaUpis.LicniPodaci      = _context.LicniPodaci.Find(zahtjevZaUpis.LicniPodaciId);

            ViewBag.ZahtjevZaUpis = zahtjevZaUpis;

            return(View());
        }
        public IActionResult OdbijZahtjev(int id)
        {
            ZahtjevZaUpis zaBrisanje = _context.ZahtjevZaUpis.Find(id);

            _context.Zahtjev.Remove(zaBrisanje);

            PrebivalisteInfo zaBrisanjeP = _context.PrebivalisteInfo.Find(zaBrisanje.PrebivalisteInfoId);

            _context.PrebivalisteInfo.Remove(zaBrisanjeP);

            SkolovanjeInfo zaBrisanjeS = _context.SkolovanjeInfo.Find(zaBrisanje.SkolovanjeInfoId);

            _context.SkolovanjeInfo.Remove(zaBrisanjeS);

            LicniPodaci zaBrisanjeL = _context.LicniPodaci.Find(zaBrisanje.LicniPodaciId);

            _context.LicniPodaci.Remove(zaBrisanjeL);

            _context.SaveChanges();

            return(RedirectToAction("PregledZahtjeva", "Zahtjev"));
        }
        public async Task <IActionResult> PrihvatiZahtjevZaUpis(int id)
        {
            Zahtjev z = _context.Zahtjev.Find(id);

            _context.Zahtjev.Remove(z);

            ZahtjevZaUpis zahtjevZaUpis = z as ZahtjevZaUpis;

            zahtjevZaUpis.PrebivalisteInfo = _context.PrebivalisteInfo.Find(zahtjevZaUpis.PrebivalisteInfoId);
            zahtjevZaUpis.SkolovanjeInfo   = _context.SkolovanjeInfo.Find(zahtjevZaUpis.SkolovanjeInfoId);
            zahtjevZaUpis.LicniPodaci      = _context.LicniPodaci.Find(zahtjevZaUpis.LicniPodaciId);

            Student student = new Student();

            student.Username = GenerisiUsernamePremaZahtjevu(zahtjevZaUpis);
            //student.Password = zahtjevZaUpis.LicniPodaci.Jmbg.ToString();
            student.Password = student.Username + "123";

            student.BrojRucaka = 0;
            student.BrojVecera = 0;

            student.LicniPodaci      = zahtjevZaUpis.LicniPodaci;
            student.PrebivalisteInfo = zahtjevZaUpis.PrebivalisteInfo;
            student.SkolovanjeInfo   = zahtjevZaUpis.SkolovanjeInfo;

            //student.Soba = NadjiSobu(student);

            IRaspored strategija = new RasporedKanton();

            student.Soba = strategija.RasporediStudenta(student);

            if (student.Soba == null || student.Soba.Students.Count() == 0)
            {
                strategija   = new RasporedFakultet();
                student.Soba = strategija.RasporediStudenta(student);

                if (student.Soba == null)
                {
                    student.Soba = NadjiSobu(student);
                }
                else
                {
                    List <Student> studenti = _context.Student.Where(st => st.SobaId == student.Soba.SobaId).ToList();
                    if (studenti.Count < student.Soba.Kapacitet)
                    {
                        studenti.Add(student);
                        student.Soba.Students = studenti;

                        _context.Soba.Update(student.Soba);
                    }
                }
            }
            else
            {
                List <Student> studenti = _context.Student.Where(st => st.SobaId == student.Soba.SobaId).ToList();
                if (studenti.Count < student.Soba.Kapacitet)
                {
                    studenti.Add(student);
                    student.Soba.Students = studenti;

                    _context.Soba.Update(student.Soba);
                }
            }

            var user = new IdentityUser {
                UserName = student.Username
            };
            var result = await userManager.CreateAsync(user, student.Password);

            await userManager.AddToRoleAsync(user, "Student");

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(apiUrl);
                client.DefaultRequestHeaders.Clear();

                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var json = JsonConvert.SerializeObject(student, Formatting.Indented,
                                                       new JsonSerializerSettings()
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });

                var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");

                HttpResponseMessage Res = await client.PostAsync("api/student/", stringContent);


                if (Res.IsSuccessStatusCode)
                {
                    var response = Res.Content.ReadAsStringAsync().Result;
                    Debug.WriteLine("ez");
                }
            }

            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Septembar", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Oktobar", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Novembar", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Decembar", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Januar", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Februar", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Mart", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("April", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Maj", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Juni", student.Id));
            StudentskiDomSingleton.Context.Mjesec.Add(new Mjesec("Juli", student.Id));
            StudentskiDomSingleton.Context.SaveChanges();

            return(RedirectToAction("PregledZahtjeva", "Zahtjev"));
        }
        public async Task <IActionResult> PregledZahtjevaAsync()
        {
            ICollection <Zahtjev> zahtjevi = new Collection <Zahtjev>();

            StudentskiDomSingleton studentskiDom = StudentskiDomSingleton.getInstance();
            await studentskiDom.RefreshZahtjeviAsync();

            foreach (Zahtjev z in studentskiDom.Zahtjevi)
            {
                if (z is ZahtjevZaUpis)
                {
                    ZahtjevZaUpis zahtjevZaUpis = z as ZahtjevZaUpis;

                    //zahtjevZaUpis.PrebivalisteInfo = _context.PrebivalisteInfo.Find(zahtjevZaUpis.PrebivalisteInfoId);
                    //zahtjevZaUpis.SkolovanjeInfo = _context.SkolovanjeInfo.Find(zahtjevZaUpis.SkolovanjeInfoId);
                    //zahtjevZaUpis.LicniPodaci = _context.LicniPodaci.Find(zahtjevZaUpis.LicniPodaciId);

                    zahtjevi.Add(z);
                }
                else if (z is ZahtjevZaCimeraj)
                {
                    ZahtjevZaCimeraj zahtjevZaCimeraj = z as ZahtjevZaCimeraj;

                    //zahtjevZaCimeraj.Soba = _context.Soba.Find(zahtjevZaCimeraj.SobaId);
                    //zahtjevZaCimeraj.Paviljon = _context.Paviljon.Find(zahtjevZaCimeraj.PaviljonId);
                    ////zahtjevZaCimeraj.Cimer1 = _context.Student.Find(zahtjevZaCimeraj.Cimer1Id);
                    ////zahtjevZaCimeraj.Cimer2 = _context.Student.Find(zahtjevZaCimeraj.Cimer2Id);
                    //
                    ////zahtjevZaCimeraj.Student = _context.Student.Find(zahtjevZaCimeraj.StudentId);
                    //
                    //zahtjevZaCimeraj.Cimer1 = await GetStudentAsync(zahtjevZaCimeraj.Cimer1Id);
                    //zahtjevZaCimeraj.Cimer2 = await GetStudentAsync(zahtjevZaCimeraj.Cimer2Id);
                    //
                    //zahtjevZaCimeraj.Student = await GetStudentAsync(zahtjevZaCimeraj.StudentId);
                    //
                    //zahtjevZaCimeraj.Student.LicniPodaci = _context.LicniPodaci.Find(zahtjevZaCimeraj.Student.LicniPodaciId);

                    zahtjevi.Add(z);
                }
                else if (z is ZahtjevZaPremjestanje)
                {
                    ZahtjevZaPremjestanje zahtjevZaPremjestanje = z as ZahtjevZaPremjestanje;

                    //zahtjevZaPremjestanje.Soba1 = _context.Soba.Find(zahtjevZaPremjestanje.Soba1Id);
                    //zahtjevZaPremjestanje.Soba2 = _context.Soba.Find(zahtjevZaPremjestanje.Soba2Id);
                    //
                    //zahtjevZaPremjestanje.Paviljon1 = _context.Paviljon.Find(zahtjevZaPremjestanje.Paviljon1Id);
                    //zahtjevZaPremjestanje.Paviljon2 = _context.Paviljon.Find(zahtjevZaPremjestanje.Paviljon2Id);
                    //
                    ////zahtjevZaPremjestanje.Student = _context.Student.Find(zahtjevZaPremjestanje.StudentId);
                    //zahtjevZaPremjestanje.Student= await GetStudentAsync(zahtjevZaPremjestanje.StudentId);
                    //
                    //zahtjevZaPremjestanje.Student.LicniPodaci = _context.LicniPodaci.Find(zahtjevZaPremjestanje.Student.LicniPodaciId);

                    zahtjevi.Add(zahtjevZaPremjestanje);
                }
                else if (z is ZahtjevZaNabavkuNamirnica)
                {
                    ZahtjevZaNabavkuNamirnica zahtjevZaNabavkuNamirnica = z as ZahtjevZaNabavkuNamirnica;

                    if (z.ZahtjevId == 39)
                    {
                        continue;
                    }

                    zahtjevi.Add(zahtjevZaNabavkuNamirnica);
                }
            }

            ViewBag.Zahtjevi = zahtjevi;
            ViewBag.id       = UpravaController.UpravaId;

            return(View());
        }
Example #8
0
        public ActionResult PosaljiPrijavuAction(IFormCollection forma, IFormFile file, PrijavaViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                string wwwPath     = this.Environment.WebRootPath;
                string contentPath = this.Environment.ContentRootPath;

                string path = Path.Combine(this.Environment.WebRootPath, "images");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                var extension         = Path.GetExtension(file.FileName);
                var allowedExtensions = new[] {
                    ".png", ".jpg", ".jpeg"
                };
                if (allowedExtensions.Contains(extension))
                {
                    string   prezime        = viewModel.Prezime;
                    string   ime            = viewModel.Ime;
                    long     jmbg           = viewModel.JMBG;
                    string   mjestoRodjenja = viewModel.MjestoRodjenja;
                    DateTime datumRodjenja  = StringToDateTime(forma["fldDatumRodjenja"].ToString());
                    int      mobitel        = viewModel.Mobitel;
                    string   email          = viewModel.Email;
                    string   adresa         = viewModel.Adresa;
                    string   opcina         = viewModel.Opcina;
                    int      brojIndeksa    = viewModel.Index;


                    string polValue = forma["pol"].ToString();
                    Pol    pol      = Pol.Musko;

                    Debug.WriteLine("POLLL " + polValue);
                    if (polValue.Equals("zensko"))
                    {
                        pol = Pol.Zensko;
                    }


                    string kanton = forma["dlKanton"].ToString();

                    string fakultet      = forma["dlFakultet"].ToString();
                    int    ciklusStudija = Int32.Parse(forma["dlCiklusStudija"].ToString());
                    int    godinaStudija = Int32.Parse(forma["dlGodinaStudija"].ToString());

                    string fileName = GenerisiPathSlike(prezime, ime) + extension;
                    using (FileStream stream = new FileStream(Path.Combine(path, fileName), FileMode.Create))
                    {
                        file.CopyTo(stream);
                    }


                    SkolovanjeInfo   skolovanjeInfo   = new SkolovanjeInfo(fakultet, brojIndeksa, ciklusStudija, godinaStudija);
                    PrebivalisteInfo prebivalisteInfo = new PrebivalisteInfo(adresa, kanton, opcina);
                    LicniPodaci      licniPodaci      = new LicniPodaci(prezime, ime, mjestoRodjenja, pol, email, jmbg, datumRodjenja, mobitel, fileName);

                    ZahtjevZaUpis zahtjevZaUpis = new ZahtjevZaUpis();
                    zahtjevZaUpis.LicniPodaci      = licniPodaci;
                    zahtjevZaUpis.PrebivalisteInfo = prebivalisteInfo;
                    zahtjevZaUpis.SkolovanjeInfo   = skolovanjeInfo;



                    _context.LicniPodaci.Add(licniPodaci);
                    _context.PrebivalisteInfo.Add(prebivalisteInfo);
                    _context.SkolovanjeInfo.Add(skolovanjeInfo);

                    _context.ZahtjevZaUpis.Add(zahtjevZaUpis);

                    _context.SaveChanges();
                }
                else
                {
                    ViewBag.Message = "Slika mora biti u formatu .jpg, .jpeg, .png";
                    return(RedirectToAction("ObrazacZaUpis", "Home"));
                }

                return(RedirectToAction("Login", "Home"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Pogrešno ispunjena forma.");
            }

            return(View(viewModel));
        }