private IEnumerable <ShelterSearchResltsModel> GetShelters(string searchInput) { var dbContext = new HomelessHelperDbContext(); if (string.IsNullOrEmpty(searchInput)) { return(dbContext.Shelters.Join(dbContext.Beds, shelter => shelter.Id, bed => bed.Shelter.Id, (shelter, bed) => new ShelterSearchResltsModel() { ShelterId = shelter.Id, ShelterName = shelter.Name, ShelterType = shelter.Type, Beds = shelter.Beds, ShelterAddress = shelter.Address, ServicesOffered = shelter.ServicesOffered }).ToList().Take(15)); } var results = dbContext.Shelters.Join(dbContext.Beds, shelter => shelter.Id, bed => bed.Shelter.Id, (shelter, bed) => new ShelterSearchResltsModel() { ShelterId = shelter.Id, ShelterName = shelter.Name, ShelterType = shelter.Type, Beds = shelter.Beds, ShelterAddress = shelter.Address, ServicesOffered = shelter.ServicesOffered }).Where(x => x.ShelterName.Contains(searchInput) || x.ShelterType.ToString().Equals(searchInput, StringComparison.InvariantCultureIgnoreCase) || x.ShelterAddress.City.Equals(searchInput, StringComparison.InvariantCultureIgnoreCase) || x.ShelterAddress.Zip == searchInput).ToList().Take(15); return(results); }
public ActionResult CheckOut(Client client) { var dbContext = new HomelessHelperDbContext(); dbContext.Clients.Attach(client); client.Shelter = null; dbContext.SaveChanges(); return(Json(true)); }
public ShelterMatcherResponse Match(Client client, ShelterType shelterType, HomelessHelperDbContext dbContext) { var shelterFinder = new ShelterFinder(); var shelter = shelterFinder.Find(shelterType); if (shelter != null && shelter.Any()) { var bedFinder = new RoomBedFinder(); var availableBeds = bedFinder.Find(shelter[0].Id, DateTime.Today); if (availableBeds != null && availableBeds.Any()) { shelter[0].Bookings.Add(new BedBooking { Bed = availableBeds[0], ClientId = client.Id, CheckInDate = DateTime.Today, }); return(new ShelterMatcherResponse { IsBooked = true, Shelter = shelter[0], Message = $"Shelter Name : {shelter[0].Name}. Bed Number : {availableBeds[0].Number}", Name = $"{client.FirstName} {client.LastName}", Address = shelter[0].Address }); } return(new ShelterMatcherResponse { Message = "No shelter available", Name = $"{client.FirstName} {client.LastName}" }); } return(new ShelterMatcherResponse { Message = "No shelter available", Name = $"{client.FirstName} {client.LastName}" }); }
public List <Bed> Find(Guid shelterID, DateTime checkinDate) { var dbContext = new HomelessHelperDbContext(); var shelter = dbContext.Shelters.Where(x => x.Id == shelterID).Include(x => x.Beds).Include(x => x.Bookings).FirstOrDefault(); var beds = new List <Bed>(); foreach (var bed in shelter.Beds) { if (shelter.Bookings == null) { beds.Add(bed); } else { if (!shelter.Bookings.Any(x => x.Bed == bed && x.CheckOutDate == null)) { beds.Add(bed); } } } return(beds); }
public GetClientsQuery(HomelessHelperDbContext context) { _context = context; }
public SearchController() { _dbContext = new HomelessHelperDbContext(); }
public void Setup() { _dbContext = new HomelessHelperDbContext(); }
public ShelterController() { _dbContext = new HomelessHelperDbContext(); }
public DataImporter(HomelessHelperDbContext context) { _context = context; }
public EditInTakeController() { _dbContext = new HomelessHelperDbContext(); }
public List <Shelter> Find(ShelterType shelterType) { var dbContext = new HomelessHelperDbContext(); return(dbContext.Shelters.Where(x => x.Type == shelterType).Include(x => x.Bookings).Include(x => x.Address).ToList()); }