Пример #1
0
        public Dictionary <string, string> GetController(Dictionary <string, List <Columns> > dict)
        {
            Dictionary <string, string> result = new Dictionary <string, string>();

            foreach (var tablename in dict.Keys)
            {
                List <Columns> columns = dict[tablename];
                TController    model   = new TController()
                {
                    ClassName      = GetCSharpNameFromSqlName(tablename),
                    Columns        = columns,
                    PkColumns      = columns.Where(p => p.PK).ToList(),
                    OtherColumns   = columns.Where(p => !p.PK).ToList(),
                    ModelSpaceName = "Mx",
                    Namespace      = baseClassNamespaces + ".Controllers",
                    TableName      = tablename,
                    ShareNamespace = "MXWater",
                    JsonName       = GetJsonNameFromSqlName(tablename),
                };

                string content = model.TransformText();

                result.Add(model.ClassName + "Controller", content);
            }
            return(result);
        }
Пример #2
0
            /// <summary>
            /// 构建表格时的处理
            /// </summary>
            public override void BuildTable(
                AjaxTableBuilder table, AjaxTableSearchBarBuilder searchBar)
            {
                var app = new TController();
                var dialogParameters = new { size = "size-wide" };

                table.ExtraOptions["pageSize"]       = int.MaxValue;
                table.ExtraOptions["hidePagination"] = true;
                table.MenuItems.AddToggleAllForAjaxTableTree("Level");
                table.MenuItems.AddDivider();
                table.MenuItems.AddEditAction(app.Type, app.EditUrl, dialogParameters: dialogParameters);
                table.MenuItems.AddAddAction(app.Type, app.AddUrl,
                                             name: new T("Add Top Level Class"), dialogParameters: dialogParameters);
                table.MenuItems.AddRemoteModalForSelectedRow(
                    new T("Add Same Level Class"), "fa fa-plus",
                    string.Format(new T("Add {0}"), new T(app.Type)),
                    app.AddUrl + "?parentId=<%-row.ParentId%>", dialogParameters);
                table.MenuItems.AddRemoteModalForSelectedRow(
                    new T("Add Child Class"), "fa fa-plus",
                    string.Format(new T("Add {0}"), new T(app.Type)),
                    app.AddUrl + "?parentId=<%-row.Id%>", dialogParameters);
                searchBar.KeywordPlaceHolder = "Name/Remark";
                searchBar.MenuItems.AddDivider();
                searchBar.MenuItems.AddRecycleBin();
                searchBar.MenuItems.AddAddAction(app.Type, app.AddUrl,
                                                 name: new T("Add Top Level Class"), dialogParameters: dialogParameters);
                searchBar.BeforeItems.AddAddAction(app.Type, app.AddUrl,
                                                   name: new T("Add Top Level Class"), dialogParameters: dialogParameters);
            }
Пример #3
0
        /// <summary>
        /// Create a controller
        /// </summary>
        /// <returns>Returns an instance</returns>
        public TController NewController <TController>() where TController : Controller, new ()
        {
            var controller = new TController();

            controller.Initialize();

            return(controller);
        }
    public void EnableScreenWithController <TController>() where TController : MonoBehaviour
    {
        Transform   parent = base.transform.parent;
        TController x      = FindAllObjectsOfTypeInRoot <TController>(parent).FirstOrDefault();

        if ((UnityEngine.Object)x != (UnityEngine.Object)null)
        {
            x.gameObject.SetActive(value: true);
            return;
        }
        throw new Exception(typeof(TController).FullName + " is not a Child of the parent transform.");
    }
Пример #5
0
        public void CreateRandomController(bool creatEnable = true)
        {
            TController tController = (TController)System.Enum.GetValues(typeof(TController)).GetValue(Random.Range(1, 3));

            Vector3 objPosition;

            objPosition.x = (float)Random.Range(0, 5);
            objPosition.y = (float)Random.Range(0, 5);
            objPosition.z = (float)Random.Range(0, 5);

            this.CreateController(tController, objPosition);
        }
Пример #6
0
        public static TController CreateController <TController>() where TController : Controller, new()
        {
            RouteData routeData      = new RouteData();
            string    controllerName = typeof(TController).Name.Replace("Controller", String.Empty);

            routeData.Values.Add("controller", controllerName);

            HttpContextWrapper httpCtxWrapper = new HttpContextWrapper(HttpContext.Current);
            TController        controller     = new TController();

            controller.ControllerContext = new ControllerContext(httpCtxWrapper, routeData, controller);
            return(controller);
        }
        public void Open <TController>()
            where TController : FormController, new()
        {
            var builder    = _formBuilders[typeof(TController)];
            var form       = builder();
            var controller = new TController();

            Initialize(controller, form);

            _openedControllers.Add(controller);
            var openable = controller as IFormController;

            openable.Open();
        }
Пример #8
0
            /// <summary>
            /// 查询数据
            /// </summary>
            public override void OnQuery(
                AjaxTableSearchRequest request, ref IQueryable <GenericClass> query)
            {
                // 提供类型给其他处理器
                var app = new TController();

                request.Conditions["Type"] = app.Type;
                // 按类型
                query = query.Where(q => q.Type == app.Type);
                // 按关键词
                if (!string.IsNullOrEmpty(request.Keyword))
                {
                    query = query.Where(q => q.Name.Contains(request.Keyword) || q.Remark.Contains(request.Keyword));
                }
            }
            /// <summary>
            /// 构建表格时的处理
            /// </summary>
            public override void BuildTable(
                AjaxTableBuilder table, AjaxTableSearchBarBuilder searchBar)
            {
                var app = new TController();
                var dialogParameters = new { size = "size-wide" };

                table.MenuItems.AddDivider();
                table.MenuItems.AddEditAction(app.Type, app.EditUrl, dialogParameters: dialogParameters);
                table.MenuItems.AddAddAction(app.Type, app.AddUrl, dialogParameters: dialogParameters);
                searchBar.KeywordPlaceHolder = "Name/Remark";
                searchBar.MenuItems.AddDivider();
                searchBar.MenuItems.AddRecycleBin();
                searchBar.MenuItems.AddAddAction(app.Type, app.AddUrl, dialogParameters: dialogParameters);
                searchBar.BeforeItems.AddAddAction(app.Type, app.AddUrl, dialogParameters: dialogParameters);
            }
Пример #10
0
        internal static TController GetController <TController>() where TController : Controller, new()
        {
            var request         = new Mock <HttpRequest>();
            var serviceProvider = new Mock <IServiceProvider>();

            request.Setup(r => r.Query).Returns(new QueryCollection());
            request.Setup(r => r.Cookies).Returns(new RequestCookieCollection());
            request.Setup(r => r.Headers).Returns(new HeaderDictionary());

            var defaultContext = new DefaultHttpContext();

            defaultContext.Request.Scheme  = "http";
            defaultContext.Request.Host    = new HostString("localhost");
            defaultContext.RequestServices = serviceProvider.Object;

            var controllerContext = new ControllerContext();

            controllerContext.HttpContext = defaultContext;
            controllerContext.RouteData   = new RouteData();

            var controller = new TController();

            controller.ControllerContext = controllerContext;
            controller.TempData          = Mock.Of <ITempDataDictionary>();

            var actionContext = new ActionContext
            {
                HttpContext      = defaultContext,
                RouteData        = controllerContext.RouteData,
                ActionDescriptor = new ActionDescriptor()
            };
            var context = new ActionExecutingContext(
                actionContext,
                new List <IFilterMetadata>(),
                new Dictionary <string, object>(),
                controller);

            context.HttpContext.RequestServices = serviceProvider.Object;

            controller.OnActionExecuting(context);

            return(controller);
        }
Пример #11
0
        public void CreateController(TController tController, Vector3 objPosition)
        {
            GameObject controller = null;

            switch (tController)
            {
            case TController.Sphere:
                controller = Instantiate(sphere, objPosition, Quaternion.identity);
                break;

            case TController.Cylinder:
                controller = Instantiate(cylinder, objPosition, Quaternion.identity);
                break;

            case TController.Cube:
                controller = Instantiate(cube, objPosition, Quaternion.identity);
                break;
            }

            Color newColor = new Color(Random.value, Random.value, Random.value, 1.0f);

            controller.GetComponent <MeshRenderer>().material.color = newColor;
        }
        public static TController Instantiate <TController>(params object[] dependencies) where TController : Controller, new()
        {
            var controller = new TController();

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddMvc();
            serviceCollection.AddSingleton <Microsoft.Extensions.Logging.ILoggerFactory>(new NullLoggerFactory());
            foreach (var dependency in dependencies)
            {
                serviceCollection.AddTransient(dependency.GetType().GetInterfaces()[2], sp => dependency);
            }

            var httpContext = new Mock <HttpContext>();

            httpContext.Setup(x => x.RequestServices).Returns(serviceCollection.BuildServiceProvider());

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = httpContext.Object
            };

            return(controller);
        }