static void Main(string[] args) { var context = new PublicUtilitiesContext(); Console.WriteLine("\nБаза даних повинна мiстити iнформацiю:"); Console.WriteLine("=========================================\n\n"); Console.WriteLine("\n10 квартиронаймачiв:\n"); var tenants = context.Tenants.ToList(); Console.WriteLine(string.Join("\n", tenants)); Console.WriteLine("=========================================\n\n"); Console.WriteLine("\n5 видiв послуг. Вартiсть одних послуг повинна визначатись площею квартири, iнших - к-стю осiб, що проживає:\n"); var services = context.Services.ToList(); Console.WriteLine(string.Join("\n", services)); Console.WriteLine("=========================================\n\n"); Console.WriteLine("\nПередбачити, що кожен квариронаймач користується 3+ послугами:\n\n"); /*var query = from t in context.Tenants * where (from a in context.Apartment * join p in context.Payment on a.Id equals p.ApartmentId * where t.ApartmentId == p.ApartmentId * select p.ApartmentId).Count() > 2 * select t; * var tenant_service = query.ToList();*/ var tenant_service = context.Tenants .Join(context.Payment, tenants => tenants.ApartmentId, payment => payment.ApartmentId, (t, p) => new { IdTenent = t.Id, Name = t.FirstName, Surname = t.LastName, p.ApartmentId }) .ToList() .GroupBy(table => new { table.IdTenent, table.Name, table.Surname }) .Where(g => g.Count() >= 3); foreach (var t in tenant_service) { Console.WriteLine($"{t.Key.IdTenent} {t.Key.Name} {t.Key.Surname} " + $"Count: {t.Count()}"); } Console.WriteLine("=========================================\n\n"); Console.WriteLine("\nКвартири:\n"); var apartments = context.Apartment.ToList(); Console.WriteLine(string.Join("\n", apartments)); Console.WriteLine("\nDone."); Console.ReadLine(); }
public async Task Invoke(HttpContext httpContext, PublicUtilitiesContext db) { try { httpContext.Response.ContentType = "text/html; charset=utf-8"; await httpContext.Response.WriteAsync("<img src='/images/cat.png' width=100 heigh=100 alt='My image' />"); await httpContext.Response.WriteAsync("<h3> База даних: Комунальні послуги</h3>"); var tenants = db.Tenants.ToList(); await httpContext.Response.WriteAsync("</br>База даних повинна містити інформацію:</br></br></br>"); await httpContext.Response.WriteAsync("<h5>10 квартиронаймачiв:</h5></br>"); await httpContext.Response.WriteAsync(String.Join("</br>", tenants)); await httpContext.Response.WriteAsync("</br></br>=========================================</br></br>"); await httpContext.Response.WriteAsync("</br><h5>5 видiв послуг. Вартiсть одних послуг повинна визначатись площею квартири, iнших - к-стю осiб, що проживає:</h5></br>"); var services = db.Services.ToList(); await httpContext.Response.WriteAsync(string.Join("</br>", services)); await httpContext.Response.WriteAsync("</br></br>=========================================</br></br>"); await httpContext.Response.WriteAsync("</br><h5>Передбачити, що кожен квартиронаймач користується 3+ послугами:</h5></br>"); var tenant_service = db.Tenants .Join(db.Payment, tenants => tenants.ApartmentId, payment => payment.ApartmentId, (t, p) => new { IdTenent = t.Id, Name = t.FirstName, Surname = t.LastName, p.ApartmentId }) .ToList() .GroupBy(table => new { table.IdTenent, table.Name, table.Surname }) .Where(g => g.Count() >= 3); foreach (var t in tenant_service) { await httpContext.Response.WriteAsync($"{t.Key.IdTenent} {t.Key.Name} {t.Key.Surname} " + $" користується {t.Count()} послугами</br>"); } } catch (Exception ex) { await httpContext.Response.WriteAsync($"Error: {ex.Message}"); } }
public ServicesController(PublicUtilitiesContext context) { this._context = context; }
public TenantsController(PublicUtilitiesContext context) { _context = context; }
public ApartmentController(PublicUtilitiesContext context) { this._context = context; }
public PaymentMethodController(PublicUtilitiesContext context) { this._context = context; }
public PaymentsController(PublicUtilitiesContext context) { _context = context; }
public ApartmentsController(PublicUtilitiesContext context) { _context = context; }
public HomeController(PublicUtilitiesContext context) { this._context = context; }