public JsonResult AddMessage(NewMessageViewModel message) { if (!string.IsNullOrEmpty(message.MessageBody)) { var context = new EfDbContext(); var username = User.Identity.IsAuthenticated ? User.Identity.Name : message.Username; var newMessage = new Message { Username = username, MessageBody = message.MessageBody, PostedDateTime = DateTime.Now, GameId = message.GameId }; var identityManager = new IdentityManager(); if (User.Identity.IsAuthenticated && !identityManager.IsUserInRole(User.Identity.GetUserId(), "Guest")) { if (identityManager.IsUserInRole(User.Identity.GetUserId(), "Member")) { newMessage.Label = "Member"; } else if (identityManager.IsUserInRole(User.Identity.GetUserId(), "Admin")) { newMessage.Label = "Admin"; } } else { newMessage.Label = "Guest"; } context.Messages.Add(newMessage); context.SaveChanges(); var result = new {message = "Success"}; return Json(result, JsonRequestBehavior.AllowGet); } else { var result = new { message = "Failed" }; return Json(result, JsonRequestBehavior.AllowGet); } }
public async Task<JsonResult> GetMessages(MessageViewModel model) { var context = new EfDbContext(); var result = new LinkedList<object>(); await context.Messages .OrderByDescending(x => x.PostedDateTime) .Where(x => x.GameId == model.GameId && x.Id > model.MessageId) .Take(10) .ForEachAsync(message => result.AddFirst(new { Id = message.Id, Username = message.Username, Label = message.Label, PostDateTime = message.PostedDateTime.ToString(), MessageBody = message.MessageBody })); return Json(result, JsonRequestBehavior.AllowGet); }
public static void AddGameRoles() { var db = new EfDbContext(); var roles = new List<Role>() { new Role(){Name = "Healer", ImgSrc = string.Empty}, new Role(){Name = "Tank", ImgSrc = string.Empty}, new Role(){Name = "DPS", ImgSrc = string.Empty} }; foreach (var role in roles) { if (!db.Roles.Any(r => r.Name == role.Name)) { db.Roles.Add(role); } } db.SaveChanges(); }