Exemple #1
0
 public IHttpActionResult GetNaloge(int id)
 {
     if (ctx.Zaposlenici.Where(x => x.Id == id).SingleOrDefault() != null)
     {
         ZaposlenikVM zap = ctx.Zaposlenici.Where(x => x.Id == id).Select(x => new ZaposlenikVM
         {
             Email           = x.Email,
             Ime             = x.Ime,
             Prezime         = x.Prezime,
             Telefon         = x.Telefon,
             Username        = x.Username,
             Id              = x.Id,
             TipKorisnika    = x.TipKorisnika,
             Adresa          = x.Adresa,
             Plata           = x.Plata,
             Status          = x.Status,
             DatumRodjenja   = x.DatumRodjenja,
             DatumZaposlenja = x.DatumZaposlenja,
             JMBG            = x.Jmbg,
             Password        = x.Password
         }).SingleOrDefault();
         return(Ok(zap));
     }
     return(NotFound());
 }
        public ActionResult SpasiIzmjenu_Z(ZaposlenikVM Podaci)
        {
            if (!ModelState.IsValid)
            {
                Podaci.LGrad = CTX.Gradovi.ToList();
                Podaci.PocetakRadnogOdnosa = Podaci.PocetakRadnogOdnosa;
                Podaci.LSP        = CTX.StrucneSpreme.ToList();
                Podaci.LZaduzenje = CTX.Zaduzenja.ToList();

                return(View("Edituj_Z", Podaci));
            }
            Zaposlenik Izmjenuti = CTX.Zaposlenici.Where(x => x.Id == Podaci.id).Include(x => x.Osoba).FirstOrDefault();

            Izmjenuti.Osoba.Ime             = Podaci.Ime;
            Izmjenuti.Osoba.Prezime         = Podaci.Prezime;
            Izmjenuti.Osoba.Spol            = Podaci.Spol;
            Izmjenuti.Osoba.Adresa          = Podaci.Adresa;
            Izmjenuti.Osoba.BrojTelefona    = Podaci.BrojTelefona;
            Izmjenuti.PocetakRadnogOdnosa   = Podaci.PocetakRadnogOdnosa;
            Izmjenuti.ZavrsetakRadnogOdnosa = Podaci.ZavrsetakRadnogOdnosa;
            Izmjenuti.Osoba.Email           = Podaci.Email;
            Izmjenuti.Osoba.GradId          = Podaci.GradId;
            Izmjenuti.Osoba.Password        = Podaci.Password;
            Izmjenuti.Osoba.UserName        = Podaci.UserName;
            Izmjenuti.StrucnaSpremaId       = Podaci.LSPId;
            Izmjenuti.ZaduzenjeId           = Podaci.LZaduzenjeId;

            CTX.SaveChanges();

            return(JavaScript("window.location = '" + Url.Action("Index") + "'"));
        }
        public ActionResult Edituj_Z(int id)
        {
            ZaposlenikVM Model  = new ZaposlenikVM();
            Zaposlenik   Podaci = CTX.Zaposlenici.Where(x => x.Id == id).Include(x => x.Osoba).FirstOrDefault();

            Model.LGrad      = CTX.Gradovi.ToList();
            Model.LSP        = CTX.StrucneSpreme.ToList();
            Model.LZaduzenje = CTX.Zaduzenja.ToList();


            Model.Ime                   = Podaci.Osoba.Ime;
            Model.Prezime               = Podaci.Osoba.Prezime;
            Model.Spol                  = Podaci.Osoba.Spol;
            Model.Adresa                = Podaci.Osoba.Adresa;
            Model.BrojTelefona          = Podaci.Osoba.BrojTelefona;
            Model.PocetakRadnogOdnosa   = Podaci.PocetakRadnogOdnosa;
            Model.ZavrsetakRadnogOdnosa = Podaci.ZavrsetakRadnogOdnosa;
            Model.Email                 = Podaci.Osoba.Email;
            Model.GradId                = Podaci.Osoba.GradId;
            Model.Password              = Podaci.Osoba.Password;
            Model.UserName              = Podaci.Osoba.UserName;
            Model.LSPId                 = Podaci.StrucnaSpremaId;
            Model.LZaduzenjeId          = Podaci.ZaduzenjeId;


            return(View("Edituj_Z", Model));
        }
Exemple #4
0
        private void ispisi(DataGridView uPopis)
        {
            uPopis.Rows.Clear();

            sveuslugesalona = session.Query <Salonusluga>().Where(s => s.Salon.IdSalon == PocetnaForm.ID).ToList();
            var zaposlenicisalona = session.Query <Zaposlenik>().Where(z => z.Salon.IdSalon == PocetnaForm.ID).ToList();
            var zapusluga         = session.Query <Zaposlenikusluga>().ToList();

            Dictionary <int, List <ZaposlenikVM> > uslugaZaposlenici = new Dictionary <int, List <ZaposlenikVM> >();

            foreach (var usl in sveuslugesalona)
            {
                uslugaZaposlenici.Add(usl.Usluga.Idusluga, new List <ZaposlenikVM>());
                foreach (var zap in zaposlenicisalona)
                {
                    foreach (var zu in zapusluga)
                    {
                        if (zu.Zaposlenik.IdZaposlenik == zap.IdZaposlenik && zu.Usluga.Idusluga == usl.Usluga.Idusluga)
                        {
                            List <ZaposlenikVM> lista;
                            lista = uslugaZaposlenici[zu.Usluga.Idusluga];

                            ZaposlenikVM noviZap = new ZaposlenikVM();
                            noviZap.IdZaposlenik = zu.Zaposlenik.IdZaposlenik;
                            noviZap.IdSalon      = PocetnaForm.ID;
                            noviZap.Ime          = session.Query <Zaposlenik>().Where(a => a.IdZaposlenik == zu.Zaposlenik.IdZaposlenik).Select(a => a.Ime).ToList()[0].ToString();
                            noviZap.Prezime      = session.Query <Zaposlenik>().Where(a => a.IdZaposlenik == zu.Zaposlenik.IdZaposlenik).Select(a => a.Prezime).ToList()[0].ToString();
                            noviZap.Oib          = session.Query <Zaposlenik>().Where(a => a.IdZaposlenik == zu.Zaposlenik.IdZaposlenik).Select(a => a.Oib).ToList()[0].ToString();
                            lista.Add(noviZap);
                            uslugaZaposlenici[zu.Usluga.Idusluga] = lista;
                        }
                    }
                }
            }
            foreach (int idu in uslugaZaposlenici.Keys)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.CreateCells(uPopis);
                row.Cells[0].Value = idu;
                row.Cells[1].Value = session.Query <Usluga>().Where(x => x.Idusluga == idu).Select(a => a.Naziv).ToList()[0];
                row.Cells[2].Value = session.Query <Usluga>().Where(x => x.Idusluga == idu).Select(a => a.Cijena).ToList()[0];
                row.Cells[3].Value = session.Query <Usluga>().Where(x => x.Idusluga == idu).Select(a => a.Trajanje).ToList()[0];
                row.Cells[4].Value = session.Query <Usluga>().Where(x => x.Idusluga == idu).Select(a => a.Opis).ToList()[0];
                int kat = session.Query <Usluga>().Where(x => x.Idusluga == idu).Select(a => a.Kategorija.IdKategorija).ToList()[0];
                row.Cells[5].Value = session.Query <Kategorija>().Where(k => k.IdKategorija == kat).Select(k => k.NazivKategorija).ToList()[0];
                string za = "";
                foreach (var zap in uslugaZaposlenici[idu])
                {
                    za += zap.Ime + ", ";
                }
                row.Cells[6].Value = za;
                uPopis.Rows.Add(row);
            }
        }
        public ActionResult Dodaj_Z()
        {
            ZaposlenikVM Model = new ZaposlenikVM();

            Model.LGrad      = CTX.Gradovi.ToList();
            Model.LSP        = CTX.StrucneSpreme.ToList();
            Model.LZaduzenje = CTX.Zaduzenja.ToList();

            Model.PocetakRadnogOdnosa = DateTime.Now;

            return(View("Dodavanje_Z", Model));
        }
        public ActionResult Spasi_Z(ZaposlenikVM Nova_Z)
        {
            bool Pronadjeno = false;

            if (!ModelState.IsValid)
            {
                Nova_Z.LGrad = CTX.Gradovi.ToList();
                Nova_Z.PocetakRadnogOdnosa = DateTime.Now;
                Nova_Z.LSP        = CTX.StrucneSpreme.ToList();
                Nova_Z.LZaduzenje = CTX.Zaduzenja.ToList();

                return(View("Dodavanje_Z", Nova_Z));
            }
            foreach (Zaposlenik Z in CTX.Zaposlenici.Include(x => x.Osoba))
            {
                if (Z.Osoba.UserName == Nova_Z.UserName)
                {
                    Pronadjeno = true;
                }
            }

            if (Pronadjeno == false)
            {
                Zaposlenik Novi = new Zaposlenik();
                Novi.Osoba = new Osoba();

                Novi.PocetakRadnogOdnosa   = Nova_Z.PocetakRadnogOdnosa;
                Novi.ZavrsetakRadnogOdnosa = Nova_Z.ZavrsetakRadnogOdnosa;
                Novi.StrucnaSpremaId       = Nova_Z.LSPId;
                Novi.ZaduzenjeId           = Nova_Z.LZaduzenjeId;

                Novi.Osoba.Ime          = Nova_Z.Ime;
                Novi.Osoba.Prezime      = Nova_Z.Prezime;
                Novi.Osoba.Spol         = Nova_Z.Spol;
                Novi.Osoba.GradId       = Nova_Z.GradId;
                Novi.Osoba.UserName     = Nova_Z.UserName;
                Novi.Osoba.Password     = Nova_Z.Password;
                Novi.Osoba.Adresa       = Nova_Z.Adresa;
                Novi.Osoba.BrojTelefona = Nova_Z.BrojTelefona;
                Novi.Osoba.Email        = Nova_Z.Email;



                CTX.Zaposlenici.Add(Novi);
                CTX.Osobe.Add(Novi.Osoba);
                CTX.SaveChanges();
            }

            return(JavaScript("window.location = '" + Url.Action("Index") + "'"));
        }
Exemple #7
0
        // GET: Pocetna
        public ActionResult Index()
        {
            PocetnaVM pocetna = new PocetnaVM
            {
                Datum       = DateTime.Today,
                Zaposlenici = new List <ZaposlenikVM>()
            };

            List <Narudzba> narudzbe = session.Query <Narudzba>().Where(y => y.Salon.IdSalon == AktivniSalon.IdAktivniSalon).OrderBy(n => n.Vrijeme).ToList();

            narudzbe.RemoveAll(a => a.Vrijeme.Date.CompareTo(DateTime.Today) != 0);
            List <int> ids = new List <int>();

            foreach (Narudzba n in narudzbe)
            {
                if (!ids.Contains(n.Zaposlenik.IdZaposlenik))
                {
                    ids.Add(n.Zaposlenik.IdZaposlenik);
                }
            }

            foreach (int id in ids)
            {
                ZaposlenikVM zaposlenik = session.Query <Zaposlenik>().Select(z => new ZaposlenikVM()
                {
                    IdZaposlenik = z.IdZaposlenik,
                    ImePrezime   = z.Ime + " " + z.Prezime
                }).FirstOrDefault(z => z.IdZaposlenik == id);


                foreach (var n in narudzbe)
                {
                    if (n.Zaposlenik.IdZaposlenik == id)
                    {
                        zaposlenik.Narudzbe.Add(new NarudzbaVM()
                        {
                            IdNarudzba   = n.IdNarudzba,
                            Vrijeme      = n.Vrijeme,
                            IdUsluga     = n.Usluga.Idusluga,
                            IdZaposlenik = n.Zaposlenik.IdZaposlenik,
                            Klijent      = n.Klijent,
                            Kontakt      = n.Kontakt,
                            Usluga       = new UslugaVM()
                            {
                                Idusluga = n.Usluga.Idusluga,
                                Cijena   = n.Usluga.Cijena,
                                Naziv    = n.Usluga.Naziv,
                                Trajanje = n.Usluga.Trajanje
                            }
                        });
                    }
                }
                pocetna.Zaposlenici.Add(zaposlenik);
            }

            double x = pocetna.Zaposlenici.Count / 2.0;

            pocetna.Broj = (int)Math.Round(x, MidpointRounding.AwayFromZero);

            return(View(pocetna));
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Zaposlenik z = zaposlenikRepository.GetZaposlenikByID(id);

            ZaposlenikVM zaposlenik = new ZaposlenikVM()
            {
                IdZaposlenik = z.IdZaposlenik,
                Ime          = z.Ime,
                Prezime      = z.Prezime,
                ImePrezime   = z.Ime + " " + z.Prezime,
                Oib          = z.Oib,
                IdAdresa     = z.Adresa.IdAdresa,
                IdSalon      = z.Salon.IdSalon,
                IdSmjena     = z.Smjena.IdSmjena,
                Adresa       = new AdresaVM()
                {
                    IdAdresa = z.Adresa.IdAdresa,
                    Naziv    = z.Adresa.Nazivadrese,
                    IdGrad   = z.Adresa.Grad.IdGrad,
                    Grad     = new GradVM()
                    {
                        IdGrad = z.Adresa.Grad.IdGrad,
                        Naziv  = z.Adresa.Grad.NazivGrada,
                        Pbr    = z.Adresa.Grad.Pbr
                    }
                },

                Smjena = new SmjenaVM()
                {
                    IdSmjena  = z.Smjena.IdSmjena,
                    Naziv     = z.Smjena.SmjenaVal,
                    TimeEnd   = z.Smjena.TimeEnd,
                    TimeStart = z.Smjena.TimeStart
                }
            };



            var usluge = zaposlenikRepository.GetZaposlenikUsluga();

            foreach (var x in usluge)
            {
                if (x.Zaposlenik.IdZaposlenik == z.IdZaposlenik)
                {
                    zaposlenik.Usluge.Add(new UslugaVM()
                    {
                        Idusluga     = x.Usluga.Idusluga,
                        Naziv        = x.Usluga.Naziv,
                        Opis         = x.Usluga.Opis,
                        Cijena       = x.Usluga.Cijena,
                        IdKategorija = x.Usluga.Kategorija.IdKategorija,
                        Trajanje     = x.Usluga.Trajanje,
                        Kategorija   = new KategorijaVM()
                        {
                            IdKategorija = x.Usluga.Kategorija.IdKategorija,
                            Naziv        = x.Usluga.Kategorija.NazivKategorija
                        }
                    });
                }
            }


            if (zaposlenik == null)
            {
                return(HttpNotFound());
            }
            return(View(zaposlenik));
        }
        public ActionResult Create(NarudzbaVM narudzba)
        {
            if (ModelState.IsValid)
            {
                narudzba.Usluga = narudzbaRepository.GetUsluga().Select(x => new UslugaVM()
                {
                    Idusluga = x.Idusluga,
                    Naziv    = x.Naziv,
                    Trajanje = x.Trajanje,
                    Cijena   = x.Cijena
                }).FirstOrDefault(x => x.Idusluga == narudzba.IdUsluga);

                //...

                List <ZaposlenikVM> zaposlenici = new List <ZaposlenikVM>();
                foreach (var z in narudzbaRepository.GetZaposleniksQuery())
                {
                    if (z.Salon.IdSalon == AktivniSalon.IdAktivniSalon)
                    {
                        foreach (var u in z.Zaposlenikusluga)
                        {
                            if (u.Usluga.Idusluga == narudzba.IdUsluga)
                            {
                                zaposlenici.Add(new ZaposlenikVM()
                                {
                                    IdZaposlenik = z.IdZaposlenik,
                                    ImePrezime   = z.Ime + ' ' + z.Prezime,
                                    IdSmjena     = z.Smjena.IdSmjena
                                });
                            }
                        }
                    }
                }

                List <Narudzba> narudzbe = narudzbaRepository.GetNarudzba().Where(x => x.Salon.IdSalon == AktivniSalon.IdAktivniSalon).ToList();

                narudzbe.RemoveAll(x => x.Vrijeme.Date.CompareTo(narudzba.Datum.Date) != 0);
                Dictionary <int, List <DateTime> > vremena = new Dictionary <int, List <DateTime> >();


                bool     moguce;
                TimeSpan ts;
                DateTime start;
                DateTime end;

                foreach (var z in zaposlenici)
                {
                    vremena[z.IdZaposlenik] = new List <DateTime>();
                    if (z.IdSmjena == 1)
                    {
                        ts    = new TimeSpan(8, 0, 0);
                        start = narudzba.Datum.Date + ts;
                        end   = start.AddMinutes(6 * 60 - narudzba.Usluga.Trajanje);
                    }
                    else
                    {
                        ts    = new TimeSpan(14, 0, 0);
                        start = narudzba.Datum.Date + ts;
                        end   = start.AddMinutes(6 * 60 - narudzba.Usluga.Trajanje);
                    }


                    while (start <= end)
                    {
                        DateTime poc  = start;
                        DateTime kraj = start.AddMinutes(narudzba.Usluga.Trajanje);

                        moguce = true;

                        foreach (var n in narudzbe)
                        {
                            if (n.Zaposlenik.IdZaposlenik == z.IdZaposlenik)
                            {
                                DateTime s = n.Vrijeme;
                                DateTime e = n.Vrijeme.AddMinutes(n.Usluga.Trajanje);

                                if (!(DateTime.Compare(poc, s) < 0 && DateTime.Compare(kraj, s) <= 0 || DateTime.Compare(poc, e) >= 0 && DateTime.Compare(kraj, e) > 0))
                                {
                                    moguce = false;
                                }
                            }
                        }

                        if (moguce == true)
                        {
                            vremena[z.IdZaposlenik].Add(poc);
                        }


                        start = start.AddMinutes(30);
                    }
                }
                narudzba.Vremena = new List <ZaposlenikVrijemeVM>();

                int i = 1;
                foreach (var x in vremena.Keys)
                {
                    Zaposlenik   zapo = narudzbaRepository.GetZaposleniksQuery().FirstOrDefault(z => z.IdZaposlenik == x);
                    ZaposlenikVM zap  = new ZaposlenikVM()
                    {
                        IdZaposlenik = zapo.IdZaposlenik,
                        ImePrezime   = zapo.Ime + " " + zapo.Prezime
                    };

                    foreach (var y in vremena[x])
                    {
                        narudzba.Vremena.Add(new ZaposlenikVrijemeVM()
                        {
                            Id           = i,
                            Vrijeme      = y,
                            IdZaposlenik = zap.IdZaposlenik,
                            Prikaz       = y.ToShortTimeString() + " (" + zap.ImePrezime + ")"
                        });
                        i++;
                    }
                }

                narudzba.Vremena = narudzba.Vremena.OrderBy(x => x.Vrijeme).ToList();
                TempData["nar"]  = narudzba;
                if (narudzba.Vremena.Count > 0)
                {
                    return(RedirectToAction("Create2"));
                }
                else
                {
                    ViewBag.poruka = "ZA ODABRANI DATUM NEMA SLOBODNIH TERMINA. ODABERI DRUGI!";
                }
            }

            var usluge = narudzbaRepository.GetSalonUsluga().Where(x => x.Salon.IdSalon == AktivniSalon.IdAktivniSalon)
                         .Select(x => new UslugaVM()
            {
                Idusluga = x.Usluga.Idusluga,
                Naziv    = x.Usluga.Naziv
            }).ToList();

            ViewBag.idUsluga = new SelectList(usluge, "Idusluga", "Naziv");

            return(View(narudzba));
        }