/// <summary> /// Проверяет наличие пользователя в бд по логину /// логин не PK конечно, но по логике он является уникальным индексом /// </summary> public static async Task<bool> ExistsAsync(User user) { using (var context = new AirlinesContext()) { return await context.UserSet.FirstOrDefaultAsync(u => u.Login.Equals(user.Login, StringComparison.CurrentCultureIgnoreCase)) != default(User); } }
public static async Task<bool> ExistsAsync(Flight flight) { using (var context = new AirlinesContext()) { return await context.FlightSet.FirstOrDefaultAsync(u => u.DepartureCountry.Equals(flight.DepartureCountry) && u.ArrivalCountry.Equals(flight.ArrivalCountry)) != default(Flight); } }
public override object ProvideValue(IServiceProvider serviceProvider) { using (var context = new AirlinesContext()) { return context.UserSet .Where(user => user.Role == UserRole.Pilot) .Select(user => new { ValuePath = user, DisplayPath = user.LastName + " " + user.FirstName + " [" + user.Id + "]" }) .ToList(); } }
/// <summary> /// Возвращает рейс из бд /// по номеру /// </summary> public static async Task<Flight> GetFlightAsync(int id) { Flight flight; using (var context = new AirlinesContext()) { flight = await context.FlightSet .FirstOrDefaultAsync(u => u.Id.Equals(id)) .ConfigureAwait(false); } return flight; }
/// <summary> /// Возвращает пользователя из бд /// по паролю и логину /// </summary> public static async Task<User> GetUserAsync(string login, string password) { User user; using (var context = new AirlinesContext()) { user = await context.UserSet .FirstOrDefaultAsync(u => u.Login.Equals(login) && u.Password.Equals(password)) .ConfigureAwait(false); } return user; }
/// <summary> /// Удаляет из бд рейс с соответствующим id /// </summary> /// <returns>True, если рейс был успешно удален, иначе - false</returns> public static async Task<bool> RemoveFlightAsync(int id) { using (var context = new AirlinesContext()) { var flight = await context.FlightSet.FindAsync(id); if (flight != null) { context.FlightSet.Remove(flight); await context.SaveChangesAsync(); return true; } } return false; }
/// <summary> /// Удаляет из бд пользователя с соответствующим id /// </summary> /// <param name="id">Id пользователя</param> /// <returns>True, если пользователь был успешно удален, иначе - false</returns> public static async Task<bool> RemoveUserAsync(int id) { using (var context = new AirlinesContext()) { var user = await context.UserSet.FindAsync(id); if (user != null) { context.UserSet.Remove(user); await context.SaveChangesAsync(); return true; } } return false; }
/// <summary> /// Добавляет пользователя в бд /// При этом считается что все необходимые проверки уже были выполнены /// То есть данные заполнены правильно и такого пользователя нет в бд /// </summary> public static async Task<bool> AddUserAsync(User user) { using (var context = new AirlinesContext()) { try { context.UserSet.Add(user); await context.SaveChangesAsync(); } catch (Exception) { return false; } } return true; }
/// <summary> /// Добавляет рейс в бд /// При этом считается что все необходимые проверки уже были выполнены /// То есть данные заполнены правильно и такого рейса нет в бд /// </summary> public static async Task<bool> AddFlightAsync(Flight flight) { System.Console.WriteLine("AddFlight "); using (var context = new AirlinesContext()) { try { context.FlightSet.Add(flight); await context.SaveChangesAsync(); } catch (Exception) { return false; } } return true; }
public static void Initialize(TestContext context) { airlinesContext = new AirlinesContext(); }