public ActionResult Laboratory(itmmLaboratory model, int[] room)
        {
            Laboratory f = new Laboratory();

            f.LaboratoryName    = model.labname;
            f.LaboratoryDesc    = model.labdesc;
            f.LaboratoryContact = model.labcontact;
            f.inactive          = 0;
            con.AddToLaboratories(f);
            con.SaveChanges();

            if (room != null)
            {
                foreach (var Room in room)
                {
                    Laboratory_Room a = new Laboratory_Room();
                    a.LaboratoryId = f.LaboratoryId;
                    var x = (from y in con.Rooms
                             where y.RoomId == Room
                             select y.RoomId).FirstOrDefault();
                    a.RoomId = x;

                    con.AddToLaboratory_Room(a);
                    con.SaveChanges();
                }
            }

            return(RedirectToAction("Laboratory", "AdminBold"));
        }
        public ActionResult EditLaboratory(int LabId)
        {
            var x = (from y in con.Laboratories
                     where y.LaboratoryId == LabId
                     select y).FirstOrDefault();

            var labroom1 = from y in con.Laboratory_Room
                           where y.LaboratoryId == LabId
                           select y;

            ViewBag.Room = labroom1;
            var labroom2 = from y in con.Laboratory_Room
                           select y;
            var room = from y in con.Rooms
                       select y;
            List <Room> AvailRoom = new List <Room>();

            foreach (var _room in room)
            {
                int flag = 0;
                foreach (var _labroom2 in labroom2)
                {
                    if (flag == 0)
                    {
                        if (_room.RoomId == _labroom2.RoomId)
                        {
                            flag = 1;
                        }
                    }
                }
                if (flag == 0)
                {
                    AvailRoom.Add(_room);
                }
            }
            ViewBag.AvailRoom = AvailRoom;

            itmmLaboratory z = new itmmLaboratory();

            z.labid      = x.LaboratoryId;
            z.labname    = x.LaboratoryName;
            z.labdesc    = x.LaboratoryDesc;
            z.labcontact = x.LaboratoryContact;

            return(View(z));
        }
        public ActionResult EditLaboratory(itmmLaboratory model, int[] room)
        {
            // get lab object
            var x = (from y in con.Laboratories
                     where y.LaboratoryId == model.labid
                     select y).FirstOrDefault();

            // get all rooms linked to the lab
            var z = from y in con.Laboratory_Room
                    where y.LaboratoryId == model.labid
                    select y;

            x.LaboratoryName    = model.labname;
            x.LaboratoryDesc    = model.labdesc;
            x.LaboratoryContact = model.labcontact;

            foreach (var _z in z)
            {
                con.DeleteObject(_z);
            }
            try
            {
                foreach (var _room in room)
                {
                    Laboratory_Room a = new Laboratory_Room();

                    var c = (from y in con.Rooms
                             where y.RoomId == _room
                             select y.RoomId).FirstOrDefault();
                    a.RoomId       = c;
                    a.LaboratoryId = model.labid;

                    con.AddToLaboratory_Room(a);
                }
            }
            catch (Exception) { }

            con.SaveChanges();

            return(RedirectToAction("Laboratory", "AdminBold"));
        }