示例#1
0
        static RatedRouteDto mapToRoute(CarrierRouteRow pCarrierRouteRow, CarrierAcctDto pCarrierAcct, BaseRouteDto pBaseRoute, RouteState pCarrierRouteState)
        {
            if (pCarrierRouteRow == null)
            {
                return(null);
            }

            var _route = new RatedRouteDto();

            _route.RatedRouteId  = pCarrierRouteRow.Carrier_route_id;
            _route.Status        = pCarrierRouteRow.RouteStatus;
            _route.ACDTarget     = pCarrierRouteRow.Acd_target;
            _route.ACDTimeWindow = pCarrierRouteRow.Acd_time_window;
            _route.ASRTarget     = pCarrierRouteRow.Asr_target;
            _route.ASRTimeWindow = pCarrierRouteRow.Asr_time_window;
            _route.NextEP        = pCarrierRouteRow.Next_ep;

            _route.AccountId     = pCarrierAcct.CarrierAcctId;
            _route.AccountName   = pCarrierAcct.Name;
            _route.AccountStatus = pCarrierAcct.Status;

            _route.BaseRoute  = pBaseRoute;
            _route.RouteState = pCarrierRouteState;

            _route.DefaultRatingInfo = pCarrierAcct.DefaultRatingInfo;

            return(_route);
        }
示例#2
0
        static CarrierRouteRow mapToCarrierRouteRow(RatedRouteDto pRoute)
        {
            if (pRoute == null)
            {
                return(null);
            }

            var _carrierRouteRow = new CarrierRouteRow();

            _carrierRouteRow.Carrier_route_id = pRoute.RatedRouteId;
            _carrierRouteRow.RouteStatus      = pRoute.Status;
            _carrierRouteRow.Acd_target       = pRoute.ACDTarget;
            _carrierRouteRow.Acd_time_window  = pRoute.ACDTimeWindow;
            _carrierRouteRow.Asr_target       = pRoute.ASRTarget;
            _carrierRouteRow.Asr_time_window  = pRoute.ASRTimeWindow;
            _carrierRouteRow.Next_ep          = pRoute.NextEP;

            _carrierRouteRow.Carrier_acct_id = pRoute.AccountId;

            if (pRoute.BaseRouteId == 0)
            {
                _carrierRouteRow.IsRoute_idNull = true;
            }
            else
            {
                _carrierRouteRow.Route_id = pRoute.BaseRouteId;
            }

            return(_carrierRouteRow);
        }
示例#3
0
        internal static void Update(Rbr_Db pDb, RatedRouteDto pRoute)
        {
            //TODO: ??? confirm what else should be changed ???
            var _carrierRouteRow = mapToCarrierRouteRow(pRoute);

            pDb.CarrierRouteCollection.Update(_carrierRouteRow);
        }
        internal static void Update(Rbr_Db pDb, RatedRouteDto pRoute)
        {
            var _wholesaleRouteRow = mapToWholesaleRouteRow(pRoute);

            pDb.WholesaleRouteCollection.Update(_wholesaleRouteRow);
            //pDb.AddChangedObject(new CustomerRouteKey(TxType.Delete, _wholesaleRouteRow.Wholesale_route_id));
        }
示例#5
0
 protected int getWholesaleRouteId(Rbr_Db pDb, short pServiceId, int pBaseRouteId, int pRoutingPlanId)
 {
     try {
         RatedRouteDto _wholesaleRoute = CustomerRouteManager.GetRouteByServiceIdBaseRouteId(pDb, pServiceId, pBaseRouteId, pRoutingPlanId);
         if (_wholesaleRoute == null)
         {
             string _msg = string.Format("Skipping Route, doesn't exists in DialPlan. {0}, {1}, {2}.", pServiceId, pBaseRouteId, pRoutingPlanId);
             TimokLogger.Instance.LogRbr(LogSeverity.Error, "ServiceController.importRatesOnly", string.Format("{0}", _msg));
             Host.ReportStatus(_msg);
             return(0);
         }
         if (_wholesaleRoute.RoutingPlanId <= 0)
         {
             string _msg = string.Format("Skipping Route, doesn't exists in RoutingPlan. {0}, {1}, {2}.", pServiceId, pBaseRouteId, pRoutingPlanId);
             TimokLogger.Instance.LogRbr(LogSeverity.Error, "ServiceController.importRatesOnly", string.Format("ServiceController.importRatesOnly | {0}", _msg));
             Host.ReportStatus(_msg);
             return(0);
         }
         return(_wholesaleRoute.RatedRouteId);
     }
     catch (Exception _ex) {
         string _msg = string.Format("ERROR: {0}, Retreiving WholesaleRoute: {1}, {2}, {3}", pServiceId, pBaseRouteId, pRoutingPlanId, _ex.Message);
         Host.ReportStatus(_msg);
         TimokLogger.Instance.LogRbr(LogSeverity.Error, "RatesImporter.getWholesaleRoute", string.Format("{0}\r\n{1}", _msg, _ex));
         throw;
     }
 }
        static WholesaleRouteRow mapToWholesaleRouteRow(RatedRouteDto pRoute)
        {
            if (pRoute == null)
            {
                return(null);
            }

            var _wholesaleRouteRow = new WholesaleRouteRow();

            _wholesaleRouteRow.Wholesale_route_id = pRoute.RatedRouteId;
            //TODO: should we add ServiceId to Route
            _wholesaleRouteRow.Service_id  = pRoute.AccountId;
            _wholesaleRouteRow.RouteStatus = pRoute.Status;

            if (pRoute.BaseRouteId == 0)
            {
                _wholesaleRouteRow.IsRoute_idNull = true;
            }
            else
            {
                _wholesaleRouteRow.Route_id = pRoute.BaseRouteId;
            }

            return(_wholesaleRouteRow);
        }
示例#7
0
        //public static RatingInfoDto[] GetRates(short pAcctId, int pCountryId, RouteType pRouteType, DateTime pDate) {
        //  using (var _db = new Rbr_Db()) {
        //    if (pRouteType == RouteType.Carrier) {
        //      throw new NotImplementedException();
        //    }
        //    if (pRouteType == RouteType.Wholesale) {
        //      return getWholesaleRates(_db, pAcctId, pRouteType, pCountryId, pDate);
        //    }
        //    //else if (pRouteType == RouteType.Retail) {
        //    //  //TODO:
        //    //}
        //    throw new ArgumentException(string.Format("UNSUPPORTED Type : {0}", pRouteType), "pRouteType");
        //  }
        //}

        public static RatingHistoryEntry GetNewRatingHistoryEntry(int pRatedRouteId, RouteType pRouteType)
        {
            using (var _db = new Rbr_Db()) {
                RatedRouteDto _route = null;
                if (pRouteType == RouteType.Carrier)
                {
                    _route = CarrierRouteManager.Get(_db, pRatedRouteId);
                }
                else if (pRouteType == RouteType.Wholesale)
                {
                    _route = CustomerRouteManager.Get(_db, pRatedRouteId);
                }
                else if (pRouteType == RouteType.Retail)
                {
                }
                if (_route != null)
                {
                    var _ratingInfo = _route.DefaultRatingInfo.Clone();
                    if (_ratingInfo != null)
                    {
                        var _ratingHistoryEntry = new RatingHistoryEntry(pRouteType, pRatedRouteId, DateTime.Today, Configuration.Instance.Db.SqlSmallDateTimeMaxValue, _ratingInfo.Clone());
                        _ratingHistoryEntry.HasChanged = true;
                        return(_ratingHistoryEntry);
                    }
                }
                return(null);
            }
        }
示例#8
0
 protected int getCarrierRouteId(Rbr_Db pDb, short pCarrierAcctId, int pBaseRouteId)
 {
     try {
         RatedRouteDto _carrierRoute = CarrierRouteManager.Get(pDb, pCarrierAcctId, pBaseRouteId);
         if (_carrierRoute == null)
         {
             string _msg = string.Format("Skipping Route, doesn't exists in DialPlan. {0}, {1}.", pCarrierAcctId, pBaseRouteId);
             TimokLogger.Instance.LogRbr(LogSeverity.Error, "ServiceController.getCarrierRouteId", string.Format("ServiceController.importRatesOnly | {0}", _msg));
             Host.ReportStatus(_msg);
             return(0);
         }
         return(_carrierRoute.RatedRouteId);
     }
     catch (Exception _ex) {
         string _msg = string.Format("ERROR: {0}, getCarrierRouteId: {1}, {2}", pCarrierAcctId, pBaseRouteId, _ex.Message);
         Host.ReportStatus(_msg);
         TimokLogger.Instance.LogRbr(LogSeverity.Error, "RatesImporter.getCarrierRouteId", string.Format("{0}\r\n{1}", _msg, _ex));
         throw;
     }
 }
        static RatedRouteDto mapToRoute(WholesaleRouteRow pWholesaleRouteRow, int pRoutingPlanId, RoutingAlgorithmType pRoutingAlgorithmType, ServiceDto pService, BaseRouteDto pBaseRoute, RouteState pRouteState)
        {
            if (pWholesaleRouteRow == null)
            {
                return(null);
            }

            var _route = new RatedRouteDto
            {
                RatedRouteId      = pWholesaleRouteRow.Wholesale_route_id,
                AccountId         = pService.ServiceId,
                AccountName       = pService.Name,
                AccountStatus     = pService.Status,
                RoutingPlanId     = pRoutingPlanId,
                Algorithm         = pRoutingAlgorithmType,
                Status            = pWholesaleRouteRow.RouteStatus,
                BaseRoute         = pBaseRoute,
                RouteState        = pRouteState,
                DefaultRatingInfo = pService.DefaultRatingInfo
            };

            return(_route);
        }
示例#10
0
 public void DeleteRoute(RatedRouteDto pRoute, ViewContext pContext)
 {
     using (var _db = new Rbr_Db()) {
         using (var _tx = new Transaction(_db, pRoute, pContext)) {
             if (pContext == ViewContext.Carrier)
             {
                 CarrierRouteManager.Delete(_db, pRoute);
             }
             else if (pContext == ViewContext.Customer)
             {
                 CustomerRouteManager.Delete(_db, pRoute);
             }
             else if (pContext == ViewContext.Service)
             {
                 CustomerRouteManager.Delete(_db, pRoute);
             }
             else
             {
                 throw new NotImplementedException("ViewContext: " + pContext);
             }
             _tx.Commit();
         }
     }
 }
示例#11
0
 internal static void Delete(Rbr_Db pDb, RatedRouteDto pRoute)
 {
     //NOTE: !!! NO DELETE !!!, Archive only
     pRoute.Status = Status.Archived;
     Update(pDb, pRoute);
 }
示例#12
0
 public static void DeleteDialPeerByRoute(CarrierAcctDto pCarrierAcct, EndPointRow pEndPointRow, RatedRouteDto pCarrierRoute)
 {
     using (var _db = new Rbr_Db()) {
         using (var _tx = new Transaction(_db, pCarrierAcct, pEndPointRow, pCarrierRoute)) {
             var _carrierAcctEPMapRow = CarrierAcctManager.GetDialPeer(_db, pCarrierAcct.CarrierAcctId, pEndPointRow.End_point_id, pCarrierRoute.RatedRouteId);
             CarrierAcctManager.DeleteDialPeer(_db, _carrierAcctEPMapRow, pEndPointRow);
             _tx.Commit();
         }
     }
 }
示例#13
0
 public static void AddDialPeerByRoute(CarrierAcctDto pCarrierAcct, EndPointRow pEndPointRow, RatedRouteDto pCarrierRoute)
 {
     using (var _db = new Rbr_Db()) {
         using (var _tx = new Transaction(_db, pCarrierAcct, pEndPointRow, pCarrierRoute)) {
             var _carrierAcctEPMapRow = new CarrierAcctEPMapRow
             {
                 Carrier_acct_id  = pCarrierAcct.CarrierAcctId,
                 Carrier_route_id = pCarrierRoute.RatedRouteId,
                 End_point_id     = pEndPointRow.End_point_id,
                 Priority         = 0
             };
             CarrierAcctManager.AddDialPeer(_db, _carrierAcctEPMapRow, pEndPointRow);
             _tx.Commit();
         }
     }
 }
示例#14
0
        static TerminationChoiceDto mapToTerminationChoice(TerminationChoiceRow_Base pTerminationChoiceRow, RatedRouteDto pCarrierRoute)
        {
            if (pTerminationChoiceRow == null)
            {
                return(null);
            }

            var _terminationChoice = new TerminationChoiceDto();

            _terminationChoice.TerminationChoiceId = pTerminationChoiceRow.Termination_choice_id;
            _terminationChoice.RoutingPlanId       = pTerminationChoiceRow.Routing_plan_id;
            _terminationChoice.RouteId             = pTerminationChoiceRow.Route_id;
            _terminationChoice.Priority            = pTerminationChoiceRow.Priority;

            _terminationChoice.CarrierBaseRouteStatus = pCarrierRoute.BaseRoute.BaseStatus;
            _terminationChoice.CarrierRouteId         = pCarrierRoute.RatedRouteId;
            _terminationChoice.CarrierRouteName       = pCarrierRoute.Name;
            _terminationChoice.CarrierRouteStatus     = pCarrierRoute.Status;
            _terminationChoice.CarrierRouteState      = pCarrierRoute.RouteState;
            _terminationChoice.CarrierAcctName        = pCarrierRoute.AccountName;
            _terminationChoice.CarrierAcctStatus      = pCarrierRoute.AccountStatus;

            _terminationChoice.Version = pTerminationChoiceRow.Version;

            return(_terminationChoice);
        }