Example #1
0
 public static void FillintelDataRow([NotNull] IntelData.IntelDataRow intelDataRow, [NotNull] CvaCharacterInfo cvaCharacterInfo)
 {
     intelDataRow.CharacterID     = cvaCharacterInfo.EveId;
     intelDataRow.CharacterName   = cvaCharacterInfo.Label;
     intelDataRow.CharacterKos    = cvaCharacterInfo.Kos;
     intelDataRow.CorporationName = cvaCharacterInfo.Corp.Label;
     intelDataRow.CorporationKos  = cvaCharacterInfo.Corp.Kos;
     intelDataRow.AllianceName    = cvaCharacterInfo.Corp.Alliance?.Label;
     intelDataRow.AllianceKos     = cvaCharacterInfo.Corp.Alliance?.Kos ?? false;
 }
Example #2
0
 public static EveIntelCharacterInfo GetEveIntelCharacterInfo([NotNull] IntelData.IntelDataRow intelDataRow)
 {
     return(new EveIntelCharacterInfo {
         CharacterID = intelDataRow.CharacterID,
         CharacterName = intelDataRow.CharacterName,
         CharacterKos = intelDataRow.CharacterKos,
         CorporationName = intelDataRow.CorporationName,
         CorporationKos = intelDataRow.CorporationKos,
         AllianceName = intelDataRow.AllianceName,
         AllianceKos = intelDataRow.AllianceKos,
         SolarsystemID = intelDataRow.SolarsystemID,
         SolarsystemTime = intelDataRow.SolarsystemTime,
         ShipTypeID = intelDataRow.ShipTypeID,
         ShipTypeTime = intelDataRow.ShipTypeTime,
         Notes = intelDataRow.Notes
     });
 }
Example #3
0
 private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 {
     if (_ShipCombo != null)
     {
         _ShipCombo.SelectedIndex = _ShipCombo.FindStringExact(_ShipCombo.Text);
         if (_ShipCombo.SelectedIndex != -1)
         {
             long charactedID           = (long)dataGridView[CharacterID.Index, e.RowIndex].Value;
             IntelData.IntelDataRow row = _IntelData.IntelDataTable.Single(o => o.CharacterID == charactedID);
             row.ShipTypeID   = (int?)_ShipCombo.SelectedValue;
             row.ShipTypeTime = DateTime.UtcNow;
             _IntelData.IntelDataTable.AddOrUpdate(row);
             _IntelData.SaveChanges();
             dataGridView.Refresh();
         }
     }
 }
Example #4
0
        private static EveIntelCharacterInfo[] GetEveIntelCharacterInfos(long solarsystemID, [NotNull] Dictionary <long, string> characters)
        {
            long[] characterIds = characters.Keys.ToArray();
            Dictionary <long, IntelData.IntelDataRow> result = new Dictionary <long, IntelData.IntelDataRow>();

            // try read info from local db
            IQueryable <IntelData.IntelDataRow> q = from o in _IntelData.IntelDataTable
                                                    where characterIds.Contains(o.CharacterID)
                                                    select o;
            int cached = 0;

            foreach (IntelData.IntelDataRow row in q)
            {
                result[row.CharacterID] = row;
                ++cached;
            }

            if (cached == characters.Count)
            {
                return(result.Values.Select(DataHelper.GetEveIntelCharacterInfo).ToArray());
            }

            // download infos not stored in local db and save them
            foreach (KeyValuePair <long, string> pair in characters)
            {
                if (result.ContainsKey(pair.Key))
                {
                    continue;
                }

                CvaCharacterInfo cvaCharacterInfo = CvaClient.GetCharacterInfo(pair.Key, pair.Value);
                if (cvaCharacterInfo != null)
                {
                    IntelData.IntelDataRow intelDataRow = new IntelData.IntelDataRow();
                    DataHelper.FillintelDataRow(intelDataRow, cvaCharacterInfo);
                    intelDataRow.SolarsystemID   = solarsystemID;
                    intelDataRow.SolarsystemTime = DateTime.Now;
                    _IntelData.IntelDataTable.Add(intelDataRow);
                    result.Add(intelDataRow.CharacterID, intelDataRow);
                }
            }
            return(result.Values.Select(DataHelper.GetEveIntelCharacterInfo).ToArray());
        }
Example #5
0
        public void ClientIntelUpdate(List <EveIntelCharacterInfo> characters)
        {
            IntelData intelData = new IntelData();;

            foreach (EveIntelCharacterInfo character in characters)
            {
                var stored = intelData.IntelDataTable.FirstOrDefault(o => o.CharacterID == character.CharacterID);
                if (stored != null)
                {
                    stored.SolarsystemID   = character.SolarsystemID;
                    stored.SolarsystemTime = character.SolarsystemTime;
                    stored.ShipTypeID      = character.ShipTypeID;
                    stored.ShipTypeTime    = character.ShipTypeTime;
                    stored.Notes           = character.Notes;
                }
                else
                {
                    var row = new IntelData.IntelDataRow();
                    row.CharacterID     = character.CharacterID;
                    row.CharacterName   = character.CharacterName;
                    row.CharacterKos    = character.CharacterKos;
                    row.CorporationName = character.CorporationName;
                    row.CorporationKos  = character.CorporationKos;
                    row.AllianceName    = character.AllianceName;
                    row.AllianceKos     = character.AllianceKos;
                    row.SolarsystemID   = character.SolarsystemID;
                    row.SolarsystemTime = character.SolarsystemTime;
                    row.ShipTypeID      = character.ShipTypeID;
                    row.ShipTypeTime    = character.ShipTypeTime;
                    row.Notes           = character.Notes;
                    intelData.IntelDataTable.Add(row);
                }
            }
            intelData.SaveChanges();
            //mapControl1.UpdateData();
            intelGrid1.UpdateData();
        }
Example #6
0
        private static EveIntelCharacterInfo[] GetEveIntelCharacterInfos(long solarsystemID, [NotNull] Dictionary<long, string> characters)
        {
            long[] characterIds = characters.Keys.ToArray();
            Dictionary<long, IntelData.IntelDataRow> result = new Dictionary<long, IntelData.IntelDataRow>();

            // try read info from local db
            IQueryable<IntelData.IntelDataRow> q = from o in _IntelData.IntelDataTable
                                                   where characterIds.Contains(o.CharacterID)
                                                   select o;
            int cached = 0;
            foreach (IntelData.IntelDataRow row in q) {
                result[row.CharacterID] = row;
                ++cached;
            }

            if (cached == characters.Count) {
                return result.Values.Select(DataHelper.GetEveIntelCharacterInfo).ToArray();
            }

            // download infos not stored in local db and save them
            foreach (KeyValuePair<long, string> pair in characters) {
                if (result.ContainsKey(pair.Key)) {
                    continue;
                }

                CvaCharacterInfo cvaCharacterInfo = CvaClient.GetCharacterInfo(pair.Key, pair.Value);
                if (cvaCharacterInfo != null) {
                    IntelData.IntelDataRow intelDataRow = new IntelData.IntelDataRow();
                    DataHelper.FillintelDataRow(intelDataRow, cvaCharacterInfo);
                    intelDataRow.SolarsystemID = solarsystemID;
                    intelDataRow.SolarsystemTime = DateTime.Now;
                    _IntelData.IntelDataTable.Add(intelDataRow);
                    result.Add(intelDataRow.CharacterID, intelDataRow);
                }
            }
            return result.Values.Select(DataHelper.GetEveIntelCharacterInfo).ToArray();
        }