public Task <List <Facility> > LoadFlats(FacilitySearchParams searchParams)
        {
            var taskResult = Task.Run(() =>
            {
                using (var context = new DbContext())
                {
                    var fac = context
                              .MapsSocietiesToFacilities
                              .Where(m => m.SocietyId == searchParams.SocietyId)
                              .Select(m => m.FacilityId)
                              .ToList();

                    var qry = context
                              .Facilities
                              .Where(f => fac.Contains(f.Id))
                              .Include(f => f.Complex)
                              .Include(f => f.Floors)
                              .Include(f => f.Floors.Select(o => o.Flats))
                              .AsQueryable();

                    return(qry
                           .ToList());
                }
            });

            return(taskResult);
        }
        public Task <List <Facility> > List(FacilitySearchParams searchParams)
        {
            var taskResult = Task.Run(() =>
            {
                using (var context = new DbContext())
                {
                    var qry = context
                              .Facilities
                              .Include(c => c.Complex)
                              .Include(c => c.SocietyAssets)

                              .AsQueryable();

                    if (searchParams.ComplexId.HasValue)
                    {
                        qry = qry
                              .Where(f => f.ComplexId == searchParams.ComplexId.Value);
                    }

                    return(qry
                           .ToList());
                }
            });

            return(taskResult);
        }
        public Task <List <Facility> > LoadParkings(FacilitySearchParams searchParams)
        {
            var taskResult = Task.Run(() =>
            {
                using (var context = new DbContext())
                {
                    var parkingsTypes = new byte[] { (byte)EnFacilityType.Building, (byte)EnFacilityType.OpenParking, (byte)EnFacilityType.ParkingTower };

                    var flat = context
                               .Flats
                               .Include(f => f.Floor.Facility.Societies)
                               .FirstOrDefault(f => f.Id == searchParams.FlatId);

                    if (flat == null)
                    {
                        return(null);
                    }

                    var socId = flat.Floor.Facility.Societies.First().SocietyId;

                    var fac = context
                              .MapsSocietiesToFacilities
                              .Where(m => m.SocietyId == socId)
                              .Select(m => m.FacilityId)
                              .ToList();

                    var qry = context
                              .Facilities
                              .Where(f => fac.Contains(f.Id) &&
                                     (f.Type == (byte)EnFacilityType.Building ||
                                      f.Type == (byte)EnFacilityType.OpenParking ||
                                      f.Type == (byte)EnFacilityType.ParkingTower))

                              .Include(f => f.FlatParkings)
                              .Include(f => f.Floors)
                              .Include(f => f.Floors.Select(o => o.FlatParkings));
                    //.AsQueryable();

                    return(qry
                           .ToList());
                }
            });

            return(taskResult);
        }
        public Task <List <Facility> > SocietyWiseList(FacilitySearchParams searchParams)
        {
            var taskResult = Task.Run(() =>
            {
                using (var context = new DbContext())
                {
                    var qry = context
                              .MapsSocietiesToFacilities
                              .Include(c => c.Facility)
                              .Include(c => c.Facility.Complex)
                              .Where(m => m.SocietyId == searchParams.SocietyId);

                    return(qry
                           .Select(m => m.Facility)
                           .ToList());
                }
            });

            return(taskResult);
        }
Пример #5
0
 public Task <List <Facility> > LoadParkings(FacilitySearchParams searchParams)
 {
     return(_FacilityRepository.LoadParkings(searchParams));
 }
Пример #6
0
 public Task <List <Facility> > SocietyWiseList(FacilitySearchParams searchParams)
 {
     return(_FacilityRepository.SocietyWiseList(searchParams));
 }
Пример #7
0
 public Task <List <Facility> > List(FacilitySearchParams searchParams)
 {
     return(_FacilityRepository.List(searchParams));
 }