示例#1
0
        public async Task <IHttpActionResult> PutMeatKind(int id, MeatKind meatKind)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

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

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#2
0
        private string CreateMeat()
        {
            this.writer.Write("Name: ");
            string name = this.reader.Read();

            this.writer.Write("Price: ");
            decimal price = decimal.Parse(this.reader.Read());

            this.writer.Write("Quantity: ");
            int quantity = int.Parse(this.reader.Read());

            this.writer.Write("Best Before(inserted date should be in format 'dd/mm/yyyy'): ");
            DateTime bestBefore = DateTime.ParseExact(this.reader.Read(), "dd/mm/yyyy", CultureInfo.InvariantCulture);

            this.writer.Write("Kind of meat: ");

            MeatKind meatKind = MeatKind.Other;

            Enum.TryParse(this.reader.Read(), true, out meatKind);

            Meat meat = new Meat(name, price, quantity, bestBefore);

            meat.Kind = meatKind;
            this.context.Products.Add(meat);
            this.context.SaveChanges();

            return("The meat has been successfully added to the database");
        }
示例#3
0
        public async Task <IHttpActionResult> GetMeatKind(int id)
        {
            MeatKind meatKind = await db.MeatKinds.FindAsync(id);

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

            return(Ok(meatKind));
        }
示例#4
0
        public async Task <IHttpActionResult> PostMeatKind(MeatKind meatKind)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.MeatKinds.Add(meatKind);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = meatKind.Id }, meatKind));
        }
示例#5
0
        public async Task <IHttpActionResult> DeleteMeatKind(int id)
        {
            MeatKind meatKind = await db.MeatKinds.FindAsync(id);

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

            db.MeatKinds.Remove(meatKind);
            await db.SaveChangesAsync();

            return(Ok(meatKind));
        }
示例#6
0
 public Meat(string name, decimal price, int quantity, DateTime bestBefore, MeatKind kind) : base(name, price, quantity, bestBefore)
 {
     this.Kind = kind;
 }