예제 #1
0
        public IHttpActionResult Get(int id)
        {
            Models.StanowiskoToSend stanowisko = null;

            try
            {
                Models.DataBaseEntities db = new Models.DataBaseEntities();

                stanowisko = new Models.StanowiskoToSend(db.Stanowisko.First(s => s.Id == id));
            }
            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(stanowisko));
        }
예제 #2
0
        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));
        }