Esempio n. 1
0
        public IHttpActionResult StanowiskoDelete(int pracownik, int stanowisko)
        {
            User = System.Web.HttpContext.Current.User;
            int user;

            int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

            ((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin");
            if (((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin").Value == "false" &&
                user != pracownik)
            {
                return(Content(HttpStatusCode.Forbidden, "Brak uprawnień do wykonania zadania!"));
            }

            List <Models.StanowiskoPracownikaToSend> stanowiska = new List <Models.StanowiskoPracownikaToSend>();

            try
            {
                Models.DataBaseEntities     db = new Models.DataBaseEntities();
                Models.StanowiskoPracownika sp = db.StanowiskoPracownika.First(s => s.Pracownik.Id == pracownik && s.Stanowisko.Id == stanowisko);

                db.StanowiskoPracownika.Remove(sp);
            }
            catch (InvalidOperationException ex)
            {
                return(Content(HttpStatusCode.NotFound, "Nie znaleziono pracownika o id" + pracownik + " pracującego na stanowisku o id" + stanowisko));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Błąd serwera"));
            }

            return(Ok(stanowiska));
        }
Esempio n. 2
0
        public IHttpActionResult StanowiskoAdd(int pracownik, int stanowisko)
        {
            User = System.Web.HttpContext.Current.User;
            int user;

            int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

            ((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin");
            if (((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin").Value == "false" &&
                user != pracownik)
            {
                return(Content(HttpStatusCode.Forbidden, "Brak uprawnień do wykonania zadania!"));
            }

            try
            {
                Models.DataBaseEntities     db = new Models.DataBaseEntities();
                Models.StanowiskoPracownika sp = db.StanowiskoPracownika.FirstOrDefault(s => s.Pracownik.Id == pracownik && s.Stanowisko.Id == stanowisko);

                if (sp == null)
                {
                    sp           = new Models.StanowiskoPracownika();
                    sp.Pracownik = db.Pracownik.FirstOrDefault(p => p.Id == pracownik);
                    if (sp.Pracownik == null)
                    {
                        return(Content(HttpStatusCode.NotFound, "Nie znaleziono pracownika o id" + pracownik));
                    }
                    sp.Stanowisko = db.Stanowisko.FirstOrDefault(s => s.Id == stanowisko);

                    if (sp.Stanowisko == null)
                    {
                        return(Content(HttpStatusCode.NotFound, "Nie znaleziono stanowiska o id" + stanowisko));
                    }

                    db.StanowiskoPracownika.Add(sp);
                }
            }
            catch (DbEntityValidationException e)
            {
                string wiadomosc = "";
                foreach (DbValidationError er in e.EntityValidationErrors.First().ValidationErrors)
                {
                    wiadomosc += er.ErrorMessage + "\n";
                }
                return(Content(HttpStatusCode.BadRequest, wiadomosc));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Błąd serwera"));
            }

            return(Ok());
        }
Esempio n. 3
0
        public IHttpActionResult Patch(Models.PracownikToSend pracownik)
        {
            User = System.Web.HttpContext.Current.User;
            int user;

            int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

            ((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin");
            if (((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin").Value == "false" &&
                user != pracownik.Id)
            {
                return(Content(HttpStatusCode.Forbidden, "Brak uprawnień do wykonania zadania!"));
            }
            try
            {
                Models.DataBaseEntities db = new Models.DataBaseEntities();

                Models.Pracownik pr = db.Pracownik.First(p => p.Id == pracownik.Id);
                if (pracownik.Imie != null && pracownik.Imie.Length > 0)
                {
                    pr.Imie = pracownik.Imie;
                }
                if (pracownik.Nazwisko != null && pracownik.Nazwisko.Length > 0)
                {
                    pr.Nazwisko = pracownik.Nazwisko;
                }
                if (pracownik.Haslo != null && pracownik.Haslo.Length > 0)
                {
                    pr.Haslo = HashPassword(pracownik.Haslo);
                }
                if (pracownik.Email != null && pracownik.Email.Length > 0)
                {
                    pr.Email = pracownik.Email;
                }
                if (pracownik.GodzinWUmowie != null)
                {
                    pr.GodzinWUmowie = pracownik.GodzinWUmowie;
                }
                pr.Administrator = pracownik.Administrator;

                if (pracownik.DniRobocze != null)
                {
                    db.DzienRoboczyPracownika.RemoveRange(pr.DzienRoboczyPracownika);
                    pr.DzienRoboczyPracownika.Clear();

                    foreach (Models.DzienRoboczyPracownikaToSend drpts in pracownik.DniRobocze)
                    {
                        if (drpts.poczatek >= drpts.koniec)
                        {
                            return(Content(HttpStatusCode.BadRequest, "Godzina zakończenai musi być po godzinie rozpoczęcia!"));
                        }
                        Models.DzienRoboczyPracownika drp = new Models.DzienRoboczyPracownika();
                        drp.DzienTygodnia = db.DzienTygodnia.First(d => d.Id == drpts.dzien);
                        drp.Pracownik     = pr;
                        drp.Poczatek      = drpts.poczatek;
                        drp.Koniec        = drpts.koniec;

                        db.DzienRoboczyPracownika.Add(drp);
                    }
                }

                if (pracownik.Stanowiska != null)
                {
                    db.StanowiskoPracownika.RemoveRange(pr.StanowiskoPracownika);
                    pr.StanowiskoPracownika.Clear();

                    foreach (Models.StanowiskoPracownikaToSend spts in pracownik.Stanowiska)
                    {
                        Models.StanowiskoPracownika sp = new Models.StanowiskoPracownika();
                        sp.Pracownik  = pr;
                        sp.Stanowisko = db.Stanowisko.First(s => s.Id == spts.StanowiskoId);

                        db.StanowiskoPracownika.Add(sp);
                    }
                }

                db.SaveChanges();
            }
            catch (InvalidOperationException ex)
            {
                return(Content(HttpStatusCode.NotFound, "Nie znaleziono pracownika o id " + pracownik.Id));
            }
            catch (DbEntityValidationException e)
            {
                string wiadomosc = "";
                foreach (DbValidationError er in e.EntityValidationErrors.First().ValidationErrors)
                {
                    wiadomosc += er.ErrorMessage + "\n";
                }
                return(Content(HttpStatusCode.BadRequest, wiadomosc));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Błąd serwera"));
            }


            return(Ok());
        }
Esempio n. 4
0
        public IHttpActionResult Put(Models.PracownikToSend pracownik)
        {
            User = System.Web.HttpContext.Current.User;
            int user;

            int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

            ((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin");
            if (((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Admin").Value == "false")
            {
                return(Content(HttpStatusCode.Forbidden, "Brak uprawnień do wykonania zadania!"));
            }
            Models.Pracownik pr = new Models.Pracownik();
            try
            {
                Models.DataBaseEntities db = new Models.DataBaseEntities();

                pr.Imie          = pracownik.Imie;
                pr.Nazwisko      = pracownik.Nazwisko;
                pr.Haslo         = HashPassword(pracownik.Haslo);
                pr.Administrator = false;
                pr.GodzinWUmowie = pracownik.GodzinWUmowie;
                pr.Email         = pracownik.Email;

                if (pracownik.DniRobocze != null)
                {
                    foreach (Models.DzienRoboczyPracownikaToSend drpts in pracownik.DniRobocze)
                    {
                        Models.DzienRoboczyPracownika drp = new Models.DzienRoboczyPracownika();
                        drp.DzienTygodnia = db.DzienTygodnia.First(d => d.Id == drpts.dzien);
                        drp.Pracownik     = pr;
                        drp.Poczatek      = drpts.poczatek;
                        drp.Koniec        = drpts.koniec;

                        db.DzienRoboczyPracownika.Add(drp);
                    }
                }

                if (pracownik.Stanowiska != null)
                {
                    foreach (Models.StanowiskoPracownikaToSend spts in pracownik.Stanowiska)
                    {
                        Models.StanowiskoPracownika sp = new Models.StanowiskoPracownika();
                        sp.Pracownik  = pr;
                        sp.Stanowisko = db.Stanowisko.First(s => s.Id == spts.StanowiskoId);

                        db.StanowiskoPracownika.Add(sp);
                    }
                }

                db.Pracownik.Add(pr);

                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                string wiadomosc = "";
                foreach (DbValidationError er in e.EntityValidationErrors.First().ValidationErrors)
                {
                    wiadomosc += er.ErrorMessage + "\n";
                }
                return(Content(HttpStatusCode.BadRequest, wiadomosc));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Błąd serwera"));
            }

            return(Ok(pr.Id));
        }