/*registrate new user*/ public static User Insert() { using (var context = new eQueueContext()) { using (var transaction = context.Database.BeginTransaction()) { try { User user = new User { PasswordHash = null, LastActivity = DateTime.Now, IsTemporary = true }; user.Login = "******"; TokenManager.Insert(user); context.Users.Add(user); context.SaveChanges(); user.Login += user.Id; context.SaveChanges(); transaction.Commit(); return(user); } catch (Exception e) { transaction.Rollback(); return(null); } } } }
public static bool SwapUsers(int userIdA, int userIdB, int queueId) { using (var context = new eQueueContext()) { using (var transaction = context.Database.BeginTransaction()) { try { var orderA = context.QueueOrders .Where(a => a.QueueInfoId == queueId && a.UserId == userIdA) .FirstOrDefault(); var orderB = context.QueueOrders .Where(b => b.QueueInfoId == queueId && b.UserId == userIdB) .FirstOrDefault(); int tempNumber = orderA.Number; orderA.Number = orderB.Number; orderB.Number = tempNumber; context.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); return(false); } } } return(true); }
public static void UpdatePassword(int id, string newPasswordHash) { using (var context = new eQueueContext()) { User user = context.Users.Find(id); user.PasswordHash = newPasswordHash; context.SaveChanges(); } }
public static void UpdateTimer(int id, DateTime newTimer) { using (var context = new eQueueContext()) { var queue = context.Queues.Find(id); queue.Timer = newTimer; context.SaveChanges(); } }
public static void UpdateName(int id, string newName) { using (var context = new eQueueContext()) { var queue = context.Queues.Find(id); queue.Name = newName; context.SaveChanges(); } }
public static void UpdateActivity(int id) { using (var context = new eQueueContext()) { User user = context.Users.Find(id); user.LastActivity = DateTime.Now; context.SaveChanges(); } }
public static void UpdateLogin(int id, string newLogin) { using (var context = new eQueueContext()) { User user = context.Users.Find(id); user.Login = newLogin; context.SaveChanges(); } }
public static bool UpdateStatus(int id) { using (var context = new eQueueContext()) { User user = context.Users.Find(id); user.IsTemporary = false; context.SaveChanges(); } return(true); }
public static void UpdateAccessType(int userId, int queueId, AccessType type) { using (var context = new eQueueContext()) { var access = context.UserAccesses .Where(a => a.QueueInfoId == queueId && a.UserId == userId) .FirstOrDefault(); access.AccessTypeName = type; context.SaveChanges(); } }
public static void Delete(int userId) { using (var context = new eQueueContext()) { var token = context.Tokens .Where(t => t.UserId == userId) .FirstOrDefault(); context.Tokens.Remove(token); context.SaveChanges(); } }
public static bool UpdateNumber(int userId, int queueId, int newNumber) { using (var context = new eQueueContext()) { var order = context.QueueOrders .Where(qo => qo.QueueInfoId == queueId && qo.UserId == userId) .FirstOrDefault(); order.Number = newNumber; context.SaveChanges(); } return(true); }
public static void UpdateNickname(int userId, int queueId, string newNickname) { using (var context = new eQueueContext()) { var access = context.UserAccesses .Where(a => a.QueueInfoId == queueId && a.UserId == userId) .FirstOrDefault(); access.Nickname = newNickname; context.SaveChanges(); } }
public static bool Delete(int id) { using (var context = new eQueueContext()) { User user = context.Users.Find(id); if (user == null) { return(false); } context.Users.Remove(user); context.SaveChanges(); } return(true); }
public static bool Delete(int id) { using (var context = new eQueueContext()) { QueueInfo queue = context.Queues.Find(id); if (queue == null) { return(false); } context.Queues.Remove(queue); context.SaveChanges(); } return(true); }
/*user join the queue*/ public static void Insert(int userId) { using (var context = new eQueueContext()) { UserToken token = new UserToken { Token = Guid.NewGuid().ToString() }; User user = context.Users.Find(userId); user.Tokens.Add(token); token.User = user; context.Tokens.Add(token); context.SaveChanges(); } }
public static bool MakeRegular(int id, string login, string passwordHash) { using (var context = new eQueueContext()) { User user = context.Users.Find(id); if (!user.IsTemporary) { return(false); } user.Login = login; user.PasswordHash = passwordHash; user.IsTemporary = false; context.SaveChanges(); return(true); } }
/*user join the queue*/ public static void Insert(string nickname, int userId, int queueId) { using (var context = new eQueueContext()) { UserAccess access = new UserAccess { Nickname = nickname, AccessTypeName = AccessType.Default }; User user = context.Users.Find(userId); QueueInfo queue = context.Queues.Find(queueId); user.UserAccesses.Add(access); queue.UserAccesses.Add(access); access.User = user; access.QueueInfo = queue; context.UserAccesses.Add(access); context.SaveChanges(); } }
public static void Insert(int userId, int queueId) { using (var context = new eQueueContext()) { QueueOrder order = new QueueOrder { }; User user = context.Users.Find(userId); QueueInfo queue = context.Queues.Find(queueId); user.QueueOrders.Add(order); queue.QueueOrders.Add(order); order.User = user; order.QueueInfo = queue; order.Number = GetLastNumberInQueue(queue, context) + 1; context.QueueOrders.Add(order); context.SaveChanges(); } }
/*create new QueueInfo and UserAcces with info about queue's owner*/ public static QueueInfo Insert(string queueName, string link, DateTime?timer, int ownerId) { using (var context = new eQueueContext()) { var queue = new QueueInfo { Name = queueName, Link = link, Timer = timer }; var owner = context.Users.Find(ownerId); var access = new UserAccess { Nickname = owner.Login, AccessTypeName = AccessType.Owner, User = owner, QueueInfo = queue }; context.Queues.Add(queue); context.UserAccesses.Add(access); context.SaveChanges(); return(queue); } }
public static bool Delete(int userId, int queueId) { using (var context = new eQueueContext()) { var order = context.QueueOrders .Where(a => a.QueueInfoId == queueId && a.UserId == userId) .FirstOrDefault(); if (order == null) { return(false); } context.QueueOrders.Remove(order); foreach (var qo in context.QueueOrders.Where(qo => qo.QueueInfoId == queueId && qo.Number > order.Number)) { qo.Number--; } context.SaveChanges(); } return(true); }
public static bool GetNext(int queueId) { using (var context = new eQueueContext()) { using (var transaction = context.Database.BeginTransaction()) { try { var order = context.QueueOrders .Where(a => a.QueueInfoId == queueId && a.Number == 1) .FirstOrDefault(); if (order == null) { return(false); } context.QueueOrders.Remove(order); context.QueueOrders.Where(qo => qo.QueueInfoId == queueId) .AsEnumerable() .Select(qo => { qo.Number--; return(qo); }); context.SaveChanges(); transaction.Commit(); return(true); } catch (Exception e) { transaction.Rollback(); return(false); } } } }