Example #1
0
 protected RouteBase(string path, string method)
 {
     Path        = path;
     _method     = method;
     Specificity = RouteSpecificity.PathAndMethod;
     _setting    = RouteSetting.PathAndMethod;
 }
Example #2
0
        private void mnuEdit_Click(object sender, EventArgs e)
        {
            RouteSetting info = new RouteSetting();

            info.UserName        = txtUserName.Text;
            info.RPassword       = txtPassword.Text;
            info.RouteIP         = txtRouteIP.Text;
            info.RouteConnect    = txtRouteConnect.Text;
            info.RouteDisConnect = txtRouteDisConnect.Text;
            info.RouteMethod     = rdoGET.Checked ? "GET" : "POST";
            if (routeSetting.IsNull() || routeSetting.RouteID.IsNull())
            {
                info.RouteID = 1;
                RouteSettingHelper.Insert(info);
            }
            else
            {
                info.RouteID = routeSetting.RouteID;
                RouteSettingHelper.Update(info);
            }
            RouteSettingHelper.ClearCacheAll();

            MessageBox.Show("保存数据成功!", " 系统提示");
            this.Close();
        }
Example #3
0
 protected RouteBase(string path, string method)
 {
     Path = path;
     _method = method;
     Specificity = RouteSpecificity.PathAndMethod;
     _setting = RouteSetting.PathAndMethod;
 }
        /// <summary>
        /// Update an existing route setting record using the specified <see cref="RouteSetting"/> instance.
        /// </summary>
        /// <param name="setting">Instance of <see cref="RouteSetting"/> used to update database record.</param>
        /// <returns>The updated <see cref="RouteSetting"/> that includes the generated route setting ID.</returns>
        public async Task <RouteSetting> UpdateRouteSettingAsync(RouteSetting setting)
        {
            using (var db = new SubrouteContext())
            {
                // Try to get the user ID for auditing purposes.
                var userId = Thread.CurrentPrincipal.GetUserId();

                var existingSetting = await db.RouteSettings.FirstOrDefaultAsync(rs => rs.Name == setting.Name);

                if (existingSetting == null)
                {
                    throw new NotFoundException($"No route setting exists with name '{setting.Name}'.");
                }

                existingSetting.Value     = setting.Value;
                existingSetting.UpdatedOn = DateTimeOffset.Now;
                existingSetting.UpdatedBy = userId;

                await db.SaveChangesAsync();

                // Detach entry so its changes won't be tracked.
                db.Entry(existingSetting).State = EntityState.Detached;

                return(existingSetting);
            }
        }
Example #5
0
        /// <summary>
        /// 路由修改记录
        /// </summary>
        /// <param name="routeSetting">路由实体类</param>
        /// <param name="where">修改时附加条件,统一的前面要加链接符(and、or等等)</param>
        /// <param name="delCache">修改成功后清理的CACHE key,支持正则</param>
        /// <param name="dbkey">存在数据库连接池中的连接key,为空时使用ConnString连接</param>
        /// <returns>修改是否成功</returns>
        public static bool Update(RouteSetting routeSetting, string dbkey = "", Where where = null, string[] delCache = null)
        {
            if (routeSetting.RouteID.IsNull())
            {
                return(false);
            }
            int value = new SQL().Database(dbkey).Update(RouteSetting._)
                        .SetP(RouteSetting._RouteIP, routeSetting.RouteIP)
                        .SetP(RouteSetting._UserName, routeSetting.UserName)
                        .SetP(RouteSetting._RPassword, routeSetting.RPassword)
                        .SetP(RouteSetting._RouteConnect, routeSetting.RouteConnect)
                        .SetP(RouteSetting._RouteDisConnect, routeSetting.RouteDisConnect)
                        .SetP(RouteSetting._RouteMethod, routeSetting.RouteMethod)
                        .Where(new Where()
                               .AndP(RouteSetting._RouteID, routeSetting.RouteID, Operator.Equal, true)
                               ).Where(where).ToExec();

            if (value <= 0)
            {
                return(false);
            }
            if (delCache.IsNull())
            {
                return(true);
            }
            Cache2.Remove("TH.Mailer.RouteSettingCache_", delCache);
            return(true);
        }
        /// <summary>
        /// Delete the route setting record using the passed instance.
        /// </summary>
        /// <param name="setting">Instance of <see cref="RouteSetting"/> that represents the record to delete.</param>
        /// <returns>Returns a Task, essentially void when using async syntax.</returns>
        public async Task DeleteRouteSettingAsync(RouteSetting setting)
        {
            using (var db = new SubrouteContext())
            {
                // Mark route for deletion so the context knowns to delete it.
                db.Entry(setting).State = EntityState.Deleted;

                await db.SaveChangesAsync();
            }
        }
Example #7
0
        public void testParseConfig()
        {
            string routecfg = @"
~/{controller}/{id};default:{action=Show};requirements:{id=int}
~/{controller}/{id}/{action}
";

            RouteTable.GetRoutes().Clear();
            RouteTable.Init(routecfg);

            List <RouteSetting> routes = RouteTable.GetRoutes();

            Assert.AreEqual(2, routes.Count);

            RouteSetting rt = routes[1];

            Assert.AreEqual(3, rt.GetPathItems().Count);
        }
Example #8
0
        /// <summary>
        /// 路由添加记录
        /// </summary>
        /// <param name="routeSetting">路由实体类</param>
        /// <param name="delCache">添加成功后清理的CACHE key,支持正则</param>
        /// <param name="dbkey">存在数据库连接池中的连接key,为空时使用ConnString连接</param>
        /// <returns>添加是否成功</returns>
        public static bool Insert(RouteSetting routeSetting, string dbkey = "", string[] delCache = null)
        {
            int obj = new SQL().Database(dbkey).Insert(RouteSetting._)
                      .ValueP(RouteSetting._RouteID, routeSetting.RouteID)
                      .ValueP(RouteSetting._RouteIP, routeSetting.RouteIP)
                      .ValueP(RouteSetting._UserName, routeSetting.UserName)
                      .ValueP(RouteSetting._RPassword, routeSetting.RPassword)
                      .ValueP(RouteSetting._RouteConnect, routeSetting.RouteConnect)
                      .ValueP(RouteSetting._RouteDisConnect, routeSetting.RouteDisConnect)
                      .ValueP(RouteSetting._RouteMethod, routeSetting.RouteMethod)
                      .ToExec();

            if (delCache.IsNull())
            {
                return(obj == 1);
            }
            Cache2.Remove("TH.Mailer.RouteSettingCache_", delCache);
            return(obj == 1);
        }
        /// <summary>
        /// Uses the specified <see cref="RouteSetting"/> instance to create a new route setting record in the database.
        /// </summary>
        /// <param name="setting">Instance of <see cref="RouteSetting"/> used to create the database record.</param>
        /// <returns>Returns instance of <see cref="RouteSetting"/>.</returns>
        public async Task <RouteSetting> CreateRouteSettingAsync(RouteSetting setting)
        {
            using (var db = new SubrouteContext())
            {
                // Try to get the user ID for auditing purposes.
                var userId = Thread.CurrentPrincipal.GetUserId();

                // Set auto property values.
                setting.CreatedOn = DateTimeOffset.Now;
                setting.CreatedBy = userId;
                setting.UpdatedOn = setting.CreatedOn;
                setting.UpdatedBy = userId;

                db.RouteSettings.Add(setting);
                await db.SaveChangesAsync();

                // Detach entry so its changes won't be tracked.
                db.Entry(setting).State = EntityState.Detached;

                return(setting);
            }
        }
Example #10
0
 private void frmRoute_Activated(object sender, EventArgs e)
 {
     frmMain.Instance.ShowStatusText("正在数据....");
     routeSetting = RouteSettingHelper.SelectByID(1);
     if (routeSetting.IsNull() || routeSetting.RouteID.IsNull())
     {
         return;
     }
     txtPassword.Text        = routeSetting.RPassword;
     txtRouteIP.Text         = routeSetting.RouteIP;
     txtUserName.Text        = routeSetting.UserName;
     txtRouteConnect.Text    = routeSetting.RouteConnect;
     txtRouteDisConnect.Text = routeSetting.RouteDisConnect;
     if (routeSetting.RouteMethod == "GET")
     {
         rdoGET.Checked = true;
     }
     if (routeSetting.RouteMethod == "POST")
     {
         rdoPOST.Checked = true;
     }
     frmMain.Instance.ShowStatusText("数据加载完成!");
 }
Example #11
0
        /// <summary>
        /// 路由修改多条记录
        /// </summary>
        /// <param name="routeIDList">路由编号列表,用“,”号分隔</param>
        /// <param name="routeSetting">路由实体类</param>
        /// <param name="where">修改时附加条件,统一的前面要加链接符(and、or等等)</param>
        /// <param name="delCache">修改成功后清理的CACHE key,支持正则</param>
        /// <param name="dbkey">存在数据库连接池中的连接key,为空时使用ConnString连接</param>
        /// <returns>修改是否成功</returns>
        public static bool UpdateByIDList(IEnumerable <int> routeIDList, RouteSetting routeSetting, string dbkey = "", Where where = null, string[] delCache = null)
        {
            int value = new SQL().Database(dbkey).Update(RouteSetting._)
                        .SetP(RouteSetting._RouteIP, routeSetting.RouteIP)
                        .SetP(RouteSetting._UserName, routeSetting.UserName)
                        .SetP(RouteSetting._RPassword, routeSetting.RPassword)
                        .SetP(RouteSetting._RouteConnect, routeSetting.RouteConnect)
                        .SetP(RouteSetting._RouteDisConnect, routeSetting.RouteDisConnect)
                        .SetP(RouteSetting._RouteMethod, routeSetting.RouteMethod)
                        .Where(new Where()
                               .And(RouteSetting._RouteID, "(" + routeIDList.Join(",") + ")", Operator.In)
                               ).Where(where).ToExec();

            if (value <= 0)
            {
                return(false);
            }
            if (delCache.IsNull())
            {
                return(true);
            }
            Cache2.Remove("TH.Mailer.RouteSettingCache_", delCache);
            return(true);
        }
Example #12
0
 /// <summary>
 /// 路由修改多条记录
 /// </summary>
 /// <param name="routeIDList">路由编号列表,用“,”号分隔</param>
 /// <param name="routeSetting">路由实体类</param>
 /// <returns>修改是否成功</returns>
 public static bool UpdateByIDList(IEnumerable <int> routeIDList, RouteSetting routeSetting, string dbkey)
 {
     return(UpdateByIDList(routeIDList, routeSetting, dbkey, null, null));
 }
Example #13
0
 /// <summary>
 /// 路由修改记录
 /// </summary>
 /// <param name="routeSetting">路由实体类</param>
 /// <returns>修改是否成功</returns>
 public static bool Update(RouteSetting routeSetting, string dbkey)
 {
     return(Update(routeSetting, dbkey, null, null));
 }
Example #14
0
 public bool TryAddRoute(RouteSetting route)
 {
     return(amsTcpIpRouter.TryAddRoute(new Route(route.Name, AmsNetId.Parse(route.AmsNetId), route.IpAddress)));
 }
Example #15
0
 public bool AddRoutes([FromBody] RouteSetting route)
 {
     return(routerService.TryAddRoute(route));
 }
Example #16
0
 protected RouteBase(string path)
 {
     Path        = path;
     Specificity = RouteSpecificity.Path;
     _setting    = RouteSetting.Path;
 }
Example #17
0
 /// <summary>
 /// 路由添加记录
 /// </summary>
 /// <param name="routeSetting">路由实体类</param>
 /// <returns>添加是否成功</returns>
 public static bool Insert(RouteSetting routeSetting, string dbkey)
 {
     return(Insert(routeSetting, dbkey, null));
 }
Example #18
0
 public bool TryAddRoute(RouteSetting route)
 {
     logger.LogWarning($"Try to add Route '{route}' into dummy router service:\nrestart the software with --add-router argument or use the another local router service ");
     return(false);
 }
Example #19
0
 protected RouteBase(string path)
 {
     Path = path;
     Specificity = RouteSpecificity.Path;
     _setting = RouteSetting.Path;
 }
Example #20
0
 public RouteController()
 {
     routeInfo = RouteSettingHelper.SelectByID(1);
 }