/// <summary> /// Добавляет данные нового игрока /// </summary> public void Add(Account account) { var playerInfo = new gta_mp_data.Entity.PlayerInfo { AccountId = account.Id, Health = 100, Satiety = 100 }; var additionalInfo = new PlayerAdditionalInfo { AccountId = account.Id }; var driverInfo = new DriverInfo { AccountId = account.Id }; var wantedInfo = new Wanted { AccountId = account.Id }; var settings = new Settings { AccountId = account.Id }; var inventory = new InventoryItem { OwnerId = account.Id, Name = "Деньги", Type = InventoryType.Money, Count = 100, CountInHouse = 0 }; using (var db = new Database()) { db.Insert(playerInfo); db.Insert(additionalInfo); db.Insert(driverInfo); db.Insert(wantedInfo); db.Insert(settings); db.Insert(inventory); } }
public IActionResult ChangePlayerAdditionalInfo([FromBody] PlayerAdditionalInfoVM model) { if (model == null || model.IdPlayerAdditionalInfo <= 0) { return(Ok(0)); } PlayerAdditionalInfo player = _context.PlayersAdditionalInfo.SingleOrDefault(p => p.IdPlayerAdditionalInfo == model.IdPlayerAdditionalInfo); if (player == null) { return(CreatePlayerAdditionalInfo(model)); } else { try { string imageName; if (!string.IsNullOrWhiteSpace(model.Photo)) { string fileDestDir = _env.ContentRootPath; fileDestDir = Path.Combine(fileDestDir, "Photos"); imageName = Path.GetRandomFileName() + ".jpg"; var bitmap = model.Photo.FromBase64StringToImage(); bitmap.Save(Path.Combine(fileDestDir, imageName), ImageFormat.Jpeg); if (player.Photo != "stepanPhoto.jpg" && System.IO.File.Exists(Path.Combine(fileDestDir, player.Photo))) { // If file found, delete it System.IO.File.Delete(Path.Combine(fileDestDir, player.Photo)); } } else { imageName = player.Photo; } player.Name = model.Name; player.Surname = model.Surname; player.Photo = imageName; player.BirthDate = model.BirthDate; player.Gender = model.Gender; _context.SaveChanges(); } catch (Exception) { return(Ok(0)); } return(Ok(player.IdPlayerAdditionalInfo)); } }
public IActionResult DeletePlayer(string login, string password) { try { Player player = _context.Players.SingleOrDefault(p => p.Login == login && p.Password == password); if (player == null || player.Id == 1) { throw new Exception(); } PlayerScore score = _context.Scores.SingleOrDefault(p => p.IdPlayerScore == player.Id); if (score != null) { _context.Scores.Remove(score); _context.SaveChanges(); } PlayerAdditionalInfo playerAddInfo = _context.PlayersAdditionalInfo.SingleOrDefault(p => p.IdPlayerAdditionalInfo == player.Id); if (playerAddInfo != null) { try { string fileDestDir = _env.ContentRootPath; fileDestDir = Path.Combine(fileDestDir, "Photos"); if (playerAddInfo.Photo != "stepanPhoto.jpg" && System.IO.File.Exists(Path.Combine(fileDestDir, playerAddInfo.Photo))) { // If file found, delete it System.IO.File.Delete(Path.Combine(fileDestDir, playerAddInfo.Photo)); } } catch (Exception) { } _context.PlayersAdditionalInfo.Remove(playerAddInfo); _context.SaveChanges(); } _context.Players.Remove(player); _context.SaveChanges(); } catch (Exception) { return(Ok(false)); } return(Ok(true)); }
public IActionResult CreatePlayerAdditionalInfo([FromBody] PlayerAdditionalInfoVM model) { if (model == null) { return(Ok(0)); } PlayerAdditionalInfo player; try { string imageName = "none"; if (!string.IsNullOrWhiteSpace(model.Photo)) { string fileDestDir = _env.ContentRootPath; fileDestDir = Path.Combine(fileDestDir, "Photos"); imageName = Path.GetRandomFileName() + ".jpg"; var bitmap = model.Photo.FromBase64StringToImage(); bitmap.Save(Path.Combine(fileDestDir, imageName), ImageFormat.Jpeg); } player = new PlayerAdditionalInfo() { IdPlayerAdditionalInfo = model.IdPlayerAdditionalInfo, Name = model.Name, Surname = model.Surname, Photo = imageName, BirthDate = model.BirthDate, Gender = model.Gender }; _context.PlayersAdditionalInfo.Add(player); _context.SaveChanges(); } catch (Exception) { return(Ok(0)); } return(Ok(player.IdPlayerAdditionalInfo)); }
/// <summary> /// Сконвертировать данные игрока в модель /// </summary> public static PlayerInfo ConvertToModel(gta_mp_data.Entity.PlayerInfo playerInfo, PlayerAdditionalInfo additionalInfo, DriverInfo driverInfo, IEnumerable <PlayerWork> worksInfo, Wanted wantedInfo, Settings settings, IEnumerable <PlayerClothes> clothes) { var result = new PlayerInfo { AccountId = playerInfo.AccountId, Name = playerInfo.Name, Level = playerInfo.Level, Experience = playerInfo.Experience, Satiety = playerInfo.Satiety, Health = playerInfo.Health, LastPosition = playerInfo.LastPosition, Dimension = playerInfo.Dimension, Driver = DriverInfoConverter.ConvertToModel(driverInfo), Works = WorksInfoConverter.ConvertToModels(worksInfo), Wanted = wantedInfo, PhoneNumber = additionalInfo.PhoneNumber, PhoneBalance = additionalInfo.PhoneBalance, TagName = additionalInfo.TagName, TagColor = additionalInfo.TagColor, LastTeleportToHouse = additionalInfo.LastTeleportToHouse, Settings = settings, Clothes = PlayerClothesConverter.ConvertTModels(clothes) }; return(result); }