public ObjectVsObjectDO(ObjectScore objScore, string tourId, string tourType, int tourNumber) { _objScore = objScore; _tourType = tourType; TourIdentfier = tourId; _tourNumber = tourNumber; KillsOf = _objScore.KillsOf; KillsIn = _objScore.KillsIn; KilledBy = _objScore.KilledBy; DiedIn = _objScore.DiedIn; }
/// <summary> /// </summary> /// <param name="squad"></param> /// <param name="tourNumber"></param> /// <param name="reloadPilotsRequired"></param> /// <returns></returns> public AcesHighPilotStats BuildSquadStatsObject(Squad squad, int tourNumber, ref bool reloadPilotsRequired) { var tourIdentifier = ""; var tourType = ""; var tourStats = new Dictionary <string, ObjectScore>(); // FOR EACH PILOT IN SQUAD foreach (var squadMember in squad.Members.Where(member => Registry.PilotStatsContains(member.PilotName))) { // get pilot's registry. var pilotReg = Registry.GetPilotStats(squadMember.PilotName); // If Pilot wasnt in this sqaud for this tour, dont count their data if (!squad.WasPilotInSquadForThisTour(tourNumber, squadMember)) { continue; } // FOR EACH MODEL foreach (var objVsObj in pilotReg.ObjVsObjCompleteList.Where(objVsObj => objVsObj.TourNumber == tourNumber)) { if (tourIdentifier == "") { tourIdentifier = objVsObj.TourIdentfier; } if (tourType == "") { tourType = objVsObj.TourType; } if (!tourStats.ContainsKey(objVsObj.Model)) { // doesnt exist yet? create new one and add. var thisObjvObj = new ObjectScore { Model = objVsObj.Model, KilledBy = objVsObj.KilledBy, KillsIn = objVsObj.KillsIn, KillsOf = objVsObj.KillsOf, DiedIn = objVsObj.DiedIn }; if (objVsObj.DiedIn == null) { reloadPilotsRequired = true; } tourStats.Add(thisObjvObj.Model, thisObjvObj); } else { // get existing objects reference and add to it. var thisObjvObj = tourStats[objVsObj.Model]; thisObjvObj.KilledBy += objVsObj.KilledBy; thisObjvObj.KillsIn += objVsObj.KillsIn; thisObjvObj.KillsOf += objVsObj.KillsOf; thisObjvObj.DiedIn += objVsObj.DiedIn; if (objVsObj.DiedIn == null) { reloadPilotsRequired = true; } } } } var squadStatsObj = new AcesHighPilotStats(); Utility.ConstructAcesHighPilotStatsInnerObjects(ref squadStatsObj, tourStats.Count); squadStatsObj.GameId = squad.SquadName; squadStatsObj.TourId = tourNumber.ToString(); squadStatsObj.TourType = tourType; squadStatsObj.TourDetails = tourIdentifier; // copy the list content to bounded sized array. var i = 0; foreach (var obj in tourStats.Values) { squadStatsObj.VsObjects.ObjectScore[i++] = obj; } return(squadStatsObj); }
public async Task AddScore(ObjectScore objectScore) { await _context.ObjectScores.AddAsync(objectScore); await _context.SaveChangesAsync(); }
public async Task <IActionResult> CreateScore([FromBody] ObjectScore objectScore) { await _service.AddScore(objectScore); return(Ok()); }