// Добавить NPC в DropAll private void MI_Add_npc_Click(object sender, RoutedEventArgs e) { if (!DBInfoConnection.TestConnection()) { ShowWindow("Нет подключения"); return; } DropAllListNPC(); Picker pick = new Picker(TypeFile.MobAll); pick.ShowDialog(); if (pick.SelectItem == -2 || pick.SelectItem == -1) return; DropAll npc = new DropAll(); npc.NpcID = pick.SelectItem; npc.NpcName = pick.SelectName; npc.Item = new List<DropAll.Items>() { new DropAll.Items() { idx = 85, name = "Камень Богов", percent = 0, TexID = 0, TexCol = 8, TexRow = 1 } }; DropAllAction(InquirySQL.ActionSQL.ADD, npc.NpcID, 85, 0); // Добавить в БД DropAll.Add(npc); L_DropAll_NPC.ItemsSource = DropAll; }
private void DropAllListNPC() { if(DBInfoConnection.TestConnection()) { try { using (var db = DBInfoConnection.CreateMySQL) { var query = (from p in db.t_npc_drop_all select p).ToList(); foreach(var npc in query) { if(DropAll.Where(p => p.NpcID == npc.a_npc_idx).FirstOrDefault() == null) { DropAll drop = new DropAll(); drop.NpcID = npc.a_npc_idx; drop.NpcName = FileManager.MobAllLod.Where(p => p.NpcID == drop.NpcID).FirstOrDefault().Name; foreach (var item in query.Where(p => p.a_npc_idx == npc.a_npc_idx).ToList()) { ItemAllLod lod = FileManager.ItemAllLod.Where(p => p.ItemID == item.a_item_idx).FirstOrDefault(); drop.Item.Add(new DropAll.Items { idx = item.a_item_idx, percent = item.a_prob, name = lod.Name, TexCol = lod.TexCol, TexID = lod.TexID, TexRow = lod .TexRow }); } DropAll.Add(drop); } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); ShowWindow("Ошибка загрузки"); } } }