コード例 #1
0
        public JsonResult GetListings(string sortdatafield, string sortorder, int pagesize, int pagenum)
        {
            Models.SummaryModel summary = new Models.SummaryModel();
            var query = BuildQuery(@"
                    Select  VLISTING.*
             					from VLISTING ");
            if (String.IsNullOrEmpty(sortdatafield))
            {
                //sortdatafield = "c.sort_order asc,VBUILDING.building_name asc,VBUILDING_VACANCY.floor_numeric desc";
                sortdatafield = "ID";
                sortorder = "";
            }

            query = String.Format("{0} order by {1} {2}", query, sortdatafield, sortorder);
            OracleRepository repo = new OracleRepository();
            var buildings = repo.Query(query, pagenum, pagesize);

            var resultBuilding = repo.Query(BuildQuery(@"Select COUNT(VLISTING.ID) from VLISTING   inner join (Select MAX(ID)as ID from VLISTING Group BY Address, CITY) t on t.ID = VLISTING.ID"));

            var resultVac = repo.Query(BuildQuery(@"Select Count(ID) from VLISTING "));
            //TODO get total acreage for land
            var resultSq = repo.Query(BuildQuery(@"Select Sum(TOTAL_AREA) from VLISTING "));

            if (resultBuilding != null) { summary.TotalBuilding = resultBuilding.ToString(); }
            else { summary.TotalBuilding = "0"; }
            if (resultVac != null) { summary.TotalVacancy = resultVac.ToString(); }
            else { summary.TotalVacancy = "0"; }
            if (resultSq != null) { summary.TotalSqFeet = String.Format("{0:n0}", resultSq); }
            else { summary.TotalSqFeet = "0"; }

            var result = new
            {
                TotalRows = repo.Total(BuildQuery("Select COUNT(*) from VLISTING")),
                Rows = buildings,
                Summary = summary
            };
            return Json(result, JsonRequestBehavior.AllowGet);
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: irongoose/Cresa
        public JsonResult GetBuildingVacancies(string sortdatafield, string sortorder, int pagesize, int pagenum)
        {
            Models.SummaryModel summary = new Models.SummaryModel();
            var query = BuildQuery(@"
                    Select  VBUILDING.BUILDING_ID, VBUILDING.EXT_REF_ID, VBUILDING.BUILDING_NAME, VBUILDING.CLASS_TYP_ID, VBUILDING.CLASS_TYP,
                         VBUILDING.LOCATION_TYP_ID, VBUILDING.LOCATION_TYP, VBUILDING.QRTRLY_RPT_FLAG, VBUILDING.CONTACT_MECH_ID,
                         VBUILDING.ADDRESS1, VBUILDING.POSTAL_CODE, VBUILDING.YEAR_BUILT, VBUILDING.STOREYS, VBUILDING.NET_RENTABLE,
                         VBUILDING.FLOOR_PLATE, VBUILDING.PARKING_RATIO, VBUILDING.PARKING_RATIO_FORMATTED, VBUILDING.LATEST_OP_COST_AMT,
                         VBUILDING.OP_COST_YEAR, VBUILDING.LANDLORD_CONTACT_ID, VBUILDING.LANDLORD_NAME, VBUILDING.OWNER_CONTACT_ID,
                         VBUILDING.OWNER_NAME, VBUILDING.CREATE_DATE, VBUILDING.CREATE_USER, VBUILDING.UPDATE_DATE,
                         VBUILDING.UPDATE_USER, VBUILDING_VACANCY.BUILDING_VACANCY_ID, VBUILDING_VACANCY.LEASE_TYP_ID,
                         VBUILDING_VACANCY.LEASE_TYP_CODE, VBUILDING_VACANCY.LEASE_TYP, VBUILDING_VACANCY.SUITE_NO, VBUILDING_VACANCY.FLOOR,
                         VBUILDING_VACANCY.FLOOR_NUMERIC, VBUILDING_VACANCY.SIZE_SQ, VBUILDING_VACANCY.SMALLEST_DIV,
                         VBUILDING_VACANCY.INDUCEMENTS, VBUILDING_VACANCY.BASE_RENT, VBUILDING_VACANCY.TERM, VBUILDING_VACANCY.ARCHIVED_YN,
                         VBUILDING_VACANCY.LAST_ARCHIVED_DATE, VBUILDING_VACANCY.RETAIL_YN, VBUILDING_VACANCY.EXCLUSIVE_YN,
                         VBUILDING_VACANCY.VACANCY_DESC, VBUILDING_VACANCY.BROKER_NOTES
             					from VBUILDING
                        inner join VBUILDING_VACANCY on VBUILDING.BUILDING_ID= VBUILDING_VACANCY.BUILDING_ID
                        inner join (select typ_id, sort_order
               				from ttype where typ_group = 'CLASS')c on VBUILDING.class_typ_id = c.typ_id");
            if (String.IsNullOrEmpty(sortdatafield))
            {
                sortdatafield = "c.sort_order asc,VBUILDING.building_name asc,VBUILDING_VACANCY.floor_numeric desc";
                sortorder = "";
            }

            query = String.Format("{0} order by {1} {2}", query, sortdatafield, sortorder);
            OracleRepository repo = new OracleRepository();
            var buildings = repo.Query(query, pagenum, pagesize);

            var resultBuilding = repo.Query(BuildQuery(@"
                    Select Count(DISTINCT VBUILDING.BUILDING_ID)
                    from VBUILDING
                        inner join VBUILDING_VACANCY on VBUILDING.BUILDING_ID= VBUILDING_VACANCY.BUILDING_ID
                        inner join (select typ_id, sort_order
               				from ttype where typ_group = 'CLASS')c on VBUILDING.class_typ_id = c.typ_id"));
            var resultVac = repo.Query(BuildQuery(@"
                    Select Count(*)
                     from VBUILDING
                        inner join VBUILDING_VACANCY on VBUILDING.BUILDING_ID= VBUILDING_VACANCY.BUILDING_ID
                        inner join (select typ_id, sort_order
               				from ttype where typ_group = 'CLASS')c on VBUILDING.class_typ_id = c.typ_id "));
            var resultSq = repo.Query(BuildQuery(@"
                    Select Sum(SIZE_SQ)
                     from VBUILDING
                        inner join VBUILDING_VACANCY on VBUILDING.BUILDING_ID= VBUILDING_VACANCY.BUILDING_ID
                        inner join (select typ_id, sort_order
               				from ttype where typ_group = 'CLASS')c on VBUILDING.class_typ_id = c.typ_id "));

            if (resultBuilding != null) { summary.TotalBuilding = resultBuilding.ToString(); }
            else { summary.TotalBuilding = "0"; }
            if (resultVac != null) { summary.TotalVacancy = resultVac.ToString(); }
            else { summary.TotalVacancy = "0"; }
            if (resultSq != null) { summary.TotalSqFeet = String.Format("{0:n0}", resultSq); }
            else { summary.TotalSqFeet = "0"; }

            var result = new
            {
                TotalRows = repo.Total(BuildQuery("Select COUNT(*) from VBUILDING inner join VBUILDING_VACANCY on VBUILDING.BUILDING_ID= VBUILDING_VACANCY.BUILDING_ID")),
                Rows = buildings,
                Summary = summary
            };
            return Json(result, JsonRequestBehavior.AllowGet);
        }