Ejemplo n.º 1
0
        internal static RatedRouteDto Get(Rbr_Db pDb, CarrierAcctDto pCarrierAcct, CarrierRouteRow pCarrierRouteRow)
        {
            if (pCarrierRouteRow == null)
            {
                return(null);
            }
            var _activeCarrierRouteEPMapCount = pDb.CarrierAcctEPMapCollection.GetActiveCountByCarrierRouteId(pCarrierRouteRow.Carrier_route_id);
            var _carrierRouteState            = (_activeCarrierRouteEPMapCount > 0) ? RouteState.Valid : RouteState.NoActiveEndpoints;

            if (pCarrierAcct.IsRatingEnabled)
            {
                //get Rates status
                bool _allRatesValid;
                CarrierRateHistoryRow _carrierRateHistoryRow = pDb.CarrierRateHistoryCollection.GetByCarrierRouteIdDate(pCarrierRouteRow.Carrier_route_id, DateTime.Today);
                if (_carrierRateHistoryRow == null)
                {
                    _allRatesValid = false;
                }
                else
                {
                    _allRatesValid = pDb.RateCollection.HasAllValidRates(_carrierRateHistoryRow.Rate_info_id);
                }
                _carrierRouteState = (_allRatesValid) ? _carrierRouteState | RouteState.Valid : _carrierRouteState | RouteState.NoRates;
            }
            var _baseRoute = RoutingManager.GetBaseRoute(pDb, pCarrierRouteRow.Route_id);
            var _route     = mapToRoute(pCarrierRouteRow, pCarrierAcct, _baseRoute, _carrierRouteState);

            return(_route);
        }
Ejemplo n.º 2
0
        internal static RatedRouteDto GetDefaultRoute(Rbr_Db pDb, CarrierAcctDto pCarrierAcct, RouteState pValid)
        {
            var _defaultCarrierRouteRow = pDb.CarrierRouteCollection.GetByPrimaryKey(-pCarrierAcct.CarrierAcctId);
            //if (pCarrierAcctRow.IsRatingEnabled) {
            //NOTE: DefaultRatingInfo is always created no metter what
            //and it should be loaded as well no metter what
            //}
            var _baseRoute = RoutingManager.GetBaseRoute(pDb, _defaultCarrierRouteRow.Route_id);

            return(mapToRoute(_defaultCarrierRouteRow, pCarrierAcct, _baseRoute, pValid));
        }
Ejemplo n.º 3
0
        public static RatedRouteDto Get(Rbr_Db pDb, ServiceDto pService, int pRoutingPlanId, WholesaleRouteRow pWholesaleRouteRow)
        {
            try {
                if (pWholesaleRouteRow == null)
                {
                    return(null);
                }
                var _routingPlanDetailRow = pDb.RoutingPlanDetailCollection.GetByPrimaryKey(pRoutingPlanId, pWholesaleRouteRow.Route_id);
                var _routingPlanId        = 0;
                var _routingAlgorithmType = RoutingAlgorithmType.Unknown;
                if (_routingPlanDetailRow != null)
                {
                    _routingPlanId        = _routingPlanDetailRow.Routing_plan_id;
                    _routingAlgorithmType = _routingPlanDetailRow.Algorithm;
                }
                var _routeState = (_routingPlanDetailRow != null) ? RouteState.Valid : RouteState.NotInRoutingPlan;

                if (pService.IsRatingEnabled)
                {
                    //get Rates status
                    bool _allRatesValid;
                    var  _wholesaleRateHistoryRow = pDb.WholesaleRateHistoryCollection.GetByWholesaleRouteIdDate(pWholesaleRouteRow.Wholesale_route_id, DateTime.Today);
                    if (_wholesaleRateHistoryRow == null)
                    {
                        _allRatesValid = false;
                    }
                    else
                    {
                        _allRatesValid = pDb.RateCollection.HasAllValidRates(_wholesaleRateHistoryRow.Rate_info_id);
                    }
                    _routeState = (_allRatesValid) ? _routeState | RouteState.Valid : _routeState | RouteState.NoRates;
                }
                var _baseRoute = RoutingManager.GetBaseRoute(pDb, pWholesaleRouteRow.Route_id);
                return(mapToRoute(pWholesaleRouteRow, _routingPlanId, _routingAlgorithmType, pService, _baseRoute, _routeState));
            }
            catch (Exception _ex) {
                var _exc = _ex;
            }
            return(null);
        }