public void DeleteUserAccount(UserDto userDto) { var usId = GetUserId(); // some kind of safety check. if (userDto.id != usId) { throw new ApplicationException("User id missmatch"); // The id in the request header should always be the same as sent by client. } using (var db = new Db.BgDbContext()) { var dbUser = db.Users.Single(u => u.Id.ToString() == usId); // maybe delete all records in player table, (has to be modeled out) dbUser.Name = "deleted"; dbUser.Elo = 0; dbUser.SocialProvider = ""; dbUser.Email = ""; dbUser.GameCount = 0; dbUser.PhotoUrl = ""; dbUser.ShowPhoto = false; dbUser.ProviderId = ""; dbUser.PreferredLanguage = ""; dbUser.Admin = false; db.SaveChanges(); } }
public void SaveUser(UserDto userDto) { var usId = GetUserId(); using (var db = new Db.BgDbContext()) { var dbUser = db.Users.Single(u => u.Id.ToString() == usId); dbUser.Name = userDto.name; db.SaveChanges(); } }
public void SaveUser(UserDto userDto) { var usId = GetUserId(); using (var db = new Db.BgDbContext()) { var dbUser = db.Users.Single(u => u.Id.ToString() == usId); dbUser.Name = userDto.name; dbUser.PreferredLanguage = userDto.preferredLanguage; dbUser.Theme = userDto.theme; dbUser.EmailNotifications = userDto.emailNotification; dbUser.ShowPhoto = userDto.showPhoto; db.SaveChanges(); } }
public void GetToplist(ErrorReportDto dto) { var userId = GetUserOrGuestId(); using (var db = new Db.BgDbContext()) { db.ErrorReports.Add(new ErrorReport() { Error = dto.Error, Reporter = db.Users.Single(u => u.Id.ToString() == userId), Reproduce = dto.Reproduce }); db.SaveChanges(); } }
public GoldGiftDto RequestGold() { var usId = GetUserId(); using (var db = new Db.BgDbContext()) { var dbUser = db.Users.Single(u => u.Id.ToString() == usId); if (dbUser.Gold < GoldGiftDto.Gift && DateTime.UtcNow > dbUser.LastFreeGold.AddDays(1)) { dbUser.Gold += GoldGiftDto.Gift; dbUser.LastFreeGold = DateTime.UtcNow; db.SaveChanges(); } int unixTimestamp = (int)dbUser.LastFreeGold.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; return(new GoldGiftDto { gold = dbUser.Gold, lastFreeGold = unixTimestamp }); } }