static void addDialCodeForProperBaseRoute(Rbr_Db pDb, BaseRouteDto pBaseRoute) { if (pBaseRoute.IsProper) { if (pBaseRoute.Country.CountryCode == 1) { //no default code for countries with country code 1 (Canada, USA, ???) } else { //TODO: should we try to find existing, and if found reassign to Proper Route var _properDialCode = CallingPlanManager.GetDialCode(pDb, pBaseRoute.CallingPlanId, pBaseRoute.Country.CountryCode); if (_properDialCode == null) { _properDialCode = new DialCodeDto(); } else { CallingPlanManager.DeleteDialCode(pDb, _properDialCode); } _properDialCode.CallingPlanId = pBaseRoute.CallingPlanId; _properDialCode.Code = pBaseRoute.Country.CountryCode; _properDialCode.BaseRouteId = pBaseRoute.BaseRouteId; CallingPlanManager.AddDialCode(pDb, _properDialCode); } } }
internal static BaseRouteDto[] GetUnusedBaseRoutes(Rbr_Db pDb, short pAccountId, int pCallingPlanId, ViewContext pContext, int pRoutingPlanId) { var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, pCallingPlanId); RouteRow[] _routeRows = null; if (pContext == ViewContext.Carrier) { _routeRows = pDb.RouteCollection.GetUnusedByCallingPlanIdCarrierAcctId(pCallingPlanId, pAccountId); } else if (pContext == ViewContext.Service) { _routeRows = pDb.RouteCollection.GetUnusedByCallingPlanIdRoutingPlanIdServiceId(pCallingPlanId, pRoutingPlanId, pAccountId); } if (_routeRows == null || _routeRows.Length == 0) { return(null); } var _baseRoutes = new List <BaseRouteDto>(); foreach (var _routeRow in _routeRows) { var _country = CallingPlanManager.GetCountry(pDb, _routeRow.Country_id); var _dialCodeCount = CallingPlanManager.GetDialCodeCount(pDb, _routeRow.Route_id); var _routeState = (_dialCodeCount > 0) ? RouteState.Valid : RouteState.NoDialCodes; _baseRoutes.Add(mapToBaseRoute(_routeRow, _country, _callingPlan, _routeState)); } return(sortBaseRoutes(_baseRoutes.ToArray())); }
internal static RoutingPlanDto GetRoutingPlan(Rbr_Db pDb, int pRoutingPlanId) { var _routingPlanRow = pDb.RoutingPlanCollection.GetByPrimaryKey(pRoutingPlanId); var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, _routingPlanRow.Calling_plan_id); return(mapToRoutingPlan(_routingPlanRow, _callingPlan)); }
internal static BaseRouteDto[] GetUnusedByCallingPlanIdRoutingPlanId(Rbr_Db pDb, int pCallingPlanId, int pRoutingPlanId) { var _routeRows = pDb.RouteCollection.GetUnusedByCallingPlanIdRoutingPlanId(pCallingPlanId, pRoutingPlanId); var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, pCallingPlanId); var _routeList = getBaseRouteList(pDb, _callingPlan, _routeRows); return(sortBaseRoutes(_routeList.ToArray())); }
internal static RoutingPlanDto[] GetRoutingPlans(Rbr_Db pDb, int pCallingPlanId) { var _list = new List <RoutingPlanDto>(); var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, pCallingPlanId); var _routingPlanRows = pDb.RoutingPlanCollection.GetByCalling_plan_id(pCallingPlanId); foreach (var _routingPlanRow in _routingPlanRows) { _list.Add(mapToRoutingPlan(_routingPlanRow, _callingPlan)); } return(_list.ToArray()); }
static List <BaseRouteDto> getBaseRouteList(Rbr_Db pDb, CallingPlanDto pCallingPlan, IEnumerable <RouteRow> pRouteRows) { var _routeList = new List <BaseRouteDto>(); foreach (var _routeRow in pRouteRows) { var _country = CallingPlanManager.GetCountry(pDb, _routeRow.Country_id); var _dialCodeCount = CallingPlanManager.GetDialCodeCount(pDb, _routeRow.Route_id); var _routeState = (_dialCodeCount > 0) ? RouteState.Valid : RouteState.NoDialCodes; var _route = mapToBaseRoute(_routeRow, _country, pCallingPlan, _routeState); _routeList.Add(_route); } return(_routeList); }
internal static BaseRouteDto GetProperRoute(Rbr_Db pDb, int pCallingPlanId, int pCountryId) { var _properRouteRow = GetProper(pDb, pCallingPlanId, pCountryId); if (_properRouteRow == null) { return(null); } var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, pCallingPlanId); var _country = CallingPlanManager.GetCountry(pDb, pCountryId); var _dialCodeCount = CallingPlanManager.GetDialCodeCount(pDb, _properRouteRow.Route_id); var _routeState = (_dialCodeCount > 0) ? RouteState.Valid : RouteState.NoDialCodes; return(mapToBaseRoute(_properRouteRow, _country, _callingPlan, _routeState)); }
internal static BaseRouteDto[] GetBaseRoutesByRoutingPlanId(Rbr_Db pDb, int pCallingPlanId, int pRoutingPlanId) { RouteRow[] _routeRows; if (pRoutingPlanId > 0) { _routeRows = GetByCallingPlanIdRoutingPlanId(pDb, pCallingPlanId, pRoutingPlanId); } else { _routeRows = GetByCallingPlanId(pDb, pCallingPlanId); } var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, pCallingPlanId); var _routeList = getBaseRouteList(pDb, _callingPlan, _routeRows); return(sortBaseRoutes(_routeList.ToArray())); }
//internal static BaseRouteDto[] MapToBaseRoutes(Rbr_Db pDb, RouteRow[] pRouteRows, CountryRow[] pCountryRows, CallingPlanRow pCallingPlanRow) { // ArrayList _list = new ArrayList(); // if (pRouteRows != null) { // foreach (RouteRow _routeRow in pRouteRows) { // CountryRow _countryRow = getCountry(_routeRow.Country_id, pCountryRows); // int _dialCodeCount = pDb.DialCodeCollection.GetCount( /*_routeRow.Calling_plan_id,*/ _routeRow.Route_id); // RouteState _routeState = ( _dialCodeCount > 0 ) ? RouteState.Valid : RouteState.NoDialCodes; // BaseRouteDto _baseRoute = MapToBaseRoute(_routeRow, _countryRow, pCallingPlanRow, _routeState); // _list.Add(_baseRoute); // } // } // return (BaseRouteDto[])_list.ToArray(typeof(BaseRouteDto)); //} public static BaseRouteDto MapToBaseRoute(Rbr_Db pDb, RouteRow pRouteRow) //}, CountryRow pCountryRow, CallingPlanRow pCallingPlanRow, RouteState pRouteState) { { if (pRouteRow == null) { return(null); } var _baseRoute = new BaseRouteDto(); _baseRoute.BaseRouteId = pRouteRow.Route_id; _baseRoute.Name = pRouteRow.Name; _baseRoute.BaseStatus = pRouteRow.RouteStatus; _baseRoute.CallingPlan = CallingPlanManager.GetCallingPlan(pDb, pRouteRow.Calling_plan_id); _baseRoute.Country = CallingPlanManager.GetCountry(pDb, pRouteRow.Country_id); _baseRoute.RoutingNumber = pRouteRow.Routing_number; _baseRoute.Version = pRouteRow.Version; _baseRoute.RouteState = RouteState.Valid; return(_baseRoute); }
internal static BaseRouteDto GetBaseRoute(Rbr_Db pDb, int pBaseRouteId) { if (pBaseRouteId == 0) { return(null); } var _routeRow = Get(pDb, pBaseRouteId); if (_routeRow == null) { return(null); } var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, _routeRow.Calling_plan_id); var _country = CallingPlanManager.GetCountry(pDb, _routeRow.Country_id); var _dialCodeCount = pDb.DialCodeCollection.GetCount(_routeRow.Route_id); var _routeState = (_dialCodeCount > 0) ? RouteState.Valid : RouteState.NoDialCodes; return(mapToBaseRoute(_routeRow, _country, _callingPlan, _routeState)); }
//-------------------- Private ---------------------------------------------- static CarrierAcctDto getAcct(Rbr_Db pDb, CarrierAcctRow pCarrierAcctRow) { if (pCarrierAcctRow == null) { return(null); } var _partner = PartnerManager.Get(pDb, pCarrierAcctRow.Partner_id); if (_partner == null) { return(null); } var _callingPlan = CallingPlanManager.GetCallingPlan(pDb, pCarrierAcctRow.Calling_plan_id); if (_callingPlan == null) { return(null); } var _carrierAcct = mapToCarrierAcct(pCarrierAcctRow, _partner, _callingPlan); _carrierAcct.DefaultRoute = CarrierRouteManager.GetDefaultRoute(pDb, _carrierAcct, RouteState.Valid); //-- GetDefaultCarrierRatingInfo if (_carrierAcct.IsRatingEnabled) { var _defaultCarrierRouteRow = pDb.CarrierRouteCollection.GetByPrimaryKey(-pCarrierAcctRow.Carrier_acct_id); var _carrierRateHistoryRows = pDb.CarrierRateHistoryCollection.GetByCarrier_route_id(_defaultCarrierRouteRow.Carrier_route_id); if (_carrierRateHistoryRows.Length < 1) { TimokLogger.Instance.LogRbr(LogSeverity.Critical, "CarrierAcctManager.GetDefaultCarrierRatingInfo", string.Format("Unexpected: _carrierRateHistoryRows.Length = {0}", _carrierRateHistoryRows.Length)); throw new Exception(string.Format("CarrierAcctManager.GetDefaultCarrierRatingInfo, Unexpected: _carrierRateHistoryRows.Length = {0}", _carrierRateHistoryRows.Length)); } _carrierAcct.DefaultRatingInfo = RatingManager.GetRatingInfo(pDb, _carrierRateHistoryRows[0].Rate_info_id, false); } return(_carrierAcct); }