public IHttpActionResult Delete(int id) { 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!")); } try { Models.DataBaseEntities db = new Models.DataBaseEntities(); Models.Stanowisko stanowisko = db.Stanowisko.First(s => s.Id == id); stanowisko.StanowiskoPracownika.Clear(); stanowisko.StanowiskoMiejsca.Clear(); 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 (InvalidOperationException ex) { return(Content(HttpStatusCode.NotFound, "Nie znaleziono stanowiska o id " + id)); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, "Błąd serwera")); } return(Ok()); }
public IHttpActionResult Put(Models.StanowiskoToSend 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") { return(Content(HttpStatusCode.Forbidden, "Brak uprawnień do wykonania zadania!")); } Models.Stanowisko st = null; try { Models.DataBaseEntities db = new Models.DataBaseEntities(); st = new Models.Stanowisko(); st.Nazwa = stanowisko.Nazwa; st.StanowiskoMiejsca = new List <Models.StanowiskoMiejsca>(); db.Stanowisko.Add(st); foreach (Models.StanowiskoMiejscaToSend smts in stanowisko.Miejsca) { Models.Godzina go = db.Godzina.FirstOrDefault(g => g.Poczatek == smts.Pocatek && g.Koniec == smts.Koniec && g.DzienTygodnia.Id == smts.Dzien); if (go == null) { go = new Models.Godzina(); go.Poczatek = smts.Pocatek; go.Koniec = smts.Koniec; go.DzienTygodnia = db.DzienTygodnia.First(d => d.Id == smts.Dzien % 7); db.Godzina.Add(go); } Models.StanowiskoMiejsca sm = new Models.StanowiskoMiejsca(); sm.Godzina = go; sm.Maksimum = smts.Max; sm.Minimum = smts.Min; sm.Stanowisko = st; db.StanowiskoMiejsca.Add(sm); } 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(st.Id)); }
public IHttpActionResult DodajPozycje(Models.NaStanowiskuToSend naStanowisku, int grafik) { User = System.Web.HttpContext.Current.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!")); } try { Models.DataBaseEntities db = new Models.DataBaseEntities(); Models.Grafik gr = db.Grafik.FirstOrDefault(g => g.Id == grafik); if (gr == null) { return(Content(HttpStatusCode.NotFound, "Nie znaleziono grafiku o id " + grafik)); } Models.Pracownik pracownik = db.Pracownik.FirstOrDefault(p => p.Id == naStanowisku.IdPracownika); if (pracownik == null) { return(Content(HttpStatusCode.NotFound, "Nie znaleziono pracownika o id " + naStanowisku.IdPracownika)); } Models.Stanowisko stanowisko = db.Stanowisko.FirstOrDefault(s => s.Id == naStanowisku.IdStanowiska); if (stanowisko == null) { return(Content(HttpStatusCode.NotFound, "Nie znaleziono stanowiska o id " + naStanowisku.IdStanowiska)); } Models.Czas godzina = gr.Czas.FirstOrDefault(g => g.Poczatek == naStanowisku.Poczatek && g.Koniec == naStanowisku.Koniec); if (godzina == null) { godzina = new Models.Czas(); godzina.Poczatek = naStanowisku.Poczatek; godzina.Koniec = naStanowisku.Koniec; godzina.Grafik = gr; db.Czas.Add(godzina); } else { foreach (Models.PracownikNaStanowisku pns in godzina.PracownikNaStanowisku) { if (pns.Pracownik.Id == naStanowisku.IdPracownika) { return(Content(HttpStatusCode.BadRequest, "Pracownik znajduje się już na stanowisku")); } } } Models.PracownikNaStanowisku prns = new Models.PracownikNaStanowisku(); prns.Pracownik = pracownik; prns.Stanowisko = stanowisko; prns.Czas = godzina; db.PracownikNaStanowisku.Add(prns); db.SaveChanges(); } catch (Exception ex) { return(Content(HttpStatusCode.InternalServerError, ex.ToString())); } return(Ok()); }