public StatusViewModel GetStatusByMacAddress(string MacAddress) { var workspace = _context.Workspaces .Where(x => x.Deleted == false) .SingleOrDefault(x => x.MacAddress == MacAddress); if (workspace == null) { return(null); } if (workspace.Claimed) { if (workspace.ClaimedUntill < DateTime.Now) { workspace.Claimed = false; workspace.ClaimedUntill = DateTime.Now; _context.SaveChanges(); } } StatusViewModel localValue = new StatusViewModel(); localValue.Claimed = workspace.Claimed; localValue.ClaimedUntill = workspace.ClaimedUntill; return(localValue); }
public void getWorkspacesTest() { var option = CreateNewContextOptions(); using (var context = new BackendDBContext(option)) { Facility facility = new Facility(); facility.Name = "test"; facility.Created = DateTime.Now; facility.Modified = DateTime.Now; context.facilities.Add(facility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } LocationFacility locationFacility = new LocationFacility(); locationFacility.FacilityID = facility.ID; locationFacility.FacilityInstance = facility; locationFacility.Created = DateTime.Now; locationFacility.Modified = DateTime.Now; locationFacility.Value = "Test"; context.LocationFacilities.Add(locationFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } FloorFacility floorFacility = new FloorFacility(); floorFacility.FacilityID = facility.ID; floorFacility.FacilityInstance = facility; floorFacility.Created = DateTime.Now; floorFacility.Modified = DateTime.Now; floorFacility.Value = "Test"; context.FloorFacilities.Add(floorFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } WorkspaceFacility workspaceFacility = new WorkspaceFacility(); workspaceFacility.FacilityID = facility.ID; workspaceFacility.FacilityInstance = facility; workspaceFacility.Created = DateTime.Now; workspaceFacility.Modified = DateTime.Now; workspaceFacility.Value = "Test"; context.WorkspaceFacilities.Add(workspaceFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Location location = new Location(); location.LocationFacilities = new List <LocationFacility>(); location.LocationFacilities.Add(locationFacility); location.Name = "test"; location.Latitude = 1.10; location.Longitude = 1.10; location.OpeningHours = "test"; location.Phonenumber = "test"; location.Postcode = "test"; location.Created = DateTime.Now; location.Modified = DateTime.Now; context.Locations.Add(location); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Floor floor = new Floor(); floor.FloorFacilities = new List <FloorFacility>(); floor.FloorFacilities.Add(floorFacility); floor.Name = "test"; floor.Location = location; floor.Created = DateTime.Now; floor.Modified = DateTime.Now; context.Floors.Add(floor); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Workspace workspace = new Workspace(); workspace.WorkspaceFacilities = new List <WorkspaceFacility>(); workspace.WorkspaceFacilities.Add(workspaceFacility); workspace.Name = "test"; workspace.Floor = floor; workspace.Created = DateTime.Now; workspace.Modified = DateTime.Now; context.Workspaces.Add(workspace); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } var target = new WorkspacesController(context); var result = target.GetWorkspaces(floor.ID); int count = 1; Assert.AreEqual(count, result.Count()); } }
public void getFloorByIdTest() { var option = CreateNewContextOptions(); using (var context = new BackendDBContext(option)) { Facility facility = new Facility(); facility.Name = "test"; facility.Created = DateTime.Now; facility.Modified = DateTime.Now; context.facilities.Add(facility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } LocationFacility locationFacility = new LocationFacility(); locationFacility.FacilityID = facility.ID; locationFacility.FacilityInstance = facility; locationFacility.Created = DateTime.Now; locationFacility.Modified = DateTime.Now; locationFacility.Value = "Test"; context.LocationFacilities.Add(locationFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } FloorFacility floorFacility = new FloorFacility(); floorFacility.FacilityID = facility.ID; floorFacility.FacilityInstance = facility; floorFacility.Created = DateTime.Now; floorFacility.Modified = DateTime.Now; floorFacility.Value = "Test"; context.FloorFacilities.Add(floorFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Location location = new Location(); location.LocationFacilities = new List <LocationFacility>(); location.LocationFacilities.Add(locationFacility); location.Name = "test"; location.City = "test"; location.Address = "test"; location.Latitude = 1.10; location.Longitude = 1.10; location.OpeningHours = "test"; location.Phonenumber = "test"; location.Postcode = "test"; location.Created = DateTime.Now; location.Modified = DateTime.Now; context.Locations.Add(location); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Floor floor = new Floor(); floor.FloorFacilities = new List <FloorFacility>(); floor.FloorFacilities.Add(floorFacility); floor.Name = "test"; floor.Location = location; floor.Created = DateTime.Now; floor.Modified = DateTime.Now; context.Floors.Add(floor); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } var target = new FloorsController(context); var result = target.GetFloorById(location.ID, floor.ID); Assert.AreEqual(floor.Name, result.Name); Assert.AreEqual(location.ID, result.LocationId); Assert.AreEqual(floor.Created, result.Created); Assert.AreEqual(floor.Modified, result.Modified); } }
public void ProcessNotification(long WorkSpaceId, Boolean Claimed) { string type = ""; if (Claimed) { type = "Claimed"; } else { type = "Free"; } var Type = _context.NotificationType .Where(x => x.Deleted == false) .SingleOrDefault(x => x.Name == type); if (Type != null) { Notification notification = new Notification(); notification.WorkspaceID = WorkSpaceId; notification.Type = Type; notification.TypeID = Type.ID; notification.Created = DateTime.Now; notification.Modified = DateTime.Now; notification.Deleted = false; _context.Notifications.Add(notification); try { _context.SaveChanges(); } catch (DbUpdateException) { throw; } var result = _context.Notifications .Include(x => x.Type) .Where(x => x.WorkspaceID == WorkSpaceId && x.Deleted == false && x.TypeID == Type.ID && x.Created > DateTime.Now.AddMinutes(-15)) .ToList(); if (result.Count >= 3) { var workspace = _context.Workspaces .Where(x => x.Deleted == false) .SingleOrDefault(x => x.ID == WorkSpaceId); if (workspace != null) { if (Claimed) { workspace.Claimed = true; workspace.ClaimedUntill = DateTime.Now.AddMinutes(30); } else { workspace.Claimed = false; workspace.ClaimedUntill = DateTime.Now; } _context.SaveChanges(); } } } }
public void PostStatusByMacAddressExpiredTimeTest() { var option = CreateNewContextOptions(); using (var context = new BackendDBContext(option)) { Facility facility = new Facility(); facility.Name = "test"; facility.Created = DateTime.Now; facility.Modified = DateTime.Now; context.facilities.Add(facility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } LocationFacility locationFacility = new LocationFacility(); locationFacility.FacilityID = facility.ID; locationFacility.FacilityInstance = facility; locationFacility.Created = DateTime.Now; locationFacility.Modified = DateTime.Now; locationFacility.Value = "Test"; context.LocationFacilities.Add(locationFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } FloorFacility floorFacility = new FloorFacility(); floorFacility.FacilityID = facility.ID; floorFacility.FacilityInstance = facility; floorFacility.Created = DateTime.Now; floorFacility.Modified = DateTime.Now; floorFacility.Value = "Test"; context.FloorFacilities.Add(floorFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } WorkspaceFacility workspaceFacility = new WorkspaceFacility(); workspaceFacility.FacilityID = facility.ID; workspaceFacility.FacilityInstance = facility; workspaceFacility.Created = DateTime.Now; workspaceFacility.Modified = DateTime.Now; workspaceFacility.Value = "Test"; context.WorkspaceFacilities.Add(workspaceFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Location location = new Location(); location.LocationFacilities = new List <LocationFacility>(); location.LocationFacilities.Add(locationFacility); location.Name = "test"; location.Latitude = 1.10; location.Longitude = 1.10; location.OpeningHours = "test"; location.Phonenumber = "test"; location.Postcode = "test"; location.Created = DateTime.Now; location.Modified = DateTime.Now; context.Locations.Add(location); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Floor floor = new Floor(); floor.FloorFacilities = new List <FloorFacility>(); floor.FloorFacilities.Add(floorFacility); floor.Name = "test"; floor.Location = location; floor.Created = DateTime.Now; floor.Modified = DateTime.Now; context.Floors.Add(floor); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Workspace workspace = new Workspace(); workspace.WorkspaceFacilities = new List <WorkspaceFacility>(); workspace.WorkspaceFacilities.Add(workspaceFacility); workspace.Name = "test"; workspace.Floor = floor; workspace.MacAddress = "test"; workspace.Claimed = false; workspace.ClaimedUntill = DateTime.Now; workspace.Created = DateTime.Now; workspace.Modified = DateTime.Now; context.Workspaces.Add(workspace); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } StatusViewModel statusViewModel = new StatusViewModel(); statusViewModel.Claimed = true; statusViewModel.ClaimedUntill = DateTime.Now.AddHours(-1.0); var target = new WorkspaceunitsController(context); var result = target.PostStatusByMacAddress(workspace.MacAddress, statusViewModel); Assert.AreNotEqual(workspace.Claimed, statusViewModel.Claimed); } }
public void getNotificationThreeNotificationsTest() { var option = CreateNewContextOptions(); using (var context = new BackendDBContext(option)) { Facility facility = new Facility(); facility.Name = "test"; facility.Created = DateTime.Now; facility.Modified = DateTime.Now; context.facilities.Add(facility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } LocationFacility locationFacility = new LocationFacility(); locationFacility.FacilityID = facility.ID; locationFacility.FacilityInstance = facility; locationFacility.Created = DateTime.Now; locationFacility.Modified = DateTime.Now; locationFacility.Value = "Test"; context.LocationFacilities.Add(locationFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } FloorFacility floorFacility = new FloorFacility(); floorFacility.FacilityID = facility.ID; floorFacility.FacilityInstance = facility; floorFacility.Created = DateTime.Now; floorFacility.Modified = DateTime.Now; floorFacility.Value = "Test"; context.FloorFacilities.Add(floorFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } WorkspaceFacility workspaceFacility = new WorkspaceFacility(); workspaceFacility.FacilityID = facility.ID; workspaceFacility.FacilityInstance = facility; workspaceFacility.Created = DateTime.Now; workspaceFacility.Modified = DateTime.Now; workspaceFacility.Value = "Test"; context.WorkspaceFacilities.Add(workspaceFacility); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Location location = new Location(); location.LocationFacilities = new List <LocationFacility>(); location.LocationFacilities.Add(locationFacility); location.Name = "test"; location.Latitude = 1.10; location.Longitude = 1.10; location.OpeningHours = "test"; location.Phonenumber = "test"; location.Postcode = "test"; location.Created = DateTime.Now; location.Modified = DateTime.Now; context.Locations.Add(location); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Floor floor = new Floor(); floor.FloorFacilities = new List <FloorFacility>(); floor.FloorFacilities.Add(floorFacility); floor.Name = "test"; floor.Location = location; floor.Created = DateTime.Now; floor.Modified = DateTime.Now; context.Floors.Add(floor); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } Workspace workspace = new Workspace(); workspace.WorkspaceFacilities = new List <WorkspaceFacility>(); workspace.WorkspaceFacilities.Add(workspaceFacility); workspace.Name = "test"; workspace.Floor = floor; workspace.Claimed = false; workspace.ClaimedUntill = DateTime.Now.AddHours(2.0); workspace.Created = DateTime.Now; workspace.Modified = DateTime.Now; context.Workspaces.Add(workspace); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } NotificationType notificationType = new NotificationType(); notificationType.Name = "Claimed"; notificationType.Created = DateTime.Now; notificationType.Modified = DateTime.Now; context.NotificationType.Add(notificationType); try { context.SaveChanges(); } catch (DbUpdateException) { throw; } string type = "Claimed"; var Type = context.NotificationType .Where(x => x.Deleted == false) .SingleOrDefault(x => x.Name == type); var target = new NotificationsController(context); target.ProcessNotification(workspace.ID, true); target.ProcessNotification(workspace.ID, true); target.ProcessNotification(workspace.ID, true); var result = context.Notifications .Include(x => x.Type) .Where(x => x.WorkspaceID == workspace.ID && x.Deleted == false && x.TypeID == Type.ID && x.Created > DateTime.Now.AddMinutes(-15)) .ToList(); int count = 3; Assert.AreEqual(count, result.Count()); var target2 = new WorkspaceunitsController(context); var result2 = target2.GetStatusByMacAddress(workspace.MacAddress); Assert.AreEqual(result2.Claimed, true); } }