示例#1
0
        public IActionResult ExecuteCageAssign(CageAssignViewModel model)
        {
            Mouse mouse = _context.Mouse.Single(m => m.MouseID == model.MouseID);

            mouse.MouseCages = _context.MouseCage.Where(mc => mc.MouseID == mouse.MouseID).ToList();

            if (mouse.MouseCages != null)
            {
                if (mouse.MouseCages.Any(mc => mc.EndDate == null))
                {
                    Cage currentCage = _context.Cage.SingleOrDefault(c => c.CageID == _context.MouseCage.Single(mc => mc.EndDate == null && mc.MouseID == mouse.MouseID).CageID);
                    if (currentCage != null)
                    {
                        MouseCage oldMouseCage = _context.MouseCage.Single(mc => mc.MouseID == model.MouseID && mc.CageID == currentCage.CageID && mc.EndDate == null);
                        oldMouseCage.EndDate = model.Date;
                        _context.MouseCage.Update(oldMouseCage);
                        _context.SaveChanges();
                    }
                }
            }
            _context.MouseCage.Add(
                new MouseCage
            {
                CageID    = model.NewCageID,
                MouseID   = model.MouseID,
                StartDate = model.Date
            }
                );
            _context.SaveChanges();

            return(RedirectToAction("Details", "Lines", new { id = mouse.LineID }));
        }
示例#2
0
        public async Task <IActionResult> TerminateConfirmed(int id, DateTime date)
        {
            var mouse = await _context.Mouse.SingleOrDefaultAsync(m => m.MouseID == id);

            mouse.Death = date;

            MouseCage openCage = await _context.MouseCage.SingleOrDefaultAsync(mc => mc.MouseID == id && mc.EndDate == null);

            if (openCage != null)
            {
                openCage.EndDate = date;
                _context.MouseCage.Update(openCage);
            }

            _context.Mouse.Update(mouse);

            _context.MouseHealthStatus.Add(new MouseHealthStatus
            {
                MouseID        = mouse.MouseID,
                User           = await GetCurrentUserAsync(),
                HealthStatusID = _context.HealthStatus.Single(hs => hs.Name == "Terminated").HealthStatusID,
                StartDate      = date,
                EndDate        = date
            });

            await _context.SaveChangesAsync();

            return(RedirectToAction("Details", "Lines", new { id = mouse.LineID }));
        }