Пример #1
0
        public Projection Create(string email, int portfolioId, double projectionValue, RiskType risk, double? optimisticProjection,
            double? pessimisticProjection, Dictionary<int, double> distribution)
        {
            var user = UserBusiness.GetValidUser(email);
            var portfolio = PortfolioBusiness.GetValidByOwner(user.Id, portfolioId);
            if (portfolio == null)
                throw new ArgumentException("Invalid portfolio.");

            return Create(portfolio, projectionValue, risk, optimisticProjection, pessimisticProjection, distribution);
        }
Пример #2
0
        public List <Distribution> Create(string email, int portfolioId, Dictionary <int, double> distribution)
        {
            var user      = UserBusiness.GetValidUser(email);
            var portfolio = PortfolioBusiness.GetValidByOwner(user.Id, portfolioId);

            if (portfolio == null)
            {
                throw new ArgumentException("Invalid portfolio.");
            }

            var projection = ProjectionBusiness.Get(portfolio.ProjectionId.Value);

            if (projection == null)
            {
                throw new ArgumentException("Invalid projection.");
            }

            var risk = PortfolioBusiness.GetRisk(projection.ProjectionValue, distribution);

            return(ProjectionBusiness.Create(portfolio, projection.ProjectionValue, risk, projection.OptimisticProjectionValue,
                                             projection.PessimisticProjectionValue, distribution).Distribution);
        }