/// <inheritdoc />
        public virtual void OnProvidersExecuted(ApplicationModelProviderContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var implicitVersionModel = new ApiVersionModel(Options.DefaultApiVersion);
            var conventionBuilder    = Options.Conventions;
            var application          = context.Result;
            var controllers          = application.Controllers;

            if (Options.UseApiBehavior)
            {
                controllers = ControllerFilter.Apply(controllers);
            }

            for (var i = 0; i < controllers.Count; i++)
            {
                var controller = controllers[i];

                controller.ControllerName = TrimTrailingNumbers(controller.ControllerName);

                if (!conventionBuilder.ApplyTo(controller))
                {
                    ApplyAttributeOrImplicitConventions(controller, implicitVersionModel);
                }
            }
        }
コード例 #2
0
        public static int GetControllersCount(ControllerFilter filter)
        {
            int count;

            var sql = @"
SELECT COUNT(*) FROM [dbo].[Controller]
    left outer join dbo.Technology on [dbo].[Controller].TechnologyId = dbo.Technology.TechnologyId
where (1=1)" + getFilterString(filter);


            using (SqlConnection sqlConnection = new SqlConnection(DBHelper.strConnString))
            {
                SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
                try
                {
                    sqlConnection.Open();
                    count = (int)sqlCommand.ExecuteScalar();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    sqlConnection.Close();
                }
            }
            return(count);
        }
コード例 #3
0
        public DataTable GetControllersForExcel(ControllerFilter filter)
        {
            DataTable dataTable = new DataTable();
            var       sql       = @"
    SELECT dbo.Technology.TechnologyName,
           dbo.Controller.ControllerName,
           STUFF(( SELECT ', '+ dbo.[User].EmailAddress
                 FROM dbo.[User]
                 JOIN dbo.ControllerUser ON ControllerUser.UserId = dbo.[User].UserID
                 WHERE dbo.ControllerUser.ControllerId = dbo.Controller.ControllerId
                FOR XML PATH('')), 1, 1, '') AS 'Assigned_Users'
 FROM dbo.Controller
 INNER JOIN dbo.Technology ON dbo.Controller.TechnologyId = dbo.Technology.TechnologyID
WHERE (1 = 1)  ";

            sql += getFilterString(filter);

            sql += " ORDER BY dbo.Technology.TechnologyID, dbo.Controller.ControllerName ";

            using (SqlConnection sqlConnection = new SqlConnection(DBHelper.strConnString))
            {
                sqlConnection.Open();
                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql, sqlConnection);
                sqlAdapter.Fill(dataTable);
            }

            return(dataTable);
        }
コード例 #4
0
        private ControllerFilter GetFilter()
        {
            ControllerFilter entity = new ControllerFilter();

            entity.ControllerName = txtControllerName.Text.ToString();
            entity.TechnologyId   = int.Parse(DropDownListTech.SelectedValue);
            return(entity);
        }
コード例 #5
0
        private static string getFilterString(ControllerFilter filter)
        {
            string sql = "";

            if (!string.IsNullOrEmpty(filter.ControllerName))
            {
                sql += " AND [Controller].[ControllerName] LIKE '%" + filter.ControllerName + "%'";
            }

            if (filter.TechnologyId > 0)
            {
                sql += "AND [Controller].[TechnologyId] = " + filter.TechnologyId;
            }

            return(sql);
        }
コード例 #6
0
 private void parentChanged(TECChangedEventArgs obj)
 {
     if (obj.Value is TECLocation location)
     {
         if (obj.Change == Change.Add)
         {
             this.Locations.Add(location);
         }
         else if (obj.Change == Change.Remove)
         {
             this.Locations.Remove(location);
         }
     }
     else if (obj.Value is IControllerConnection)
     {
         ControllerFilter.RaiseFilter();
         ConnectableFilter.RaiseFilter();
     }
 }
        /// <inheritdoc />
        public virtual void OnProvidersExecuted(ApplicationModelProviderContext context)
        {
            Arg.NotNull(context, nameof(context));

            var implicitVersionModel = new ApiVersionModel(Options.DefaultApiVersion);
            var conventionBuilder    = Options.Conventions;
            var application          = context.Result;
            var controllers          = application.Controllers;

            if (Options.UseApiBehavior)
            {
                controllers = ControllerFilter.Apply(controllers);
            }

            foreach (var controller in controllers)
            {
                if (!conventionBuilder.ApplyTo(controller))
                {
                    ApplyAttributeOrImplicitConventions(controller, implicitVersionModel);
                }
            }
        }
コード例 #8
0
        public static DataTable GetControllers(ControllerFilter filter, int maximumRows, int startRowIndex)
        {
            DataTable dataTable = new DataTable();
            var       sql       = @"
SELECT * from (
    SELECT ROW_NUMBER() OVER ( ORDER BY dbo.Technology.TechnologyID, dbo.Controller.ControllerName  ) ROWNUMBER,
            [dbo].[Controller].[ControllerId],
            [dbo].[Controller].[ControllerName] ,
            [dbo].[Controller].[TechnologyId],
			dbo.Technology.TechnologyName,
            STUFF(( SELECT ', '+ dbo.[User].EmailAddress
                 FROM dbo.[User]
                 JOIN dbo.ControllerUser ON ControllerUser.UserId = dbo.[User].UserID
                 WHERE dbo.ControllerUser.ControllerId = dbo.Controller.ControllerId
                FOR XML PATH('')), 1, 1, '') AS 'Assigned_Users'
    FROM [dbo].[Controller]
left outer join dbo.Technology on [dbo].[Controller].TechnologyId = dbo.Technology.TechnologyID
	WHERE (1 = 1)  "    ;

            sql += getFilterString(filter);

            //   sql += " ORDER BY dbo.Technology.TechnologyID, dbo.Controller.ControllerName ";

            sql += ") As query where  query.ROWNUMBER > " + startRowIndex + " AND query.ROWNUMBER <= " + (startRowIndex + maximumRows);



            using (SqlConnection sqlConnection = new SqlConnection(DBHelper.strConnString))
            {
                sqlConnection.Open();
                SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql, sqlConnection);
                sqlAdapter.Fill(dataTable);
            }

            return(dataTable);
        }