Beispiel #1
0
 public ActionResult Edit(VacationDisp vacation)
 {
     if (ModelState.IsValid)
     {
         var MyVacation = db.Vacations.Find(vacation.VacationID);
         MyVacation.CopyData(vacation);
         foreach (var item in db.VacationsToSequences)
         {
             if (item.VacationID == vacation.VacationID)
             {
                 db.Entry(item).State = System.Data.Entity.EntityState.Deleted;
             }
         }
         foreach (var item in vacation.Sequences)
         {
             if (item.Selected)
             {
                 db.VacationsToSequences.Add(new VacationToSequence(vacation.VacationID, item.Id));
             }
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(vacation));
 }
Beispiel #2
0
        // GET: Vacations/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Vacation vacation = db.Vacations.Find(id);

            if (vacation == null)
            {
                return(HttpNotFound());
            }

            var Results = from s in db.Sequences
                          select new
            {
                s.SequenceID,
                s.Name,
                Selected = ((from vs in db.VacationsToSequences
                             where (vs.VacationID == id) & (vs.SequenceID == s.SequenceID)
                             select vs).Count() > 0),
                s
            };
            var MyVacationDisp = new VacationDisp();

            MyVacationDisp.VacationID = id.Value;
            MyVacationDisp.CopyData(vacation);

            var MyCheckBoxList = new List <SelectDisp>();

            foreach (var item in Results)
            {
                MyCheckBoxList.Add(new SelectDisp(item.SequenceID, item.Selected, item.s));
            }
            MyVacationDisp.Sequences = MyCheckBoxList;

            return(View(MyVacationDisp));
        }