public IHttpActionResult GetComparables(string subjectBBL, BAL.AutomatedCMAFilters filters) { if (!BAL.BBL.IsValidFormat(subjectBBL)) { return(this.BadRequest("Incorrect BBL - Borough Block Lot number")); } try { var result = DAL.CMA.GetComparables(filters.algorithmType, subjectBBL, filters.basicFilter.maxRecords, filters.basicFilter.sameNeighborhood, filters.basicFilter.sameSchoolDistrict, filters.basicFilter.sameZip, filters.basicFilter.sameBlock, filters.basicFilter.sameStreet, filters.basicFilter.monthOffset, filters.basicFilter.minSalePrice, filters.basicFilter.maxSalePrice, filters.basicFilter.classMatchType, filters.basicFilter.isNotIntraFamily, filters.basicFilter.isSelleraCompany, filters.basicFilter.isBuyeraCompany, filters.basicFilter.minSimilarity); if (result == null) { return(NotFound()); } return(Ok(result)); } catch (Exception e) { Common.Logs.log().Error(string.Format("Exception encountered for BBL: {0}{1}", subjectBBL, Common.Logs.FormatException(e))); return(Common.HttpResponse.InternalError(Request, "Internal Error in processing request")); } }
public IHttpActionResult RunAutomatedCMA(string subjectBBL, BAL.AutomatedCMAFilters filters) { if (!BAL.BBL.IsValidFormat(subjectBBL)) { return(this.BadRequest("Incorrect BBL - Borough Block Lot number")); } if (filters == null) { return(this.BadRequest("Malformed filter - Check the api body")); } try { BAL.AutomatedCMAResults result = null; switch (filters.intent) { case (int)CMAType.Regular: result = BAL.CMA.GetAutomatedCMA(filters.algorithmType, subjectBBL, filters.basicFilter.maxRecords, filters.basicFilter.sameNeighborhood, filters.basicFilter.sameSchoolDistrict, filters.basicFilter.sameZip, filters.basicFilter.sameBlock, filters.basicFilter.sameStreet, filters.basicFilter.monthOffset, filters.basicFilter.minSalePrice, filters.basicFilter.maxSalePrice, filters.basicFilter.classMatchType, filters.basicFilter.isNotIntraFamily, filters.basicFilter.isSelleraCompany, filters.basicFilter.isBuyeraCompany, filters.basicFilter.minSimilarity); break; case (int)CMAType.ShortSale: result = BAL.CMA.GetAutomatedShortSaleCMA(subjectBBL, filters); break; case (int)CMAType.Rehab: result = BAL.CMA.GetAutomatedRehabCMA(subjectBBL, filters); break; default: return(this.BadRequest("Incorrect Type of CMA request - Valid values for intent are 1, 2, 3"));; } if (result == null) { return(NotFound()); } return(Ok(result)); } catch (Exception e) { Common.Logs.log().Error(string.Format("Exception encountered while running automated for BBL: {0}{1}", subjectBBL, Common.Logs.FormatException(e))); return(Common.HttpResponse.InternalError(Request, "Internal Error in processing request")); } }