public Task <List <Flat> > List(FlatSearchParams searchParams) { var taskResult = Task.Run(() => { using (var context = new DbContext()) { var qry = (from msf in context.MapsSocietiesToFacilities join f in context.Facilities on msf.FacilityId equals f.Id join flr in context.Floors on f.Id equals flr.FacilityId join fls in context.Flats on flr.Id equals fls.FloorId select new { MapSocietyToFacility = msf, Facility = f, Floor = flr, Flat = fls }); if (searchParams.FloorId.HasValue) { qry = qry .Where(f => f.Floor.Id == searchParams.FloorId.Value); } if (searchParams.SocietyId.HasValue) { qry = qry .Where(f => f.MapSocietyToFacility.SocietyId == searchParams.SocietyId.Value); } if (searchParams.IsApproved.HasValue) { qry = qry .Where(f => f.Flat.IsApproved == searchParams.IsApproved.Value); } if (searchParams.IsRejected.HasValue) { qry = qry .Where(f => f.Flat.IsApproved == searchParams.IsRejected.Value); } return(qry .Select(f => f.Flat) .Include(f => f.Floor) .Include(f => f.FlatType) .Include(f => f.FlatParkings) .Include(f => f.FlatOwners) .Include(f => f.FlatOwners.Select(s => s.Flat)) .Include(f => f.FlatOwners.Select(s => s.FlatOwner)) .Include(f => f.FlatOwners.Select(s => s.FlatOwner.Gender)) .Include(m => m.Approvals) .Include(m => m.Comments) .ToList()); } }); return(taskResult); }
public Task <List <FlatReportResult> > Report(FlatSearchParams searchParams) { var taskResult = Task.Run(() => { using (var context = new DbContext()) { var societyIdParameter = new SqlParameter("@SocietyId", searchParams.SocietyId); var floorIdParameter = new SqlParameter("@FloorId", DBNull.Value); if (searchParams.FloorId.HasValue) { floorIdParameter.Value = searchParams.FloorId.Value; } var facilityIdParameter = new SqlParameter("@FacilityId", DBNull.Value); if (searchParams.FacilityId.HasValue) { facilityIdParameter.Value = searchParams.FacilityId.Value; } var flatNameParameter = new SqlParameter("@FlatName", DBNull.Value); if (!string.IsNullOrEmpty(searchParams.FlatName)) { flatNameParameter.Value = searchParams.FlatName; } var ownerParameter = new SqlParameter("@Owner", DBNull.Value); if (!string.IsNullOrEmpty(searchParams.Owner)) { ownerParameter.Value = searchParams.Owner; } var tenantParameter = new SqlParameter("@Tenant", DBNull.Value); if (!string.IsNullOrEmpty(searchParams.Tenant)) { tenantParameter.Value = searchParams.Tenant; } var usernameParameter = new SqlParameter("@Username", DBNull.Value); if (!string.IsNullOrEmpty(searchParams.Username)) { usernameParameter.Value = searchParams.Username; } var result = context.Database .SqlQuery <FlatReportResult>("GetFlatwiseOwnerTenant @SocietyId,@FloorId,@FacilityId,@FlatName,@Owner,@Tenant,@Username", societyIdParameter, floorIdParameter, facilityIdParameter, flatNameParameter, ownerParameter, tenantParameter, usernameParameter) .ToList(); foreach (var item in result) { if (!string.IsNullOrEmpty(item.Tenants)) { var ap = XDocument.Parse(item.Tenants); item.TenantList = new List <TenantResult>(); foreach (var element in ap.Descendants("TRow")) { var tenant = new TenantResult(); tenant.Name = element.Element("Name").Value; tenant.Id = Convert.ToInt64(element.Element("Id").Value); item.TenantList.Add(tenant); } } } return(result); } }); return(taskResult); }
public Task <List <FlatReportResult> > Report(FlatSearchParams searchParams) { return(_flatRepository.Report(searchParams)); }
public Task <List <Flat> > List(FlatSearchParams searchParams) { return(_flatRepository.List(searchParams)); }