public MapDTO Insert(MapDTO map) { using (var context = DataAccessHelper.CreateContext()) { if (context.map.SingleOrDefault(c => c.MapId.Equals(map.MapId)) == null) { Map entity = Mapper.Map<Map>(map); context.map.Add(entity); context.SaveChanges(); return Mapper.Map<MapDTO>(entity); } else return new MapDTO(); } }
private static void CreateServerMaps() { MapDTO testingMap = new MapDTO() { MapId = 1, Music = 1, Name = "Testing-Map", ShopAllowed = true }; List<byte> mapData = new List<byte>(); mapData.Add(255); // x length mapData.Add(0); // x length mapData.Add(255); // y length mapData.Add(0); // y length // create map grid for (int i = 0; i < 255; i++) { for (int j = 0; j < 255; j++) { // we can go everywhere mapData.Add(0); } } testingMap.Data = mapData.ToArray(); DAOFactory.MapDAO.Insert(testingMap); }
public void ImportMaps() { string mapIdFile = $"{_folder}\\MapIDData.dat"; string mapIdText = $"{_folder}\\_code_{System.Configuration.ConfigurationManager.AppSettings["language"]}_MapIDData.txt"; string file = $"{_folder}\\map"; string filePacket = $"{_folder}\\packet.txt"; StreamReader MapId = new StreamReader(mapIdFile, Encoding.GetEncoding(1252)); StreamReader MapIdText = new StreamReader(mapIdText, Encoding.GetEncoding(1252)); StreamReader Packet = new StreamReader(filePacket, Encoding.GetEncoding(1252)); Dictionary<int, string> dictionaryId = new Dictionary<int, string>(); Dictionary<string, string> dictionaryTextId = new Dictionary<string, string>(); Dictionary<int, int> dictionaryMusic = new Dictionary<int, int>(); DirectoryInfo dir = new DirectoryInfo(file); FileInfo[] fichiers = dir.GetFiles(); string line; string line2; int mapid; int i = 0; while ((line = MapId.ReadLine()) != null) { string[] linesave = line.Split(' '); if (linesave.Count() > 1) { if (int.TryParse(linesave[0], out mapid)) { if (!dictionaryId.ContainsKey(int.Parse(linesave[0]))) dictionaryId.Add(int.Parse(linesave[0]), linesave[4]); } } } while ((line2 = MapIdText.ReadLine()) != null) { string[] linesave = line2.Split('\t'); if (linesave.Count() > 1) { dictionaryTextId.Add(linesave[0], linesave[1]); } } while ((line2 = Packet.ReadLine()) != null) { string[] linesave = line2.Split(' '); if (linesave.Count() > 7 && linesave[0] == "at") { if (!dictionaryMusic.ContainsKey(int.Parse(linesave[2]))) dictionaryMusic.Add(int.Parse(linesave[2]), int.Parse(linesave[7])); } } foreach (FileInfo fichier in fichiers) { string name = ""; int music = 0; if (dictionaryId.ContainsKey(int.Parse(fichier.Name))) if (dictionaryTextId.ContainsKey(dictionaryId[int.Parse(fichier.Name)])) name = dictionaryTextId[dictionaryId[int.Parse(fichier.Name)]]; if (dictionaryMusic.ContainsKey(int.Parse(fichier.Name))) music = dictionaryMusic[int.Parse(fichier.Name)]; MapDTO map = new MapDTO { Name = name, Music = music, MapId = short.Parse(fichier.Name), Data = System.IO.File.ReadAllBytes(fichier.FullName) }; if (DAOFactory.MapDAO.LoadById(map.MapId) == null) { DAOFactory.MapDAO.Insert(map); i++; } } Logger.Log.Info(String.Format(Language.Instance.GetMessageFromKey("MAPS_PARSED"), i)); }
public void ImportMaps() { string fileMapIdDat = $"{_folder}\\MapIDData.dat"; string fileMapIdLang = $"{_folder}\\_code_{System.Configuration.ConfigurationManager.AppSettings["language"]}_MapIDData.txt"; string folderMap = $"{_folder}\\map"; List<MapDTO> maps = new List<MapDTO>(); Dictionary<int, string> dictionaryId = new Dictionary<int, string>(); Dictionary<string, string> dictionaryIdLang = new Dictionary<string, string>(); Dictionary<int, int> dictionaryMusic = new Dictionary<int, int>(); string line; int i = 0; using (StreamReader mapIdStream = new StreamReader(fileMapIdDat, Encoding.GetEncoding(1252))) { while ((line = mapIdStream.ReadLine()) != null) { string[] linesave = line.Split(' '); if (linesave.Length <= 1) { continue; } int mapid; if (!int.TryParse(linesave[0], out mapid)) { continue; } if (!dictionaryId.ContainsKey(mapid)) { dictionaryId.Add(mapid, linesave[4]); } } mapIdStream.Close(); } using (StreamReader mapIdLangStream = new StreamReader(fileMapIdLang, Encoding.GetEncoding(1252))) { while ((line = mapIdLangStream.ReadLine()) != null) { string[] linesave = line.Split('\t'); if (linesave.Length <= 1 || dictionaryIdLang.ContainsKey(linesave[0])) { continue; } dictionaryIdLang.Add(linesave[0], linesave[1]); } mapIdLangStream.Close(); } foreach (string[] linesave in _packetList.Where(o => o[0].Equals("at"))) { if (linesave.Length <= 7 || linesave[0] != "at") { continue; } if (dictionaryMusic.ContainsKey(int.Parse(linesave[2]))) { continue; } dictionaryMusic.Add(int.Parse(linesave[2]), int.Parse(linesave[7])); } foreach (FileInfo file in new DirectoryInfo(folderMap).GetFiles()) { string name = String.Empty; int music = 0; if (dictionaryId.ContainsKey(int.Parse(file.Name)) && dictionaryIdLang.ContainsKey(dictionaryId[int.Parse(file.Name)])) { name = dictionaryIdLang[dictionaryId[int.Parse(file.Name)]]; } if (dictionaryMusic.ContainsKey(int.Parse(file.Name))) { music = dictionaryMusic[int.Parse(file.Name)]; } MapDTO map = new MapDTO { Name = name, Music = music, MapId = short.Parse(file.Name), Data = File.ReadAllBytes(file.FullName), ShopAllowed = short.Parse(file.Name) == 147 }; if (DAOFactory.MapDAO.LoadById(map.MapId) != null) { continue; // Map already exists in list } maps.Add(map); i++; } DAOFactory.MapDAO.Insert(maps); Logger.Log.Info(String.Format(Language.Instance.GetMessageFromKey("MAPS_PARSED"), i)); }