public async Task <int> CreateUserAsync(string lineUserId) { if (string.IsNullOrEmpty(lineUserId)) { return(-1); } using (var db = new ZombieRunnerDbContex()) { if (!db.User.Any(o => o.LineUserId == lineUserId)) { var newUser = new User { LineUserId = lineUserId, Name = string.Empty, IsEnabled = true, CreatedOn = DateTime.UtcNow, ModifiedOn = DateTime.UtcNow }; db.Entry(newUser).State = EntityState.Added; await db.SaveChangesAsync(); return(newUser.Id); } return(0); } }
public async Task ResetToEndAsync(Signup game) { using (var db = new ZombieRunnerDbContex()) { var gameToEnd = await db.Signup.FirstOrDefaultAsync(o => o.Id == game.Id); if (gameToEnd != null) { gameToEnd.IsStoryPushed = true; //gameToEnd.StoryEndedTime = DateTime.UtcNow; db.Entry(gameToEnd).State = EntityState.Modified; } await db.SaveChangesAsync(); } }
public async Task SetToBeginAsync(Signup game) { using (var db = new ZombieRunnerDbContex()) { var gameToStart = await db.Signup.FirstOrDefaultAsync(o => o.Id == game.Id); if (gameToStart != null) { gameToStart.IsOnGoing = true; var now = DateTime.UtcNow; gameToStart.StoryBeginTime = now; gameToStart.StoryEndedTime = now.AddMinutes(60); db.Entry(gameToStart).State = EntityState.Modified; } await db.SaveChangesAsync(); } }
/// <summary> /// 啟用/停用使用者帳戶 /// </summary> /// <param name="lineUserId">The line user identifier.</param> /// <param name="isEnabled">if set to <c>true</c> [is enabled].</param> /// <returns></returns> public async Task EnableUserAsync(string lineUserId, bool isEnabled) { if (string.IsNullOrEmpty(lineUserId)) { return; } using (var db = new ZombieRunnerDbContex()) { var user = await db.User.FirstOrDefaultAsync(o => o.LineUserId == lineUserId); if (user != null) { user.IsEnabled = isEnabled; db.Entry(user).State = EntityState.Modified; await db.SaveChangesAsync(); } } }
public async Task <Event> AddEvents(string content, bool hasDead, string createdBy) { using (var db = new ZombieRunnerDbContex()) { var ev = new Event { Seed = new Random().Next(DateTime.UtcNow.Millisecond * 1000), Content = content, IsEnabled = true, IsAnyoneDead = hasDead, CreatedOn = DateTime.UtcNow, CreatedBy = createdBy, ModifiedOn = DateTime.UtcNow }; db.Entry(ev).State = EntityState.Added; await db.SaveChangesAsync(); return(ev); } }
public async Task <Dinner> AddDinner(string dinner, string createdBy) { using (var db = new ZombieRunnerDbContex()) { var data = new Dinner { Seed = new Random().Next(DateTime.UtcNow.Millisecond * 1000), Content = dinner, IsEnabled = true, CreatedOn = DateTime.UtcNow, CreatedBy = createdBy, ModifiedOn = DateTime.UtcNow }; db.Entry(data).State = EntityState.Added; await db.SaveChangesAsync(); return(data); } }
public async Task <int> CreateAsync(string lineUserId, string desc) { if (string.IsNullOrEmpty(lineUserId)) { return(-1); } using (var db = new ZombieRunnerDbContex()) { var now = DateTime.UtcNow; var b = await db.Signup.AnyAsync(o => o.HostUserId == lineUserId && o.EndTime >= now && o.IsEnabled == true && o.IsDeleted != true); await Cores.Logger.WriteInfoLog($"CreateAsync, b = {b}"); if (b) { // 已有報名,do nothing return(-1); } else { var signup = new Signup { HostUserId = lineUserId, Description = desc, StartTime = now, EndTime = now.AddMinutes(30), // 報名截止 StoryBeginTime = now.AddMinutes(31), // 開團,第 31 分鐘動啟故事訊息推送 StoryEndedTime = now.AddMinutes(65), // 遊戲循環結束 IsEnabled = true, CreatedOn = now, ModifiedOn = now }; db.Entry(signup).State = EntityState.Added; await db.SaveChangesAsync(); return(signup.Id); } } }
public async Task UpdateUserNameAsync(string lineUserId, string name) { if (string.IsNullOrEmpty(lineUserId) || string.IsNullOrEmpty(name)) { return; } using (var db = new ZombieRunnerDbContex()) { var user = await db.User.FirstOrDefaultAsync(o => o.LineUserId == lineUserId); if (user != null) { user.Name = name; user.ModifiedOn = DateTime.UtcNow; db.Entry(user).State = EntityState.Modified; await db.SaveChangesAsync(); } } }
public async Task <int> CreateAsync(int userId, int signupId) { using (var db = new ZombieRunnerDbContex()) { var userInGame = await db.GameMember.AnyAsync(o => o.SignupId == signupId && o.UserId == userId); if (!userInGame) { var gmember = new GameMember { SignupId = signupId, UserId = userId, CreatedOn = DateTime.UtcNow, ModifiedOn = DateTime.UtcNow }; db.Entry(gmember).State = EntityState.Added; await db.SaveChangesAsync(); return(gmember.Id); } return(-1); } }