示例#1
0
        public ActionResult GetPrisonerDetails(int id)
        {
            Prisoner prisoner = (from item in db.Prisoners
                                 where item.prisonerID == id
                                 select item).FirstOrDefault();


            prisonerSatyIn cell = (from item in db.prisonerSatyIns
                                   where item.prisonerid == id
                                   select item).FirstOrDefault();

            PrisonerWorkA work = (from item in db.PrisonerWorkAs
                                  where item.prisonerid == id
                                  select item).FirstOrDefault();

            prisonerDetails prisonerDetails = new prisonerDetails();

            prisonerDetails.prisoner = prisoner;

            if (cell != null)
            {
                prisonerDetails.cell = cell.prisonerCell;
            }

            if (work != null)
            {
                prisonerDetails.job = work.Job;
            }


            return(View(prisonerDetails));
        }
示例#2
0
        private void AssignACell(Prisoner prisoner)
        {
            //var maxCellID = (from item in db.prisonerCells
            //                 where item.availableCount >= 1
            //                 orderby item.prisonerCellID descending
            //                 select item.prisonerCellID).FirstOrDefault();

            //var minCellID = (from item in db.prisonerCells
            //                 where item.availableCount >= 1
            //                 orderby item.prisonerCellID ascending
            //                 select item.prisonerCellID).FirstOrDefault();

            var query = (from item in db.prisonerCells
                         where item.availableCount >= 1
                         select item.prisonerCellID).ToList();

            Random rnd = new Random();

            int randomIndex    = rnd.Next(query.Count);
            int selectedCellID = query[randomIndex];


            var selectedCell = (from item in db.prisonerCells
                                where item.prisonerCellID == selectedCellID
                                select item).FirstOrDefault();

            if (selectedCell != null)
            {
                prisonerSatyIn relation = new prisonerSatyIn();
                relation.Prisoner       = prisoner;
                relation.prisonerid     = prisoner.prisonerID;
                relation.prisonerCell   = selectedCell;
                relation.prisonerCellid = selectedCell.prisonerCellID;
                relation.since          = DateTime.Now;

                db.Entry(relation).State = EntityState.Added;
                db.SaveChanges();

                selectedCell.availableCount--;
                db.Entry(selectedCell).State = EntityState.Modified;
                db.SaveChanges();
            }
        }