public async Task <bool> MoveItem(MovementItem item, int locationId) { item.UpdatedDate = DateTime.Now; item.IsMoved = true; _context.Entry(item).State = EntityState.Modified; MovementLog log = new MovementLog { AssetID = item.AssetID, LocationID = locationId, MovedBy = User.Identity.Name, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now }; _context.MovementLog.Add(log); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MovementItemExists(item.ID)) { return(false); } else { throw; } } return(true); }
public void MovementLogEmptyTest() { var movementLog = new MovementLog(2); var localServer = EnvironmentGlobal.CreateGameServer("MovementLogTests"); movementLog.Update(localServer.RefreshGameSession()); Assert.IsTrue(movementLog.GetHistoryForCelestialObject(100).Count == 0); }
public static void DrawSpaceShipMovement(Graphics graphics, GameSession gameSession, SortedDictionary <int, GranularObjectInformation> turnMapInformation, int turnStep, MovementLog history, ScreenParameters screenParameters) { foreach (var celestialObject in gameSession.SpaceMap.CelestialObjects.Where(o => screenParameters.PointInVisibleScreen(o.PositionX, o.PositionY))) { var historyMovement = history.GetHistoryForCelestialObject(celestialObject.Id); var granularTurnPositions = turnMapInformation.Values.Where(o => o.Id == celestialObject.Id); DrawTrajectory(graphics, celestialObject, historyMovement, turnMapInformation, turnStep, Color.FromArgb(200, 200, 44), screenParameters); } }
public void UpdateTest() { var movementLog = new MovementLog(4); var localServer = EnvironmentGlobal.CreateGameServer("MovementLogTests"); movementLog.Update(localServer.RefreshGameSession()); Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 2); Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[0].Coordinates, new PointF(8000, 10000)); Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[1].Coordinates, new PointF(10000, 10000)); localServer.TurnCalculation(); movementLog.Update(localServer.RefreshGameSession()); Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 3); Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[0].Coordinates, new PointF(8000, 10000)); Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[1].Coordinates, new PointF(10000, 10000)); Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[2].Coordinates, new PointF(10005, 10000)); localServer.TurnCalculation(); movementLog.Update(localServer.RefreshGameSession()); Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 4); localServer.TurnCalculation(); movementLog.Update(localServer.RefreshGameSession()); Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 4); //Assert.IsTrue(MovementLog.); }
public Sequence Move(MovementLog log) { var sequence = DOTween.Sequence(); if (!entities.TryGetValue(log.Entity, out var entityGO)) { Debug.LogWarning(Warnings.EntityNotPresent(log.Entity)); return(sequence); } var oldPosition = entityGO.transform.position; var newPosition = tilemap.GetCellCenterWorld(log.To.ToCell()); sequence.Append(entityGO.transform .DOMove(newPosition, movementDuration) .SetEase(movementEase)); var direction = newPosition - oldPosition; entityGO.transform.rotation = Quaternion.LookRotation(direction, Vector3.up); return(sequence); }
public ActionResult LogMovement(string DeviceAddress, int Axis) { MovementLog ins = new MovementLog(); ins.AxisId = Axis; //...Check if DeviceAddress is in Database ins.DeviceId = logRep.GetDeviceId(DeviceAddress); if (ins.DeviceId != -1) { //...Check if Device is Connected to Animal ins.AnimalId = logRep.GetAnimalId(ins.DeviceId); if (ins.AnimalId != -1) { //...Log Proximity if (logRep.LogMovement(ins)) { return(Content(CommonStrings.Success, "text/html")); } else { return(Content(CommonStrings.Error_DBFail, "text/html")); } } else { return(Content(CommonStrings.Error_AnimalNotConnectedToDevice, "text/html")); } } else { return(Content(CommonStrings.Error_Invaild_DeviceAddress, "text/html")); } return(Content(CommonStrings.Error, "text/html")); }
public JsonResult LogMovement(string DeviceAddress, int Axis, DateTime ModifiedDate) { MovementLog ins = new MovementLog(); ins.AxisId = Axis; ins.LogDate = ModifiedDate; //...Check if DeviceAddress is in Database ins.DeviceId = logRep.GetDeviceId(DeviceAddress); if (ins.DeviceId != -1) { //...Check if Device is Connected to Animal ins.AnimalId = logRep.GetAnimalId(ins.DeviceId); if (ins.AnimalId != -1) { //...Log Proximity if (logRep.LogMovement(ins)) { return(Json(CommonStrings.Success, JsonRequestBehavior.AllowGet)); } else { return(Json(CommonStrings.Error_DBFail, JsonRequestBehavior.AllowGet)); } } else { return(Json(CommonStrings.Error_AnimalNotConnectedToDevice, JsonRequestBehavior.AllowGet)); } } else { return(Json(CommonStrings.Error_Invaild_DeviceAddress, JsonRequestBehavior.AllowGet)); } return(Json(CommonStrings.Error, JsonRequestBehavior.AllowGet)); }