/// <summary> /// Login user /// </summary> /// <param name="userName"></param> /// <param name="password"></param> /// <returns>int</returns> public int?Login(string userName, string password) { using (var db = new EFContext()) { var user = db.Users?.FirstOrDefault(u => u.Name == userName); if (user != null && user.Password == password && user.IsActive) { user.SessionTimer = SessionTimer.SetSessionTimer(user.Id); user.LastLogin = user.SessionTimer; db.Update(user); db.SaveChanges(); Startup.sessionCookie = user; return(user.Id); } else { return(null); } } }
/// <summary> /// User buys book /// </summary> /// <param name="userId"></param> /// <param name="bookId"></param> /// <returns>bool</returns> public bool BuyBook(int userId, int bookId) { bool isPurchaseSuccessful = false; using (var db = new EFContext()) { var user = db.Users?.FirstOrDefault(x => x.Id == userId); if (user != null) { if (SessionTimer.CheckSessionTimer(user.SessionTimer) == false) { var book = db.Books?.FirstOrDefault(x => x.Id == bookId); if (book != null && book.Amount > 0) { SoldBook soldBook = new SoldBook(); soldBook.Title = book.Title; soldBook.Author = book.Author; soldBook.CategoryId = book.CategoryId; soldBook.Price = book.Price; soldBook.PurchaseDate = DateTime.Now; soldBook.UserId = user.Id; book.Amount--; db.Update(book); db.Update(soldBook); isPurchaseSuccessful = true; user.SessionTimer = SessionTimer.SetSessionTimer(user.Id); Startup.sessionCookie = user; db.Update(user); db.SaveChanges(); } } } } return(isPurchaseSuccessful); }