public IHttpActionResult PutIntelRequest(string id, IntelRequest intelRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != intelRequest.IntelRequestID) { return(BadRequest()); } db.Entry(intelRequest).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!IntelRequestExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private void RequestHandler(byte[] data) { var request = AbathurRequest.Parser.ParseFrom(data); if (request.Intel != null) { _intelSettings = request.Intel; } foreach (var combatRequest in request.Combat) { _combatService.Execute(combatRequest); } foreach (var productionRequest in request.Production) { _productionService.Execute(productionRequest); } if (request.Raw != null) { _rawService.Execute(request.Raw); } if (_marker != null) { _marker.RunSynchronously(); } }
public IHttpActionResult DeleteIntelRequest(string id) { IntelRequest intelRequest = db.IntelRequests.Find(id); if (intelRequest == null) { return(NotFound()); } //Update status to be canceled intelRequest.IntelReqStatus = new List <IntelReqStatu> { new IntelReqStatu { IntelRequestID = intelRequest.IntelRequestID, Status = 5, // Canceled StatusDateTime = DateTime.Now } }; db.Entry(intelRequest).State = EntityState.Modified; db.SaveChanges(); return(Ok(intelRequest)); }
private IHttpActionResult UpdateIntelRequestWithCollectionPlan(string intelReqId, int?statusId, bool?isInCollectionPlan = null) { IntelRequest intelRequest = db.IntelRequests.Find(intelReqId); intelRequest.IsInCollectionPlan = isInCollectionPlan ?? intelRequest.IsInCollectionPlan; intelRequest.StatusId = statusId ?? intelRequest.StatusId; return(this.PutIntelRequest(intelReqId, intelRequest)); }
public IHttpActionResult GetIntelRequest(string id) { db.Configuration.LazyLoadingEnabled = false; IntelRequest intelRequest = db.IntelRequests.Find(id); if (intelRequest == null) { return(NotFound()); } return(Ok(intelRequest)); }
public IHttpActionResult DeleteIntelRequest(string id) { IntelRequest intelRequest = db.IntelRequests.Find(id); if (intelRequest == null) { return(NotFound()); } // TODO In future we need to check if IntelRequest is being used somewhere in missions or other objects //Update status to delete var status = db.StatusCodes.Join(db.StatusCodeTypes, sc => sc.type, st => st.id, (statuscode, type) => new { statuscode.id, type.description }).FirstOrDefault(s => s.description.Equals("all", StringComparison.OrdinalIgnoreCase)); intelRequest.StatusId = status.id; db.SaveChanges(); return(Ok(intelRequest)); }
void IModule.Initialize() { _intelSettings = new IntelRequest { Map = true, Score = true, Common = true, UpgradesSelf = true, BuildingsSelf = true, WorkersSelf = true, UnitsSelf = true, StructuresEnemy = true, UnitsEnemy = true, WorkersEnemy = true, PrimaryColony = true, Colonies = true, MineralFields = true, VespeneGeysers = true, Destructibles = true, ProductionQueue = true, Squads = true, }; _connection = new NydusWormConnection(b => RequestHandler(b)); _connection.Initialize(); Process.Start(new ProcessStartInfo { FileName = "CMD.exe", Arguments = $"/k{Command} {_connection.Port}", UseShellExecute = true }); _connection.Connect(); _connection.SendMessage(new AbathurResponse { Notification = new Notification { Type = NotificationType.Initialize } }); }
public IHttpActionResult PostIntelRequest(IntelRequest intelRequest) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (intelRequest.IntelRequestID == null || intelRequest.IntelRequestID == "0") { intelRequest.IntelRequestID = Guid.NewGuid().ToString(); } intelRequest.IntelReqStatus = new List <IntelReqStatu> { new IntelReqStatu { IntelRequestID = intelRequest.IntelRequestID, StatusDateTime = DateTime.Now, Status = (int)IntelReqStatuses.PENDING } }; db.IntelRequests.Add(intelRequest); try { db.SaveChanges(); } catch (DbUpdateException) { if (IntelRequestExists(intelRequest.IntelRequestID)) { return(Conflict()); } else { throw; } } db.Alerts.Add(new Alert { id = Guid.NewGuid().ToString(), Type = 1, //Action Item Message = "Intel Request #" + intelRequest.ReqUserFrndlyID + " Pending Review", DashboardInd = true, Complete = false, createDate = DateTime.Now, createUserId = "1", LinkTo = "/intel-request/review/" + intelRequest.IntelRequestID }); try { db.SaveChanges(); } catch (DbUpdateException) { throw; } return(CreatedAtRoute("DefaultApiPost", new { id = intelRequest.IntelRequestID }, intelRequest)); }
public IntelResponse BundleIntel(IntelRequest request) { AbathurMap map = null; if (request.Map) { map = new AbathurMap { } } ; Score score = null; if (request.Score) { score = _intel.CurrentScore; } PlayerCommon playerCommon = null; if (request.Common) { playerCommon = _intel.Common; } ICollection <UpgradeData> upgradeSelf = null; if (request.UpgradesSelf) { upgradeSelf = _intel.UpgradesSelf; } ICollection <IUnit> alliedBuilding = null; if (request.BuildingsSelf) { alliedBuilding = _intel.StructuresSelf().ToList(); } ICollection <IUnit> alliedWorkers = null; if (request.WorkersSelf) { alliedWorkers = _intel.WorkersSelf().ToList(); } ICollection <IUnit> alliedUnits = null; if (request.WorkersSelf) { alliedUnits = _intel.UnitsSelf().ToList(); } ICollection <IUnit> structuresEnemy = null; if (request.StructuresEnemy) { structuresEnemy = _intel.WorkersEnemy().ToList(); } ICollection <IUnit> unitsEnemy = null; if (request.UnitsEnemy) { unitsEnemy = _intel.WorkersEnemy().ToList(); } ICollection <IUnit> workersEnemy = null; if (request.WorkersEnemy) { workersEnemy = _intel.WorkersEnemy().ToList(); } IColony primaryColony = null; if (request.PrimaryColony) { primaryColony = _intel.PrimaryColony; } IEnumerable <IColony> colonies = null; if (request.Colonies) { colonies = _intel.Colonies; } ICollection <IUnit> mineralFields = null; if (request.MineralFields) { mineralFields = _intel.MineralFields.ToList(); } ICollection <IUnit> vespeneGeysers = null; if (request.VespeneGeysers) { vespeneGeysers = _intel.VespeneGeysers.ToList(); } ICollection <IUnit> destructibles = null; if (request.Destructibles) { destructibles = _intel.Destructibles().ToList(); } ICollection <UnitTypeData> productionQueue = null; if (request.ProductionQueue) { productionQueue = _intel.ProductionQueue.ToList(); } IEnumerable <Squad> squads = null; if (request.Squads) { squads = _squadRepo.Get(); } uint gameloop = 0; if (request.GameLoop) { gameloop = _intel.GameLoop; } return(new IntelResponse { Map = map, Score = score, Common = playerCommon, UpgradesSelf = { upgradeSelf }, BuildingsSelf = { Convert(alliedBuilding) }, WorkersSelf = { Convert(alliedWorkers) }, UnitsSelf = { Convert(alliedUnits) }, StructuresEnemy = { Convert(structuresEnemy) }, WorkersEnemy = { Convert(workersEnemy) }, UnitsEnemy = { Convert(unitsEnemy) }, PrimaryColony = Convert(primaryColony), Colonies = { Convert(colonies.ToList()) }, MineralFields = { Convert(mineralFields) }, VespeneGeysers = { Convert(vespeneGeysers) }, Destructibles = { Convert(destructibles) }, ProductionQueue = { productionQueue }, Squads = { squads.Select(Convert) }, GameLoop = gameloop }); }