Beispiel #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Seen,Marked,Start,End,Job,HiveModelId")] QueenModel queenModel)
        {
            if (id != queenModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(queenModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!QueenModelExists(queenModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["HiveModelId"] = new SelectList(_context.Hives, "Id", "Id", queenModel.HiveModelId);
            return(View(queenModel));
        }
Beispiel #2
0
        public async Task <IActionResult> Create([Bind("Id,Seen,Marked,Start,End,Job,HiveModelId")] QueenModel queenModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(queenModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["HiveModelId"] = new SelectList(_context.Hives, "Id", "Id", queenModel.HiveModelId);
            return(View(queenModel));
        }
Beispiel #3
0
        public async Task <IHttpActionResult> Put(int queenId, QueenModel queenModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Queen Model is not valid"));
            }

            try
            {
                using (var context = new BeeAppContext())
                {
                    var queen = await context.Beekeepers
                                .Where(x => x.ApplicationUserId == _applicationUserId)
                                .Include(x => x.Apiaries)
                                .SelectMany(x => x.Apiaries)
                                .Include(x => x.Hives)
                                .SelectMany(x => x.Hives)
                                .Include(x => x.Queens)
                                .SelectMany(x => x.Queens)
                                .Where(x => x.Id == queenId)
                                .FirstOrDefaultAsync();

                    if (queen != null)
                    {
                        queen.Name   = queenModel.Name;
                        queen.Date   = queenModel.Date;
                        queen.Breed  = queenModel.Breed;
                        queen.Colour = queenModel.Colour;
                        queen.State  = queenModel.State;
                        queen.Status = queenModel.Status;

                        // Save
                        context.SaveChanges();

                        // Return
                        return(StatusCode(HttpStatusCode.NoContent));
                    }

                    // Return
                    return(BadRequest("Queen could not be found"));
                }
            }
            catch (Exception ex)
            {
                // Return
                return(BadRequest(ex.Message));
            }
        }
Beispiel #4
0
        public async Task <IHttpActionResult> Post(int apiaryId, int hiveId, QueenModel queenModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Queen Model is not valid"));
            }

            try
            {
                using (var context = new BeeAppContext())
                {
                    if (await _ensurer.EnsureHiveBelongsToApiary(context, apiaryId, hiveId, _applicationUserId))
                    {
                        context.Queens.Add(new Queen
                        {
                            Name   = queenModel.Name,
                            Date   = queenModel.Date,
                            Breed  = queenModel.Breed,
                            Colour = queenModel.Colour,
                            State  = queenModel.State,
                            Status = queenModel.Status,
                            HiveId = hiveId
                        });

                        // Save
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            // Return
            return(Ok(queenModel));
        }