public IHttpActionResult GetAll([FromUri] AllSecuritiesQuery query) { if (user.Licence.Stocks == null || user.Licence.Stocks.Count == 0) { return(Ok()); } var exchanges = (from s in user.Licence.Stocks join e in query.exchangesPackagees on s.id equals e select s.id).ToList(); query.exchangesPackagees = exchanges; var res = service.GetAllSecurities(query); return(Ok(res)); }
}//GetBMPrices public TopSecuritiesViewModel GetAllSecurities(AllSecuritiesQuery query) { TopSecuritiesViewModel vm = new TopSecuritiesViewModel(); repository.Execute(session => { int startRow = (query.pageNumber - 1) * query.pageSize; var securities = session.Query <TopSecurities>().Where(x => query.exchangesPackagees.Contains(x.idMarket)); if (query.sectors.Count > 0) { securities = securities.Where(x => query.sectors.Contains(x.idSector)); } if (query.maxRiskLevel > 0) { double weekRiskLevel = (query.maxRiskLevel / Math.Sqrt(52)) / 100; securities = securities.Where(x => x.StdYield <= weekRiskLevel); } if (!string.IsNullOrEmpty(query.searchText)) { securities = securities.Where(x => x.strName.Contains(query.searchText)); } if (query.hideDisqualified) { securities = securities.Where(x => x.idSecurityRank != 3); } securities = securities.OrderBy($"{query.field} {query.direction}"); vm.NumOfRecords = securities.Count(); vm.Securities = AutoMapper.Mapper.Map <List <Models.dbo.Security> >(securities.Skip(startRow).Take(query.pageSize)); for (int iSecs = 0; iSecs < vm.Securities.Count; iSecs++) { // Fixes Risk / return values to yearly vm.Securities[iSecs].AvgYield *= 52; vm.Securities[iSecs].AvgYieldNIS *= 52; vm.Securities[iSecs].StdYield *= Math.Sqrt(52); vm.Securities[iSecs].StdYieldNIS *= Math.Sqrt(52); } }); return(vm); }
public TopSecuritiesViewModel GetAllSecurities(AllSecuritiesQuery query) { TopSecuritiesViewModel securitiesVM = SecuritiesBL.GetAllSecurities(query); return(securitiesVM); }