예제 #1
0
        public async Task <IHttpActionResult> PutBewertung(int id, Bewertung bewertung)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != bewertung.Id)
            {
                return(BadRequest());
            }

            db.Entry(bewertung).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BewertungExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #2
0
        /// <inheritdoc />
        public void AddOrChangeBewertung(Route route, Bewertung bewertung)
        {
            if (route == null)
            {
                throw new ArgumentNullException(nameof(route));
            }
            if (bewertung == null)
            {
                throw new ArgumentNullException(nameof(bewertung));
            }

            if (((bewertung.Kunde?.Id) ?? 0) == 0)
            {
                throw new InvalidOperationException("Kein Kunde zugeordnet.");
            }

            var existingBewertung = route.KundenBewertungen?.FirstOrDefault(b => bewertung.Kunde != null && b.Kunde?.Id == bewertung.Kunde?.Id);

            if (existingBewertung != null)
            {
                existingBewertung.Kommentar     = bewertung.Kommentar;
                existingBewertung.Schwierigkeit = bewertung.Schwierigkeit;
                existingBewertung.Schönheit     = bewertung.Schönheit;
            }
            else
            {
                if (route.KundenBewertungen == null)
                {
                    route.KundenBewertungen = new List <Bewertung>();
                }
                route.KundenBewertungen.Add(bewertung);
            }
        }
예제 #3
0
        public async Task <IHttpActionResult> GetBewertung(int id)
        {
            Bewertung bewertung = await db.Bewertung.FindAsync(id);

            if (bewertung == null)
            {
                return(NotFound());
            }

            return(Ok(bewertung));
        }
예제 #4
0
        public async Task <IHttpActionResult> PostBewertung(Bewertung bewertung)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Bewertung.Add(bewertung);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = bewertung.Id }, bewertung));
        }
예제 #5
0
        public async Task <IHttpActionResult> DeleteBewertung(int id)
        {
            Bewertung bewertung = await db.Bewertung.FindAsync(id);

            if (bewertung == null)
            {
                return(NotFound());
            }

            db.Bewertung.Remove(bewertung);
            await db.SaveChangesAsync();

            return(Ok(bewertung));
        }
예제 #6
0
        public ActionResult Bewerten(int id, Bewertung bewertung)
        {
            var route = _RouteRepository.Get(id);

            if (!ModelState.IsValid)
            {
                return(GetBewertungListData(id, pendingBewertung: bewertung));
            }
            else
            {
                bewertung.Kunde         = this.CurrentKunde();
                bewertung.Schwierigkeit = this.SessionData().EditingSchwierigkeit?.Current ?? bewertung.Schwierigkeit;
                _RouteRepository.AddOrChangeBewertung(route, bewertung);

                return(GetBewertungListData(id, null));
            }
        }
예제 #7
0
파일: Spiele.cs 프로젝트: DeniseAnna/Test
        public override int GetHashCode()
        {
            var hashCode = -500938468;

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(name);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(genre);

            hashCode = hashCode * -1521134295 + bewertung.GetHashCode();
            hashCode = hashCode * -1521134295 + verfuegbarkeit.GetHashCode();
            hashCode = hashCode * -1521134295 + usk.GetHashCode();
            hashCode = hashCode * -1521134295 + preis.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Name);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Genre);

            hashCode = hashCode * -1521134295 + Bewertung.GetHashCode();
            hashCode = hashCode * -1521134295 + Verfuegbarkeit.GetHashCode();
            hashCode = hashCode * -1521134295 + USK.GetHashCode();
            return(hashCode);
        }
예제 #8
0
        public PartialViewResult GetBewertungListData(int routeId, [CanBeNull] Bewertung pendingBewertung)
        {
            var route = _RouteRepository.Get(routeId);

            return(PartialView("GetBewertungListData", Tuple.Create(route, pendingBewertung)));
        }