Ejemplo n.º 1
0
 public ActionResult ChangeNodeLocation(string id, ChangeLocationViewModel model)
 {
     using (var db = new DatabaseContext())
     {
         //wyszukuję odpowieni węzeł, jego starego i nowego rodzica
         Node node      = db.Nodes.Include("Parent").FirstOrDefault(x => x.Id.ToString() == id);
         Node parent    = db.Nodes.Include("Children").FirstOrDefault(x => x.Id == node.Parent.Id);
         Node newParent = db.Nodes.FirstOrDefault(x => x.Id.ToString() == model.NewParentId);
         //usuwam węzeł z listy dzieci starego rodzica
         parent.Children.Remove(node);
         //w zależności od tego czy węzeł ma być teraz korzeniem drzewa, czy ma mieć rodzica
         //odpowienio przypisuję do Parent
         if (model.NewParentId != "" && model.NewParentId != null)
         {
             node.Parent = newParent;
         }
         else
         {
             node.Parent = null;
         }
         db.SaveChanges();
         //przkierowuję do strony głównej przenoszonego węzła
         return(RedirectToAction("NodeContent", "Node", new { id = node.Id }));
     }
 }
Ejemplo n.º 2
0
        //zmiana położenia węzła
        public ActionResult ChangeNodeLocation(string id)
        {
            //jeśli nie ma id to strona nie istnieje
            if (id == "" || id == null)
            {
                return(View("Error", new string[] { "This page does not exist." }));
            }
            //zapisuję do modelu odpowienie informacje, które będą potrzebne w widoku
            ChangeLocationViewModel model = new ChangeLocationViewModel();

            using (var db = new DatabaseContext())
            {
                model.Nodes = db.Nodes.Include("Children").Include("Parent").ToList();
                model.Node  = db.Nodes.FirstOrDefault(x => x.Id.ToString() == id);
            }
            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult ChangeLocation(ChangeLocationViewModel vm)
        {
            if (vm.SelectedRoomId < 0)
            {
                ModelState.AddModelError("SelectedRoomId", "Room is required");
            }
            if (ModelState.IsValid)
            {
                var currentLocation = (from l in db.AssetLocations
                                       where l.AssetId == vm.AssetId && DateTime.Now >= l.TimeFrom && (DateTime.Now <= l.TimeTo || l.TimeTo == null)
                                       select l).FirstOrDefault();

                if (currentLocation.RoomId != vm.SelectedRoomId)
                {
                    currentLocation.TimeTo = DateTime.Now;
                    db.AssetLocations.Add(new AssetLocation
                    {
                        AssetId  = vm.AssetId,
                        RoomId   = vm.SelectedRoomId,
                        TimeFrom = DateTime.Now,
                        TimeTo   = null,
                    });
                }

                try
                {
                    db.SaveChanges();
                    return(Json(new { Success = true, Message = "Location changed successfully" }));
                }
                catch (Exception e)
                {
                    return(Json(new { Success = false, Message = "Unknown errorr" }));
                }
            }
            vm.Rooms = db.RoomDropdown();
            return(PartialView("_ChangeLocation", vm));
        }