protected override List <T> GetList <T>() { using (var context = new ZooDatabase()) { return(context.Set <T>().ToList()); } }
public void SaveToDatabase() { var routes = LoadRoutes(); using (var context = new ZooDatabase()) { foreach (var route in routes) { Route element = context.Routes.FirstOrDefault(rec => rec.Id == route.Id); if (element != null) { break; } else { element = new Route(); context.Routes.Add(element); } element.RouteName = route.RouteName; element.StartRoute = route.StartRoute; element.Cost = route.Cost; context.SaveChanges(); } } }
public void CreateOrUpdate(ClientBindingModel model) { using (var context = new ZooDatabase()) { Client elem = context.Clients.FirstOrDefault(rec => rec.Id == model.Id); if (model.Id.HasValue) { elem = context.Clients.FirstOrDefault(rec => rec.Id == model.Id); if (elem == null) { throw new Exception("Элемент не найден"); } } else { elem = new Client(); context.Clients.Add(elem); } elem.Login = model.Login; elem.ClientFIO = model.ClientFIO; elem.Password = model.Password; elem.BlockStatus = model.BlockStatus; context.SaveChanges(); } }
public void SaveToDatabase() { var workers = LoadWorkers(); using (var context = new ZooDatabase()) { foreach (var worker in workers) { Worker element = context.Workers.FirstOrDefault(rec => rec.Id == worker.Id); if (element != null) { break; } else { element = new Worker(); context.Workers.Add(element); } element.WorkerFIO = worker.WorkerFIO; element.Email = worker.Email; element.Salary = worker.Salary; context.SaveChanges(); } } }
public void CreateOrUpdate(OrderBindingModel model) { using (var context = new ZooDatabase()) { Order elem = model.Id.HasValue ? null : new Order(); if (model.Id.HasValue) { elem = context.Orders.FirstOrDefault(rec => rec.Id == model.Id); if (elem == null) { throw new Exception("Элемент не найден"); } } else { elem = new Order(); context.Orders.Add(elem); } elem.ExcursionId = model.ExcursionId; elem.ClientId = model.ClientId; elem.Sum = model.Sum; elem.DateCreate = model.DateCreate; context.SaveChanges(); } }
public void CreateOrUpdate(ExcursionBindingModel model) { using (var context = new ZooDatabase()) { using (var transaction = context.Database.BeginTransaction()) { try { Excursion elem = model.Id.HasValue ? null : new Excursion(); if (model.Id.HasValue) { elem = context.Excursions.FirstOrDefault(rec => rec.Id == model.Id); if (elem == null) { throw new Exception("Элемент не найден"); } elem.ClientId = model.ClientId; elem.ExcursionCreate = model.ExcursionCreate; elem.Final_Cost = model.Final_Cost; elem.Status = model.Status; context.SaveChanges(); } else { elem.ClientId = model.ClientId; elem.ExcursionCreate = model.ExcursionCreate; elem.Final_Cost = model.Final_Cost; elem.Status = model.Status; context.Excursions.Add(elem); context.SaveChanges(); var routes = model.RouteForExcursions .GroupBy(rec => rec.RouteId) .Select(rec => new { RouteId = rec.Key, }); foreach (var route in routes) { context.RouteForExcursions.Add(new RouteForExcursion { ExcursionId = elem.Id, RouteId = route.RouteId, }); context.SaveChanges(); } } transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw; } } } }
protected override List <PropertyInfo> GetFullList() { using (var context = new ZooDatabase()) { Type type = context.GetType(); return(type.GetProperties().Where(x => x.PropertyType.FullName.StartsWith("Microsoft.EntityFrameworkCore.DbSet")).ToList()); } }
public void CreateOrUpdate(ClientBindingModel model) { using (var context = new ZooDatabase()) { Client element = context.Clients.FirstOrDefault(rec => rec.ClientFIO == model.ClientFIO && rec.Id == model.Id && rec.Number == model.Number && rec.Gender == model.Gender && rec.Score == model.Score && rec.DateCreate == model.DateCreate && rec.CountTicket == model.CountTicket && rec.Email == model.Email); if (element != null) { throw new Exception("Уже есть такой клиент"); } if (model.Id.HasValue) { element = context.Clients.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Client(); context.Clients.Add(element); } element.ClientFIO = model.ClientFIO; element.Gender = model.Gender; element.Number = model.Number; element.Email = model.Email; element.CountTicket = model.CountTicket; element.Score = model.Score; element.DateCreate = DateTime.Now; context.SaveChanges(); var groupTickets = model.TicketClients .GroupBy(rec => rec.TicketId) .Select(rec => new { TicketId = rec.Key, }); foreach (var groupTicket in groupTickets) { context.TicketClients.Add(new TicketClient { ClientId = element.Id, TicketId = groupTicket.TicketId, }); context.SaveChanges(); } } }
public void Delete(ClientBindingModel model) { using (var context = new ZooDatabase()) { Client element = context.Clients.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Clients.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public void Delete(ExcursionBindingModel model) { using (var context = new ZooDatabase()) { Excursion elem = context.Excursions.FirstOrDefault(rec => rec.Id == model.Id.Value); if (elem != null) { context.Excursions.Remove(elem); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public List <OrderViewModel> Read(OrderBindingModel model) { using (var context = new ZooDatabase()) { return(context.Orders .Where(rec => model == null || rec.Id == model.Id || rec.ExcursionId.Equals(model.ExcursionId)) .Select(rec => new OrderViewModel { Id = rec.Id, ClientId = rec.ClientId, DateCreate = rec.DateCreate, ExcursionId = rec.ExcursionId, Sum = rec.Sum }) .ToList()); } }
public List <WorkerViewModel> Read(WorkerBindingModel model) { using (var context = new ZooDatabase()) { return(context.Workers .Where(rec => model == null || rec.Id == model.Id) .ToList() .Select(rec => new WorkerViewModel { Id = rec.Id, WorkerFIO = rec.WorkerFIO, Email = rec.Email, Salary = rec.Salary }) .ToList()); } }
public List <ExcursionViewModel> Read(ExcursionBindingModel model) { using (var context = new ZooDatabase()) { return(context.Excursions.Where(rec => rec.Id == model.Id || (rec.ClientId == model.ClientId)) .Select(rec => new ExcursionViewModel { Id = rec.Id, ClientId = rec.ClientId, ClientFIO = rec.Client.ClientFIO, ExcursionCreate = rec.ExcursionCreate, Cost = rec.Final_Cost, Remain = rec.Final_Cost - context.Orders.Where(recP => recP.ExcursionId == recP.Id).Select(recP => recP.Sum).Sum(), Status = rec.Status, RouteForExcursions = GetExRouteViewModel(rec) }) .ToList()); } }
static void Main(string[] args) { Console.Title = "Zoo Manager 2020"; var randomizer = new Randomizer(); var animalNamesDatabase = new AnimalNamesDatabase(randomizer); var database = ZooDatabase.FromFile(randomizer, animalNamesDatabase, "zoo.xml"); var zoo = ZooManager.FromDatabase(randomizer, database); var consoleManager = ConsoleManager.Create(zoo, randomizer); while (true) { if (!consoleManager.Process()) { Thread.Sleep(50); } } }
public List <ClientViewModel> Read(ClientBindingModel model) { using (var context = new ZooDatabase()) { return(context.Clients .Where( rec => model == null || rec.Id == model.Id || rec.Login == model.Login && (model.Password == null || rec.Password == model.Password) ) .Select(rec => new ClientViewModel { Id = rec.Id, Login = rec.Login, ClientFIO = rec.ClientFIO, Password = rec.Password, BlockStatus = rec.BlockStatus }) .ToList()); } }
public List <ClientViewModel> Read(ClientBindingModel model) { using (var context = new ZooDatabase()) { return(context.Clients .Where(rec => model == null || rec.Id == model.Id || model.DateFrom.HasValue && model.DateTo.HasValue && rec.DateCreate >= model.DateFrom && rec.DateCreate <= model.DateTo) .Select(rec => new ClientViewModel { Id = rec.Id, ClientFIO = rec.ClientFIO, Gender = rec.Gender, Number = rec.Number, Email = rec.Email, CountTicket = rec.CountTicket, Score = rec.Score, DateCreate = rec.DateCreate, TicketClients = GetTicketClientViewModel(rec) }) .ToList()); } }
public static List <RouteForExcursionViewModel> GetExRouteViewModel(Excursion ex) { using (var context = new ZooDatabase()) { var RouteForExcursions = context.RouteForExcursions .Where(rec => rec.ExcursionId == ex.Id) .Select(rec => new RouteForExcursionViewModel { Id = rec.Id, ExcursionId = rec.ExcursionId, RouteId = rec.RouteId, }).ToList(); foreach (var route in RouteForExcursions) { var routeData = context.Routes.Where(rec => rec.Id == route.RouteId).FirstOrDefault(); route.RouteName = routeData.RouteName; route.StartRoute = routeData.StartRoute; route.Cost = routeData.Cost; } return(RouteForExcursions); } }
public static List <TicketClientViewModel> GetTicketClientViewModel(Client client) { using (var context = new ZooDatabase()) { var TicketClients = context.TicketClients .Where(rec => rec.ClientId == client.Id) .Include(rec => rec.Ticket) .Select(rec => new TicketClientViewModel { Id = rec.Id, ClientId = rec.ClientId, TicketId = rec.TicketId, Cost = rec.Cost }).ToList(); foreach (var tick in TicketClients) { var tickData = context.Tickets.Where(rec => rec.Id == tick.TicketId).FirstOrDefault(); tick.TypeTicket = tickData.TypeTicket; tick.Cost = tickData.Cost; } return(TicketClients); } }
public void CreateOrUpdate(WorkerBindingModel model) { using (var context = new ZooDatabase()) { Worker element = context.Workers.FirstOrDefault(rec => rec.Id == model.Id); if (model.Id.HasValue) { element = context.Workers.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Worker(); context.Workers.Add(element); } element.WorkerFIO = model.WorkerFIO; element.Salary = model.Salary; context.SaveChanges(); } }