//saves new location on device to database public IActionResult EditLocation(EditDeviceModel data) { //initializing DB managers DBManagerDevice dbManager = new DBManagerDevice(configuration); DBManagerShared shared = new DBManagerShared(configuration); data.Device.ChangedBy = HttpContext.Session.GetString("uniLogin"); //prep data for database string[] splittedRoom = data.Room.Split('.'); string[] splittedShelf = data.Shelf.Split('.'); //set data models BuildingModel building = new BuildingModel(splittedRoom[0], Convert.ToByte(splittedRoom[1])); StorageLocationModel storageLocation = new StorageLocationModel(splittedShelf[0], Convert.ToByte(splittedShelf[1]), Convert.ToByte(splittedShelf[2]), building); data.Device.Location = storageLocation; data.Device.Notes = "Placering redigeret"; //send data to database data = dbManager.EditDeviceLocation(data); List <DeviceModel> logs = dbManager.GetDeviceLogs(data.Device.DeviceID); data.Logs = logs; //save Device name & other important things //send data to database int success = dbManager.EditDevice(data); int modelID = shared.GetModelID(data.Device.Model.ModelName); //check if image exists string filename = $"Capture_{modelID}.png"; string imagepath = (string)AppDomain.CurrentDomain.GetData("webRootPath") + "\\DeviceContent\\" + filename; if (System.IO.File.Exists(imagepath)) { data.ImagePath = filename; } //set message to be shown in view if (success > 0) { ViewBag.Location = "Placering Gemt"; } else { ViewBag.Location = "Placering ikke Gemt"; } return(View("EditView", data)); }
//saves all edits on device to database public IActionResult EditDevice(EditDeviceModel data) { //initializing DB managers DBManagerDevice dbManager = new DBManagerDevice(configuration); EditDeviceModel storagelocation = dbManager.GetStorageLocations(null); //check categories bool Category_validated = checkUserInput(data.Categories, data.Device.Model.Category.Category); //check modelNames bool ModelName_validated = checkUserInput(data.ModelNames, data.Device.Model.ModelName); //check BuildingNames bool Building_validated = checkUserInput(storagelocation.Rooms, data.Room); //check RoomNames bool Room_validated = checkUserInput(storagelocation.Shelfs, data.Shelf); if (Category_validated && ModelName_validated && Building_validated && Room_validated) { Debug.WriteLine("success"); } else { //set view bags if (!Category_validated) { ViewBag.Error = "indtast en gyldig kategori"; } else if (!ModelName_validated) { ViewBag.Error = "indtast et gyldigt model navn"; } else if (!Building_validated) { ViewBag.LocationError = "indtast en gyldig lokation"; } else if (!Room_validated) { ViewBag.LocationError = "indtast en gyldig hylde"; } return(View("EditView", data)); } data.Device.ChangedBy = HttpContext.Session.GetString("uniLogin"); data.Device.Notes = "Enhed redigeret"; #region saving new location //prep data for database string[] splittedRoom = data.Room.Split('.'); string[] splittedShelf = data.Shelf.Split('.'); //set data models BuildingModel building = new BuildingModel(splittedRoom[0], Convert.ToByte(splittedRoom[1])); StorageLocationModel storageLocation = new StorageLocationModel(splittedShelf[0], Convert.ToByte(splittedShelf[1]), Convert.ToByte(splittedShelf[2]), building); data.Device.Location = storageLocation; //data.Device.Notes = "Placering redigeret"; //send data to database data = dbManager.EditDeviceLocation(data); #endregion //get the logs again List <DeviceModel> logs = dbManager.GetDeviceLogs(data.Device.DeviceID); data.Logs = logs; //send data to database int success = dbManager.EditDevice(data); //set message to be shown in view if (success > 0) { ViewBag.edit = "Enhed Gemt"; } else { ViewBag.edit = "Enhed ikke Gemt"; } return(View("EditView", data)); }