public Routes GetAllRoutes() { Routes routes = new Routes(); using (AmazonSimpleDBClient client = new AmazonSimpleDBClient(_publicKey, _secretKey)) { SelectRequest request = new SelectRequest().WithSelectExpression( string.Format("SELECT * FROM Routes ")); SelectResponse response = client.Select(request); foreach (Item item in response.SelectResult.Item) { string value = item.Attribute.GetValueByName("Id"); Route route = new Route { Id = Guid.Parse(item.Attribute.GetValueByName("Id")), Distance = item.Attribute.GetDoubleValueByName("Distance"), LastTimeRidden = item.Attribute.GetDateTimeValueByName("LastTimeRidden"), Name = item.Attribute.GetValueByName("Name"), Location = item.Attribute.GetValueByName("Location"), }; routes.Add(route); } } return routes; }
public object Any(Routes.EchoRequest request) { if (String.IsNullOrWhiteSpace(request.Input)) return new Response<string> { Success = false }; return new Response<string>(request.Input); }
/// <summary> /// Loads the page and analizes the QueryString to catch de GET vars. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { try { if (Request.QueryString.Get("id") != null) { int idRoute = Convert.ToInt16(Request.QueryString.Get("id")); Routes route = new Routes(); DataTable dt; dt = route.getRouteByID(idRoute); if (dt != null && dt.Columns[0].Caption == "Router_Dont_Exists") { Response.Redirect(webURL + "views/routes/viewallroutes.aspx"); } else if (dt.Rows.Count == 1) { this.routeid = dt.Rows[0].ItemArray[0].ToString(); this.name = dt.Rows[0].ItemArray[1].ToString(); DetailsView1.DataSource = dt; DetailsView1.DataBind(); if (DetailsView1.Rows[2].Cells[1].Text == " ") { DetailsView1.Rows[2].Cells[1].Text = "<a href=\"" + webURL + "views/routes/assignroutes.aspx\">Asignar</a>"; } Customers customers = new Customers(); dt = customers.getCustomersAndAddressesByRoute(Convert.ToInt16(this.routeid)); if (dt != null && dt.Rows.Count > 0 ) { showCustomers = true; GridView1.DataSource = dt; GridView1.DataBind(); } else { showCustomers = false; } } else { Response.Redirect(webURL + "views/routes/viewallroutes.aspx"); } } else { Response.Redirect(webURL + "views/routes/viewallroutes.aspx"); } } catch (Exception ex) { Response.Redirect(webURL + "views/routes/viewallroutes.aspx"); } }
public void SubscribeToConstraintMessageTypes(Routes tab, ITabSetupContext setupContext) { tab.Setup(setupContext); setupContext.MessageBroker.Verify(mb => mb.Subscribe(It.IsAny<Action<ProcessConstraintMessage>>())); setupContext.MessageBroker.Verify(mb => mb.Subscribe(It.IsAny<Action<RouteDataMessage>>())); }
public void MatchConstraintMessageToRoute(Routes tab, ITabContext context, System.Web.Routing.IRouteConstraint constraint) { var route = new System.Web.Routing.Route("url", new System.Web.Routing.RouteValueDictionary { { "Test", "Other" } }, new System.Web.Routing.RouteValueDictionary { { "Test", constraint } }, new System.Web.Routing.RouteValueDictionary { { "Data", "Tokens" } }, new System.Web.Routing.PageRouteHandler("~/Path")); System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Add(route); var routeMessage = new RouteBase.GetRouteData.Message(route.GetHashCode(), new System.Web.Routing.RouteData(), "routeName") .AsSourceMessage(route.GetType(), null) .AsTimedMessage(new TimerResult { Duration = TimeSpan.FromMilliseconds(19) }); var constraintMessage = new RouteBase.ProcessConstraint.Message(new RouteBase.ProcessConstraint.Arguments(new object[] { (HttpContextBase)null, constraint, "test", (System.Web.Routing.RouteValueDictionary)null, System.Web.Routing.RouteDirection.IncomingRequest }), route.GetHashCode(), true) .AsTimedMessage(new TimerResult { Duration = TimeSpan.FromMilliseconds(25) }) .AsSourceMessage(route.GetType(), null); context.TabStore.Setup(mb => mb.Contains(typeof(IList<RouteBase.ProcessConstraint.Message>).AssemblyQualifiedName)).Returns(true).Verifiable(); context.TabStore.Setup(mb => mb.Contains(typeof(IList<RouteBase.GetRouteData.Message>).AssemblyQualifiedName)).Returns(true).Verifiable(); context.TabStore.Setup(mb => mb.Get(typeof(IList<RouteBase.ProcessConstraint.Message>).AssemblyQualifiedName)).Returns(new List<RouteBase.ProcessConstraint.Message> { constraintMessage }).Verifiable(); context.TabStore.Setup(mb => mb.Get(typeof(IList<RouteBase.GetRouteData.Message>).AssemblyQualifiedName)).Returns(new List<RouteBase.GetRouteData.Message> { routeMessage }).Verifiable(); var model = tab.GetData(context) as List<RouteModel>; var itemModel = model[0]; Assert.NotNull(model); Assert.Equal(1, model.Count); Assert.NotNull(itemModel.Constraints); Assert.True(itemModel.IsMatch); Assert.Equal("Test", ((List<RouteConstraintModel>)itemModel.Constraints)[0].ParameterName); Assert.Equal(true, ((List<RouteConstraintModel>)itemModel.Constraints)[0].IsMatch); Assert.NotNull(itemModel.DataTokens); Assert.Equal("Tokens", itemModel.DataTokens["Data"]); Assert.NotNull(itemModel.RouteData); Assert.Equal("Other", ((List<RouteDataItemModel>)itemModel.RouteData)[0].DefaultValue); }
/// <summary> /// Method which loads the gridview with all the Routes. /// </summary> protected void loadGridView() { Routes route = new Routes(); GridView1.DataSource = route.getAllRoutes(); GridView1.DataBind(); }
/// <summary> /// Saves the new Route and makes the validations. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button1_Click(object sender, EventArgs e) { string Name = Security.cleanSQL(TextBox1.Text); string Addresses = null; if (Page.Request["Direcciones"] != null) { Addresses = Security.cleanSQL(Page.Request["Direcciones"]); } if (Security.isEmpty(Name)) { this.setNotification("warning", "¡No hay nombre de ruta!", "Ingrese un nombre de ruta por favor..."); } else { Routes route = new Routes(0, Name, Addresses); int result = route.saveRoute(); switch (result) { case 1: Response.Redirect(webURL + "views/routes/newroute.aspx?action=notify&id=" + 1, false); break; case -1: this.setNotification("warning", "¡Campo repetido!", "Ya existe una ruta con ese nombre..."); break; default: this.setNotification("error", "¡Ooooops!", "Algo salio mal..."); break; } } }
public void ReturnProperNumberOfInstances(Routes tab, ITabContext context) { System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Ignore("Something"); var data = tab.GetData(context) as IList<RouteModel>; Assert.NotNull(data); Assert.Equal(System.Web.Routing.RouteTable.Routes.Count, data.Count); }
public void ReturnRouteInstancesEvenWhenRoutesTableEmpty(Routes tab, ITabContext context, RoutesInspector routeInspector, IInspectorContext routeInspectorContext) { System.Web.Routing.RouteTable.Routes.Clear(); routeInspectorContext.Setup(x => x.ProxyFactory).Returns(new CastleDynamicProxyFactory(routeInspectorContext.Logger, routeInspectorContext.MessageBroker, () => new ExecutionTimer(new Stopwatch()), () => new RuntimePolicy())); routeInspector.Setup(routeInspectorContext); var data = tab.GetData(context) as IList<RouteModel>; Assert.NotNull(data); Assert.Empty(data); }
public void ReturnProperNumberOfInstances(Routes tab, ITabContext context, RoutesInspector routeInspector, IInspectorContext routeInspectorContext) { System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Ignore("Something"); routeInspectorContext.Setup(x => x.ProxyFactory).Returns(new CastleDynamicProxyFactory(routeInspectorContext.Logger, routeInspectorContext.MessageBroker, () => new ExecutionTimer(new Stopwatch()), () => new RuntimePolicy())); routeInspector.Setup(routeInspectorContext); var data = tab.GetData(context) as IList<RouteModel>; Assert.NotNull(data); Assert.Equal(System.Web.Routing.RouteTable.Routes.Count, data.Count); }
public void ReturnRouteInstancesEvenWhenContextIsNull(Routes tab, ITabContext context, RoutesInspector routeInspector, IInspectorContext routeInspectorContext) { context.Setup(x => x.GetRequestContext<HttpContextBase>()).Returns((HttpContextBase)null); System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Ignore("Test"); routeInspectorContext.Setup(x => x.ProxyFactory).Returns(new CastleDynamicProxyFactory(routeInspectorContext.Logger, routeInspectorContext.MessageBroker, () => new ExecutionTimer(new Stopwatch()), () => new RuntimePolicy())); routeInspector.Setup(routeInspectorContext); var data = tab.GetData(context) as IList<RouteModel>; Assert.NotNull(data); Assert.Equal(System.Web.Routing.RouteTable.Routes.Count, data.Count); }
/// <summary> /// Load all the data from the database, the last records by Users, Customers, Products & Routes. /// </summary> public void loadAll() { DataTable users = new Users().getLastUsers(); DataTable customers = new Customers().getLastCustomers(); DataTable routes = new Routes().getLastRoutes(); DataTable products = new Products().getLastProducts(); if (users != null && users.Rows.Count > 0) { GridView1.DataSource = users; GridView1.DataBind(); notUsers = false; } else { notUsers = true; } if (customers != null && customers.Rows.Count > 0) { GridView2.DataSource = customers; GridView2.DataBind(); notCustomers = false; } else { notCustomers = true; } if (routes != null && routes.Rows.Count > 0) { GridView3.DataSource = routes; GridView3.DataBind(); notRoutes = false; } else { notRoutes = true; } if (products != null && products.Rows.Count > 0) { GridView4.DataSource = products; GridView4.DataBind(); notProducts = false; } else { notProducts = true; } }
public void fillEM() { var dato = new Routes(); for (int i = 0; i < servicios.ToArray().Length; i++ ) { dato.servicios.nomServicio = servicios.ToArray()[i].nomServicio; for (int j = 0; j < estaciones.ToArray().Length; j++ ) { if(estaciones.ToArray()[j].aliasServicio.Contains(servicios.ToArray()[i].aliasServicio)) { dato.estaciones.Add(estaciones.ToArray()[j]); } } rutas.Add(dato); } }
public void ReturnAspNetProxiedRouteInstances(Routes tab, ITabContext context, RoutesInspector routeInspector, IInspectorContext routeInspectorContext, System.Web.Routing.IRouteHandler routeHandler) { System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Add("Test", new System.Web.Routing.Route("Test", routeHandler)); System.Web.Routing.RouteTable.Routes.Add("BaseTyped", new RoutesInspectorShould.NewRouteBase()); System.Web.Routing.RouteTable.Routes.Add("BaseTestTyped", new RoutesInspectorShould.NewConstructorRouteBase("Name")); System.Web.Routing.RouteTable.Routes.Add("SubTyped", new RoutesInspectorShould.NewRoute("test", routeHandler)); System.Web.Routing.RouteTable.Routes.Add("SubTestTyped", new RoutesInspectorShould.NewConstructorRoute("test", routeHandler, "Name")); System.Web.Routing.RouteTable.Routes.Ignore("{resource}.axd/{*pathInfo}", new { resource = "Test", pathInfo = "[0-9]" }); routeInspectorContext.Setup(x => x.ProxyFactory).Returns(new CastleDynamicProxyFactory(routeInspectorContext.Logger, routeInspectorContext.MessageBroker, () => new ExecutionTimer(new Stopwatch()), () => new RuntimePolicy())); routeInspector.Setup(routeInspectorContext); var model = tab.GetData(context) as List<RouteModel>; Assert.NotNull(model); Assert.Equal(6, model.Count); }
/// <summary> /// Load all the Assigned Routes to the grid /// </summary> public void loadAssignedRoutes() { Routes routes = new Routes(); DataTable data; data = routes.getAssignedRoutes(); if (data != null && data.Rows.Count > 0) { this.hideGrid = false; GridView1.DataSource = data; GridView1.DataBind(); } else { this.hideGrid = true; } }
/// <summary> /// Assigns the selected Route to the selected Seller /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button1_Click(object sender, EventArgs e) { Routes route = new Routes(); try { int idRoute = Convert.ToInt16(DropDownList1.SelectedValue.ToString()); int idSeller = Convert.ToInt16(DropDownList2.SelectedValue.ToString()); route.setAssignedRoute(idRoute, idSeller); this.setNotification("success", "¡Éxito!", "La ruta ha sido asignada correctamente..."); this.loadAssignedRoutes(); } catch (Exception ex) { this.setNotification("error", "¡Ooooops!", "Selecciona una ruta o vendedor válido"); } }
protected void Page_Load(object sender, EventArgs e) { try { Routes route = new Routes(); DataTable dt; dt = route.getAllRoutes(); if (dt != null && dt.Rows.Count == 1) { showData = true; this.routeid = dt.Rows[0].ItemArray[0].ToString(); this.name = dt.Rows[0].ItemArray[1].ToString(); DetailsView1.DataSource = dt; DetailsView1.DataBind(); Customers customers = new Customers(); dt = customers.getCustomersAndAddressesByRoute(Convert.ToInt16(this.routeid)); if (dt != null && dt.Rows.Count > 0) { GridView1.DataSource = dt; GridView1.DataBind(); this.setNotification("nothing"); } } else { showData = false; this.setNotification("error", "No hay ruta asignada", "Todavía no te es asignada una ruta..."); } } catch (Exception ex) { this.setNotification("error", "No hay ruta asignada", "Todavía no te es asignada una ruta"); } }
/// <summary> /// Edits the current Route and make the validations. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button1_Click(object sender, EventArgs e) { int idRoute = Convert.ToInt16(HiddenField1.Value); string Name = Security.cleanSQL(TextBox1.Text); string Addresses = null; if (Page.Request["Direcciones"] != null) { Addresses = Security.cleanSQL(Page.Request["Direcciones"]); } if (Security.isEmpty(Name)) { this.setNotification("warning", "¡No hay nombre de ruta!", "Ingrese un nombre de ruta por favor..."); } else { Routes route = new Routes(idRoute, Name, Addresses); int result = route.saveRoute(); switch (result) { case 1: Response.Redirect(webURL + "views/routes/editroute.aspx?id=" + idRoute + "&action=notify&nid=" + 1, false); break; case -1: this.setNotification("warning", "¡Campo(s) repetido(s)!", "Ya existe una ruta registrado con ese nombre..."); break; case 0: this.setNotification("error", "¡Ooooops!", "No existe la ruta..."); break; default: this.setNotification("error", "¡Ooooops!", "Algo salio mal..."); break; } } }
public void loadAll() { DataTable customers = new Customers().getLastCustomers(); DataTable route = new Routes().getAllRoutes(); DataTable sells = new Products().getLastSells(); if (customers != null && customers.Rows.Count > 0) { GridView2.DataSource = customers; GridView2.DataBind(); notCustomers = false; } else { notCustomers = true; } if (route != null && route.Rows.Count > 0) { DetailsView1.DataSource = route; DetailsView1.DataBind(); notRoute = false; } else { notRoute = true; } if (sells != null && sells.Rows.Count > 0) { GridView1.DataSource = sells; GridView1.DataBind(); notSells = false; } else { notSells = true; } }
private void ConfigureRouting() { Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional }); }
public AppController(Routes routes) { _routes = routes; }
/* * // not needed anymore, we do the type resolution ourselves now. * * private static readonly string[] _hideKnownAssemblies = new[] { * "ServiceStack", // exclude the service stack assembly * "ClrPlus", * "b03f5f7f11d50a3a", // Microsoft * "b77a5c561934e089", // Microsoft * "31bf3856ad364e35" // Microsoft * }; * * private static IEnumerable<Assembly> GetActiveAssemblies() { * return AppDomain.CurrentDomain.GetAssemblies().Where(each => !_hideKnownAssemblies.Any(x => each.FullName.IndexOf(x) > -1)); * } */ public override void Configure(Container container) { _configured = true; // Feature disableFeatures = Feature.Jsv | Feature.Soap; SetConfig(new EndpointHostConfig { // EnableFeatures = Feature.All.Remove(disableFeatures), //all formats except of JSV and SOAP DebugMode = true, //Show StackTraces in service responses during development WriteErrorsToResponse = false, //Disable exception handling DefaultContentType = ContentType.Json, //Change default content type AllowJsonpRequests = true, //Enable JSONP requests ServiceName = "RestService", }); #if DEBUG LogManager.LogFactory = new DebugLogFactory(); #endif using (var ps = RunspacePool.Dynamic()) { foreach (var restCommand in _activeCommands) { PSObject command = ps.LookupCommand(restCommand.Name); if (command != null) { var cmdletInfo = (command.ImmediateBaseObject as CmdletInfo); if (cmdletInfo != null) { dynamic d = new AccessPrivateWrapper((ServiceController as ServiceController)); // for each type we're adding, see if it's already been added already. if (!d.requestExecMap.ContainsKey(cmdletInfo.ImplementingType)) { (ServiceController as ServiceController).RegisterGService(GetTypeFactory(cmdletInfo.ImplementingType), cmdletInfo.ImplementingType); (ServiceController as ServiceController).RegisterNService(GetTypeFactory(cmdletInfo.ImplementingType), cmdletInfo.ImplementingType); } ReverseLookup.AddOrSet(cmdletInfo.ImplementingType, restCommand); Routes.Add(cmdletInfo.ImplementingType, "/" + restCommand.PublishAs + "/", "GET"); } else { throw new ClrPlusException("command isn't cmdletinfo: {0}".format(command.GetType())); } } } } Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new CustomBasicAuthProvider(), // new CustomCredentialsAuthProvider(), } )); // stick a request filter in to validate that the user has the right to actually // call this method. RequestFilters.Add((request, response, requestDto) => { var restCommand = ReverseLookup[requestDto.GetType()]; // is this one of the restCommands? // and does it has roles defined? if (restCommand != null && !restCommand.Roles.IsNullOrEmpty()) { // ensure we're authenticated if the user passed the right stuff in the request try { AuthenticateAttribute.AuthenticateIfBasicAuth(request, response); } catch (Exception e) { Console.WriteLine(e.Message); response.StatusCode = 401; response.AddHeader("WWW-Authenticate", "Basic realm=\"rest-service\""); response.StatusDescription = "Unauthorized"; #pragma warning disable 618 response.EndServiceStackRequest(false); #pragma warning restore 618 return; } // get the session object. var session = request.GetSession(false); // check if we got our authentication. if (!session.IsAuthenticated) { response.StatusCode = 401; response.AddHeader("WWW-Authenticate", "Basic realm=\"rest-service\""); response.StatusDescription = "Unauthorized"; #pragma warning disable 618 response.EndServiceStackRequest(false); #pragma warning restore 618 return; } // validate the user has the role. if (!restCommand.Roles.Any(session.HasRole)) { response.StatusCode = 403; response.StatusDescription = "Forbidden"; #pragma warning disable 618 response.EndServiceStackRequest(false); #pragma warning restore 618 } var req = (requestDto as IHasSession); if (req != null) { req.Session = session; } } }); }
public void MatchConstraintMessageToRoute(Routes tab, ITabContext context, System.Web.Routing.IRouteConstraint constraint, RoutesInspector routeInspector, IInspectorContext routeInspectorContext) { var route = new System.Web.Routing.Route("url", new System.Web.Routing.RouteValueDictionary { { "Test", "Other" } }, new System.Web.Routing.RouteValueDictionary { { "Test", constraint } }, new System.Web.Routing.RouteValueDictionary { { "Data", "Tokens" } }, new System.Web.Routing.PageRouteHandler("~/Path")); System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Add(route); routeInspectorContext.Setup(x => x.ProxyFactory).Returns(new CastleDynamicProxyFactory(routeInspectorContext.Logger, routeInspectorContext.MessageBroker, () => new ExecutionTimer(new Stopwatch()), () => new RuntimePolicy())); routeInspector.Setup(routeInspectorContext); route = (System.Web.Routing.Route) System.Web.Routing.RouteTable.Routes[0]; var routeMessage = new RouteDataMessage(route.GetHashCode(), new System.Web.Routing.RouteData(), "routeName") .AsSourceMessage(route.GetType(), null) .AsTimedMessage(new TimerResult { Duration = TimeSpan.FromMilliseconds(19) }); var constraintMessage = new ProcessConstraintMessage(route.GetHashCode(), constraint.GetHashCode(), true, "test", constraint, (System.Web.Routing.RouteValueDictionary)null, System.Web.Routing.RouteDirection.IncomingRequest) .AsTimedMessage(new TimerResult { Duration = TimeSpan.FromMilliseconds(25) }) .AsSourceMessage(route.GetType(), null); context.TabStore.Setup(mb => mb.Contains(typeof(IList<ProcessConstraintMessage>).AssemblyQualifiedName)).Returns(true).Verifiable(); context.TabStore.Setup(mb => mb.Contains(typeof(IList<RouteDataMessage>).AssemblyQualifiedName)).Returns(true).Verifiable(); context.TabStore.Setup(mb => mb.Get(typeof(IList<ProcessConstraintMessage>).AssemblyQualifiedName)).Returns(new List<ProcessConstraintMessage> { constraintMessage }).Verifiable(); context.TabStore.Setup(mb => mb.Get(typeof(IList<RouteDataMessage>).AssemblyQualifiedName)).Returns(new List<RouteDataMessage> { routeMessage }).Verifiable(); var model = tab.GetData(context) as List<RouteModel>; var itemModel = model[0]; Assert.NotNull(model); Assert.Equal(1, model.Count); Assert.NotNull(itemModel.Constraints); Assert.True(itemModel.IsMatch); Assert.Equal("Test", ((List<RouteConstraintModel>)itemModel.Constraints)[0].ParameterName); Assert.Equal(true, ((List<RouteConstraintModel>)itemModel.Constraints)[0].IsMatch); Assert.NotNull(itemModel.DataTokens); Assert.Equal("Tokens", itemModel.DataTokens["Data"]); Assert.NotNull(itemModel.RouteData); Assert.Equal("Other", ((List<RouteDataItemModel>)itemModel.RouteData)[0].DefaultValue); }
public Get() { Routes.MapHttpRoute("catalog", "v2/catalog"); }
public void TestFindCitiesByTransportModeIsASingleLINQStatement() { Func <TransportMode, City[]> method = new Routes(null).FindCities; Assert.IsTrue(method.Method.GetMethodBody().LocalVariables.Count <= 2, "Implement the method FindCities as a single-line LINQ statement in the form \"return [LINQ];\"."); }
public override void Configure(Container container) { Routes.Add <UnknownRoute>("/unknownroute"); }
public void WhenTheUserIsDeleted() { var response = ApiCaller.Delete <UserModel>(Routes.GetById(Routes.Users, ScenarioCache.GetUserId())); ScenarioCache.StoreResponse(response); }
public override void Configure(Container container) { IocShared.Configure(this); JsConfig.EmitCamelCaseNames = true; this.PreRequestFilters.Add((req, res) => { req.Items["_DataSetAtPreRequestFilters"] = true; }); this.GlobalRequestFilters.Add((req, res, dto) => { req.Items["_DataSetAtRequestFilters"] = true; var requestFilter = dto as RequestFilter; if (requestFilter != null) { res.StatusCode = requestFilter.StatusCode; if (!requestFilter.HeaderName.IsNullOrEmpty()) { res.AddHeader(requestFilter.HeaderName, requestFilter.HeaderValue); } res.Close(); } var secureRequests = dto as IRequiresSession; if (secureRequests != null) { res.ReturnAuthRequired(); } }); this.Container.Register <IDbConnectionFactory>(c => new OrmLiteConnectionFactory( "~/App_Data/db.sqlite".MapHostAbsolutePath(), SqliteDialect.Provider) { ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current) }); this.Container.Register <ICacheClient>(new MemoryCacheClient()); //this.Container.Register<ICacheClient>(new BasicRedisClientManager()); ConfigureAuth(container); //this.Container.Register<ISessionFactory>( // c => new SessionFactory(c.Resolve<ICacheClient>())); var dbFactory = this.Container.Resolve <IDbConnectionFactory>(); using (var db = dbFactory.Open()) db.DropAndCreateTable <Movie>(); ModelConfig <Movie> .Id(x => x.Title); Routes .Add <Movies>("/custom-movies", "GET, OPTIONS") .Add <Movies>("/custom-movies/genres/{Genre}") .Add <Movie>("/custom-movies", "POST,PUT") .Add <Movie>("/custom-movies/{Id}") .Add <MqHostStats>("/mqstats"); var resetMovies = this.Container.Resolve <ResetMoviesService>(); resetMovies.Post(null); container.Register <IRedisClientsManager>(c => new RedisManagerPool()); Plugins.Add(new ValidationFeature()); Plugins.Add(new SessionFeature()); Plugins.Add(new ProtoBufFormat()); Plugins.Add(new RequestLogsFeature { RequestLogger = new RedisRequestLogger(container.Resolve <IRedisClientsManager>()) }); Plugins.Add(new SwaggerFeature { //UseBootstrapTheme = true OperationFilter = x => x.Consumes = x.Produces = new[] { MimeTypes.Json, MimeTypes.Xml }.ToList(), RouteSummary = { { "/swaggerexamples", "Swagger Examples Summary" } } }); Plugins.Add(new PostmanFeature()); Plugins.Add(new CorsFeature()); Plugins.Add(new AutoQueryFeature()); container.RegisterValidators(typeof(CustomersValidator).Assembly); typeof(ResponseStatus) .AddAttributes(new ServiceStack.DataAnnotations.DescriptionAttribute("This is the Response Status!")); typeof(ResponseStatus) .GetProperty("Message") .AddAttributes(new ServiceStack.DataAnnotations.DescriptionAttribute("A human friendly error message")); //var onlyEnableFeatures = Feature.All.Remove(Feature.Jsv | Feature.Soap); SetConfig(new HostConfig { AdminAuthSecret = AuthTestsBase.AuthSecret, ApiVersion = "0.2.0", //EnableFeatures = onlyEnableFeatures, DebugMode = true, //Show StackTraces for easier debugging }); if (StartMqHost) { var redisManager = new BasicRedisClientManager(); var mqHost = new RedisMqServer(redisManager); mqHost.RegisterHandler <Reverse>(ServiceController.ExecuteMessage); mqHost.Start(); this.Container.Register((IMessageService)mqHost); } }
public override void Configure(Container container) { JsConfig.EmitCamelCaseNames = true; this.RequestFilters.Add((req, res, dto) => { var requestFilter = dto as RequestFilter; if (requestFilter != null) { res.StatusCode = requestFilter.StatusCode; if (!requestFilter.HeaderName.IsNullOrEmpty()) { res.AddHeader(requestFilter.HeaderName, requestFilter.HeaderValue); } res.Close(); } var secureRequests = dto as IRequiresSession; if (secureRequests != null) { res.ReturnAuthRequired(); } }); this.Container.Register <IDbConnectionFactory>(c => new OrmLiteConnectionFactory( "~/App_Data/db.sqlite".MapHostAbsolutePath(), SqliteOrmLiteDialectProvider.Instance) { ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current) }); this.Container.Register <ICacheClient>(new MemoryCacheClient()); //this.Container.Register<ICacheClient>(new BasicRedisClientManager()); ConfigureAuth(container); //this.Container.Register<ISessionFactory>( // c => new SessionFactory(c.Resolve<ICacheClient>())); var dbFactory = this.Container.Resolve <IDbConnectionFactory>(); dbFactory.Exec(dbCmd => dbCmd.CreateTable <Movie>(true)); ModelConfig <Movie> .Id(x => x.Title); Routes .Add <Movies>("/custom-movies", "GET, OPTIONS") .Add <Movies>("/custom-movies/genres/{Genre}") .Add <Movie>("/custom-movies", "POST,PUT") .Add <Movie>("/custom-movies/{Id}") .Add <MqHostStats>("/mqstats"); var resetMovies = this.Container.Resolve <ResetMoviesService>(); resetMovies.Post(null); Plugins.Add(new ValidationFeature()); Plugins.Add(new SessionFeature()); Plugins.Add(new ProtoBufFormat()); container.RegisterValidators(typeof(CustomersValidator).Assembly); //var onlyEnableFeatures = Feature.All.Remove(Feature.Jsv | Feature.Soap); SetConfig(new EndpointHostConfig { GlobalResponseHeaders = { { "Access-Control-Allow-Origin", "*" }, { "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" }, { "Access-Control-Allow-Headers", "Content-Type, X-Requested-With" }, }, //EnableFeatures = onlyEnableFeatures, DebugMode = true, //Show StackTraces for easier debugging }); var redisManager = new BasicRedisClientManager(); var mqHost = new RedisMqHost(redisManager, 2, null); mqHost.RegisterHandler <Reverse>(this.Container.Resolve <ReverseService>().Execute); mqHost.Start(); this.Container.Register((IMessageService)mqHost); }
public void WhenAPassTemplateIsRetrievedById() { var response = ApiCaller.Get <PassTemplateModel>(Routes.GetPassTemplateById(ScenarioCache.GetActionResponse <PassTemplateModel>().Id)); ScenarioCache.Store(ModelKeys.Response, response.StatusCode); }
public void WhenAPassTemplateSearchIsPerformed() { var response = ApiCaller.Get <List <PassTemplateModel> >(Routes.GetPassTemplateSearch("id_=_1")); ScenarioCache.Store(ModelKeys.Response, response.StatusCode); }
public void OnLoad(ConfigNode node) { IsLoaded = false; // Depots need to be loaded first! if (node.HasNode(DEPOTS_NODE_NAME)) { var wolfNode = node.GetNode(DEPOTS_NODE_NAME); var depotNodes = wolfNode.GetNodes(); foreach (var depotNode in depotNodes) { var bodyValue = depotNode.GetValue("Body"); var biomeValue = depotNode.GetValue("Biome"); var depot = new Depot(bodyValue, biomeValue); depot.OnLoad(depotNode); Depots.Add(depot); } } if (node.HasNode(CREW_ROUTES_NODE_NAME)) { var wolfNode = node.GetNode(CREW_ROUTES_NODE_NAME); var crewRouteNodes = wolfNode.GetNodes(); foreach (var crewRouteNode in crewRouteNodes) { var route = new CrewRoute(this); route.OnLoad(crewRouteNode); CrewRoutes.Add(route); } } if (node.HasNode(HOPPERS_NODE_NAME)) { var wolfNode = node.GetNode(HOPPERS_NODE_NAME); var hoppersNode = wolfNode.GetNodes(); foreach (var hopperNode in hoppersNode) { var bodyValue = hopperNode.GetValue("Body"); var biomeValue = hopperNode.GetValue("Biome"); var depot = Depots.FirstOrDefault(d => d.Body == bodyValue && d.Biome == biomeValue); if (depot != null) { var hopper = new HopperMetadata(depot); hopper.OnLoad(hopperNode); Hoppers.Add(hopper); } } } if (node.HasNode(ROUTES_NODE_NAME)) { var wolfNode = node.GetNode(ROUTES_NODE_NAME); var routeNodes = wolfNode.GetNodes(); foreach (var routeNode in routeNodes) { var route = new Route(this); route.OnLoad(routeNode); Routes.Add(route); } } if (node.HasNode(TERMINALS_NODE_NAME)) { var wolfNode = node.GetNode(TERMINALS_NODE_NAME); var terminalNodes = wolfNode.GetNodes(); foreach (var terminalNode in terminalNodes) { var terminal = new TerminalMetadata(); terminal.OnLoad(terminalNode); Terminals.Add(terminal); } } IsLoaded = true; }
/// <summary> /// Method to loads the form with the data of the selected Customer /// </summary> /// <param name="idCustomer">Int ID of the Customer</param> protected void loadForm(int idRoute) { Routes route = new Routes(); route.idRoute = idRoute; route.getRouteByID(); if (route.idRoute != 0) { HiddenField1.Value = route.idRoute.ToString(); TextBox1.Text = route.Name; this.loadCustomers(route.idRoute); } else { Response.Redirect(webURL + "views/routes/viewallroutes.aspx?action=notify&id=3", false); } }
/// <summary> /// Binds the Routes service to this implementation. /// </summary> /// <returns>The <see cref="ServerServiceDefinition"/> for this service that can be registered with a server.</returns> public ServerServiceDefinition BindService() { return(Routes.BindService(this)); }
public List <IRoute> GetRoutes() { return(Routes.ToList() ?? new List <IRoute>()); }
/// <summary> /// Fixed: /// </summary> private static HtmlBuilder Editor( this HtmlBuilder hb, SiteSettings ss, WikiModel wikiModel) { var commentsColumn = ss.GetColumn("Comments"); var commentsColumnPermissionType = commentsColumn.ColumnPermissionType(); var showComments = ss.ShowComments(commentsColumnPermissionType); var tabsCss = showComments ? null : "max"; return(hb.Div(id: "Editor", action: () => hb .Form( attributes: new HtmlAttributes() .Id("WikiForm") .Class("main-form") .Action(Locations.ItemAction(wikiModel.WikiId != 0 ? wikiModel.WikiId : wikiModel.SiteId)), action: () => hb .RecordHeader( ss: ss, baseModel: wikiModel, tableName: "Wikis") .Div( id: "EditorComments", action: () => hb .Comments( comments: wikiModel.Comments, column: commentsColumn, verType: wikiModel.VerType, columnPermissionType: commentsColumnPermissionType), _using: showComments) .Div(id: "EditorTabsContainer", css: tabsCss, action: () => hb .EditorTabs(wikiModel: wikiModel, ss: ss) .FieldSetGeneral( ss: ss, wikiModel: wikiModel) .FieldSet( attributes: new HtmlAttributes() .Id("FieldSetHistories") .DataAction("Histories") .DataMethod("post"), _using: wikiModel.MethodType != BaseModel.MethodTypes.New) .FieldSet( attributes: new HtmlAttributes() .Id("FieldSetRecordAccessControl") .DataAction("Permissions") .DataMethod("post"), _using: ss.CanManagePermission()) .MainCommands( ss: ss, siteId: wikiModel.SiteId, verType: wikiModel.VerType, referenceId: wikiModel.WikiId, updateButton: true, copyButton: false, moveButton: false, mailButton: true, deleteButton: true)) .Hidden(controlId: "BaseUrl", value: Locations.BaseUrl()) .Hidden(controlId: "MethodType", value: "edit") .Hidden( controlId: "Wikis_Timestamp", css: "always-send", value: wikiModel.Timestamp) .Hidden( controlId: "SwitchTargets", css: "always-send", value: wikiModel.WikiId.ToString(), _using: !Request.IsAjax() || Routes.Action() == "create")) .OutgoingMailsForm("Wikis", wikiModel.WikiId, wikiModel.Ver) .CopyDialog("items", wikiModel.WikiId) .MoveDialog() .OutgoingMailDialog())); }
public async Task Remove(FirebaseObject <Route> route) { Routes.Remove(route); await RouteDataStore.DeleteAsync($"routes/{route.Key}"); }
public void ReturnRouteInstancesEvenWhenContextIsNull(Routes tab, ITabContext context) { context.Setup(x => x.GetRequestContext<HttpContextBase>()).Returns((HttpContextBase)null); System.Web.Routing.RouteTable.Routes.Clear(); System.Web.Routing.RouteTable.Routes.Ignore("Test"); var data = tab.GetData(context) as IList<RouteModel>; Assert.NotNull(data); Assert.Equal(System.Web.Routing.RouteTable.Routes.Count, data.Count); }
public ShopGroupWallPublishApi(Routes routes, IWallPublishApi wallPublishApi, IProductsApi productsApi) { _wallPublishApi = wallPublishApi; _productsApi = productsApi; _routes = routes; }
public Gateway RemoveRoute(string url) { Routes.Remove(url); return(this); }
/// <inheritdoc /> public Task <IReadOnlyList <ConfigurationFile> > List(string directory, CancellationToken cancellationToken) => apiClient.Read <IReadOnlyList <ConfigurationFile> >(Routes.ListRoute(Routes.Configuration) + SanitizeGetPath(directory), instance.Id, cancellationToken);
public void WhenTheRoomIsUpdated() { var response = ApiCaller.Put <ActionReponse <RoomModel> >(ScenarioCache.Get <RoomModel>(ModelKeys.Room), Routes.GetById(Routes.Room, ScenarioCache.GetId(ModelIdKeys.RoomId))); ScenarioCache.StoreActionResponse(response); }
/// <summary> /// Checks linear object for common errors /// </summary> /// <param name="strRow">Row on screen for user feedback</param> /// <returns>True if no error. False if error</returns> public bool Check(String strRow, out String strError) { strError = ""; if (String.IsNullOrEmpty(this.Routes.Trim())) { strError += "Error: Route may not be null or empty. Row:" + strRow + "\n"; } if (String.IsNullOrEmpty(this.Direction.Trim())) { strError += "Error: Direction may not be null or empty. Row:" + strRow + "\n"; } if (Routes.Contains("'")) { strError += "Error: Routes may not contain single quote or apostrophe. Row:" + strRow + "\n"; } if (Direction.Contains("'")) { strError += "Error: Direction may not contain single quote or apostrophe. Row:" + strRow + "\n"; } if (this.StringData.Contains("'")) { strError += "Error: Data may not contain single quote or apostrophe. Row:" + strRow + "\n"; } if (String.IsNullOrEmpty(m_strBegin.Trim()) && String.IsNullOrEmpty(m_strEnd.Trim())) { strError += "Error: BEGIN_STATION and END_STATION may not both be blank. Row:" + strRow; } if (this.Begin > this.End) { strError += "Error: The END_STATION may not be less than the BEGIN_STATION. Row:" + strRow + "\n"; } try { DateTime dateTime = DateTime.Parse(this.StringDate); } catch (Exception exc) { strError += "Error: Date format is not recognized. Row:" + strRow + " " + exc.Message + "\n"; } if (m_bIsNumberAttribute) { if (String.IsNullOrEmpty(this.StringData.Trim())) { strError += "Error: NULL number data not allowed. Row:" + strRow + "\n"; } try { this.NumberData = double.Parse(this.StringData); } catch (Exception exc) { strError += "Error: Unable to parse DATA. Row:" + strRow + " " + exc.Message + "\n"; } } if (strError.Length > 0) { return(false); } else { return(true); } }
public void ReturnName(Routes tab) { Assert.Equal("Routes", tab.Name); }
private String BuildInsertRoutesCommand(Routes rut) { String command; StringBuilder sb = new StringBuilder(); // use a string builder to create the dynamic string String prefix = @"INSERT INTO [Routes] ([RouteName] ,[RouteDestination] ,[RouteType] ,[RouteLength] ,[Comments] ,[RouteSource] ,[User]) "; sb.AppendFormat("Values('{0}', '{1}','{2}',{3},'{4}','{5}', (select U.[User] from Users U, AspNetUsers A where A.UserName = '******' AND A.Id = U.Id ))", rut.RouteName, rut.RouteDestination, rut.RouteType, rut.RouteLength, rut.Comments, rut.RouteSource, rut.UserName); command = prefix + sb.ToString(); return command; }
public override void Configure(Funq.Container container) { Routes.Add <GetNextNumber>("/GetNextSequenceNumber/"); }
public void ThenTheClassDetailsDoesNotHaveTheRoom() { var theClass = ApiCaller.Get <ClassModel>(Routes.GetById(Routes.Classes, ScenarioCache.GetId(ModelIdKeys.ClassId))).Data; Assert.IsNull(theClass.Room); }
public Routes.UrlRoute SetRoute(string url, string prefixUrl = null, string hashPattern = null) { var result = Routes.NewOrGet(url, prefixUrl, hashPattern); return(result); }
public object Any(Routes.PingRequest request) { return new Response<string>("pong"); }
public Gateway RemoveServer(string host) { Agents.Remove(host); Routes.RemoveServer(host); return(this); }
public override void Configure(Funq.Container container) { Routes .Add <AppraisalQuote>("/appraisalQuote") .Add <AppraisalQuote>("/appraisalQuote/{ProductType}"); }
protected void InitializeRoutes(RouteCollection routes) { Routes.InitializeRoutes(routes); }
public void ReturnRouteInstancesEvenWhenRoutesTableEmpty(Routes tab, ITabContext context) { System.Web.Routing.RouteTable.Routes.Clear(); var data = tab.GetData(context) as IList<RouteModel>; Assert.NotNull(data); Assert.Empty(data); }
/// <summary> /// Register an event handler that will listen and respond to all events. /// </summary> public void RegisterGlobalEventHandler <TMessage>(Action <TMessage> handler, bool holdMessageLock = true) where TMessage : IMessage { Routes.RegisterGlobalEventHandler(handler, holdMessageLock); }
public void ReturnDocumentationUri(Routes tab) { Assert.True(tab.DocumentationUri.Contains("getGlimpse.com")); }
/// <summary> /// Register an event or command handler that will listen and respond to events or commands. /// </summary> /// <remarks> /// In many cases the <paramref name="targetedType"/> will be the event handler class itself, what you actually want is the target of what is being updated /// </remarks> public void RegisterHandler <TMessage>(Action <TMessage> handler, Type targetedType, bool holdMessageLock = true) where TMessage : IMessage { Routes.RegisterHandler(handler, targetedType, holdMessageLock); }
public void ClearFilterSegments() => Routes.ClearFilter();
public static HtmlBuilder MainCommands( this HtmlBuilder hb, SiteSettings ss, long siteId, Versions.VerTypes verType, long referenceId = 0, bool backButton = true, bool updateButton = false, bool copyButton = false, bool moveButton = false, bool bulkMoveButton = false, bool mailButton = false, bool deleteButton = false, bool bulkDeleteButton = false, bool importButton = false, bool exportButton = false, Action extensions = null) { return(hb.Div(id: "MainCommandsContainer", action: () => hb .Div(id: "MainCommands", action: () => { if (backButton) { hb.Button( controlId: "GoBack", text: Displays.GoBack(), controlCss: "button-icon", accessKey: "q", onClick: "$p.back();", icon: "ui-icon-circle-arrow-w"); } if (Routes.Action() == "new") { hb.Button( text: Displays.Create(), controlCss: "button-icon validate", accessKey: "s", onClick: "$p.create($(this));", icon: "ui-icon-disk", action: "Create", method: "post"); } else if (ss.CanRead() && verType == Versions.VerTypes.Latest) { hb .Button( text: Displays.Update(), controlCss: "button-icon validate", accessKey: "s", onClick: "$p.send($(this));", icon: "ui-icon-disk", action: "Update", method: "put", _using: updateButton && ss.CanUpdate()) .Button( text: Displays.Copy(), controlCss: "button-icon open-dialog", accessKey: "c", onClick: "$p.openDialog($(this));", icon: "ui-icon-copy", selector: "#CopyDialog", _using: copyButton && ss.CanCreate()) .Button( text: Displays.Move(), controlCss: "button-icon open-dialog", accessKey: "o", onClick: "$p.moveTargets($(this));", icon: "ui-icon-transferthick-e-w", selector: "#MoveDialog", action: "MoveTargets", method: "get", _using: moveButton && ss.CanUpdate()) .Button( text: Displays.BulkMove(), controlCss: "button-icon open-dialog", accessKey: "o", onClick: "$p.moveTargets($(this));", icon: "ui-icon-transferthick-e-w", selector: "#MoveDialog", action: "MoveTargets", method: "get", _using: bulkMoveButton && ss.CanUpdate()) .Button( controlId: "EditOutgoingMail", text: Displays.Mail(), controlCss: "button-icon", onClick: "$p.openOutgoingMailDialog($(this));", icon: "ui-icon-mail-closed", action: "Edit", method: "put", accessKey: "m", _using: mailButton && ss.CanSendMail()) .Button( text: Displays.Delete(), controlCss: "button-icon", accessKey: "r", onClick: "$p.send($(this));", icon: "ui-icon-trash", action: "Delete", method: "delete", confirm: "ConfirmDelete", _using: deleteButton && ss.CanDelete() && !ss.IsSite()) .Button( text: Displays.DeleteSite(), controlCss: "button-icon", accessKey: "r", onClick: "$p.openDeleteSiteDialog($(this));", icon: "ui-icon-trash", _using: deleteButton && ss.CanDelete() && ss.IsSite()) .Button( text: Displays.BulkDelete(), controlCss: "button-icon", accessKey: "r", onClick: "$p.send($(this));", icon: "ui-icon-trash", action: "BulkDelete", method: "delete", confirm: "ConfirmDelete", _using: bulkDeleteButton && ss.CanDelete()) .Button( controlId: "EditImportSettings", text: Displays.Import(), controlCss: "button-icon", accessKey: "w", onClick: "$p.openImportSettingsDialog($(this));", icon: "ui-icon-arrowreturnthick-1-e", selector: "#ImportSettingsDialog", _using: importButton && ss.CanImport()) .Button( text: Displays.Export(), controlCss: "button-icon", accessKey: "x", onClick: "$p.openExportSelectorDialog($(this));", icon: "ui-icon-arrowreturnthick-1-w", action: "OpenExportSelectorDialog", method: "post", _using: exportButton && ss.CanExport()); } extensions?.Invoke(); }))); }
/// <summary> /// Load all the Routes in a DropDownList /// </summary> private void loadRoutes() { DataTable routes = new Routes().getAllRoutes(); if (routes != null && routes.Rows.Count > 0) { DropDownList1.DataValueField = "ID"; DropDownList1.DataTextField = "Nombre"; DropDownList1.DataSource = routes; DropDownList1.DataBind(); ListItem allRoutes = new ListItem("Todas las rutas", "0"); DropDownList1.Items.Insert(0, allRoutes); } }
/// <summary> /// Gets all settings from XML file. /// </summary> private void LoadFromXml() { //Create XmlDocument object to read XML settings file var settingsXmlDoc = new XmlDocument(); settingsXmlDoc.Load(FilePath); //Get Settings section var resultNodes = settingsXmlDoc.SelectNodes("/NGRIDConfiguration/Settings/Setting"); if (resultNodes == null) { return; } foreach (XmlNode node in resultNodes) { _settings[node.Attributes["Key"].Value] = node.Attributes["Value"].Value; } if (string.IsNullOrEmpty(_settings["ThisServerName"])) { throw new NGRIDException("ThisServerName is not defined."); } _thisServerName = _settings["ThisServerName"]; //Get Servers section resultNodes = settingsXmlDoc.SelectNodes("/NGRIDConfiguration/Servers/Server"); if (resultNodes == null) { throw new NGRIDException("No server defined."); } foreach (XmlNode node in resultNodes) { Servers.Add(new ServerInfoItem { Name = node.Attributes["Name"].Value.Trim(), IpAddress = node.Attributes["IpAddress"].Value, Port = Convert.ToInt32(node.Attributes["Port"].Value), Adjacents = node.Attributes["Adjacents"].Value }); } //Get Applications section resultNodes = settingsXmlDoc.SelectNodes("/NGRIDConfiguration/Applications/Application"); if (resultNodes != null) { //Read all application entries from xml file foreach (XmlNode node in resultNodes) { var application = new ApplicationInfoItem { Name = node.Attributes["Name"].Value }; //Add predefined communication channels foreach (XmlNode childNode in node.ChildNodes) { switch (childNode.Name) { case "Communication": switch (childNode.Attributes["Type"].Value) { case "WebService": var webServiceComm = new ApplicationInfoItem.CommunicationChannelInfoItem { CommunicationType = "WebService" }; webServiceComm.CommunicationSettings.Add("Url", childNode.Attributes["Url"].Value); application.CommunicationChannels.Add(webServiceComm); break; } break; } } Applications.Add(application); } } //Get Routes section resultNodes = settingsXmlDoc.SelectNodes("/NGRIDConfiguration/Routes/Route"); if (resultNodes != null) { //Read all route entries from xml file foreach (XmlNode node in resultNodes) { var route = new RouteInfoItem { Name = node.Attributes["Name"].Value, DistributionType = GetAttribute(node, "DistributionType") }; //Read all filter entries of route from xml file var filterNodes = node.SelectNodes("/NGRIDConfiguration/Routes/Route/Filters/Filter"); if (filterNodes != null) { foreach (XmlNode filterNode in filterNodes) { var filter = new RouteInfoItem.FilterInfoItem { SourceServer = GetAttribute(filterNode, "SourceServer"), SourceApplication = GetAttribute(filterNode, "SourceApplication"), DestinationServer = GetAttribute(filterNode, "DestinationServer"), DestinationApplication = GetAttribute(filterNode, "DestinationApplication"), TransmitRule = GetAttribute(filterNode, "TransmitRule") }; route.Filters.Add(filter); } } //Read all destination entries of route from xml file var destinationNodes = node.SelectNodes("/NGRIDConfiguration/Routes/Route/Destinations/Destination"); if (destinationNodes != null) { foreach (XmlNode destinationNode in destinationNodes) { var destination = new RouteInfoItem.DestinationInfoItem { Application = GetAttribute(destinationNode, "Application"), Server = GetAttribute(destinationNode, "Server"), RouteFactor = Convert.ToInt32(GetAttribute(destinationNode, "RouteFactor") ?? "1") }; if (destination.RouteFactor <= 0) { destination.RouteFactor = 1; } route.Destinations.Add(destination); } } Routes.Add(route); } } }