Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        }//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);
        }
Ejemplo n.º 3
0
        public TopSecuritiesViewModel GetAllSecurities(AllSecuritiesQuery query)
        {
            TopSecuritiesViewModel securitiesVM = SecuritiesBL.GetAllSecurities(query);

            return(securitiesVM);
        }