diff --git a/Controllers/Reports/ShiftController.cs b/Controllers/Reports/ShiftController.cs index 8e42831..1f21d17 100644 --- a/Controllers/Reports/ShiftController.cs +++ b/Controllers/Reports/ShiftController.cs @@ -8,7 +8,6 @@ namespace MixERP.HRM.Controllers.Reports public class AttendanceReportController : DashboardController { [Route("dashboard/hrm/reports/attendances")] - [RestrictAnonymous] [MenuPolicy] public ActionResult Index() { diff --git a/Controllers/Services/AttachmentController.cs b/Controllers/Services/AttachmentController.cs index a93c133..3bc8c16 100644 --- a/Controllers/Services/AttachmentController.cs +++ b/Controllers/Services/AttachmentController.cs @@ -1,17 +1,21 @@ using System.Net; using System.Web.Mvc; +using System.Web.UI; using Frapid.Areas; +using Frapid.Areas.Authorization; using Frapid.Areas.Conventions.Attachments; using Frapid.Framework.Extensions; using Frapid.WebsiteBuilder; using Serilog; using Frapid.Areas.CSRF; +using Frapid.Areas.Caching; namespace MixERP.HRM.Controllers.Services { [AntiForgery] public class AttachmentController : FrapidController { + [RestrictAnonymous] [Route("dashboard/hrm/services/attachments")] [HttpPost] public ActionResult Post() @@ -35,7 +39,9 @@ public ActionResult Post() } } + [RestrictAnonymous] [Route("dashboard/hrm/services/attachments/{*path}")] + [FrapidOutputCache(ProfileName = "StaticFile.xml", Location = OutputCacheLocation.Client)] public ActionResult AttachmentResult(string path) { int width = this.Request.QueryString["width"].To(); diff --git a/Controllers/Setup/EducationLevelController.cs b/Controllers/Setup/EducationLevelController.cs index 51e9e9a..87f9720 100644 --- a/Controllers/Setup/EducationLevelController.cs +++ b/Controllers/Setup/EducationLevelController.cs @@ -8,7 +8,6 @@ namespace MixERP.HRM.Controllers.Setup { public class EducationLevelController : DashboardController { - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] [Route("dashboard/hrm/setup/education-levels")] diff --git a/Controllers/Setup/EmployeeTypeController.cs b/Controllers/Setup/EmployeeTypeController.cs index e7a66d7..d85d9a7 100644 --- a/Controllers/Setup/EmployeeTypeController.cs +++ b/Controllers/Setup/EmployeeTypeController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class EmployeeTypeController : DashboardController { [Route("dashboard/hrm/setup/employee-types")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/EmploymentStatusController.cs b/Controllers/Setup/EmploymentStatusController.cs index 231699b..2b80723 100644 --- a/Controllers/Setup/EmploymentStatusController.cs +++ b/Controllers/Setup/EmploymentStatusController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class EmploymentStatusController : DashboardController { [Route("dashboard/hrm/setup/employment-statuses")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/ExitTypeController.cs b/Controllers/Setup/ExitTypeController.cs index 1adfc2a..8b26466 100644 --- a/Controllers/Setup/ExitTypeController.cs +++ b/Controllers/Setup/ExitTypeController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class ExitTypeController : DashboardController { [Route("dashboard/hrm/setup/exit-types")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/IdentificationTypeController.cs b/Controllers/Setup/IdentificationTypeController.cs index 3a10d35..c2fae08 100644 --- a/Controllers/Setup/IdentificationTypeController.cs +++ b/Controllers/Setup/IdentificationTypeController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class IdentificationTypeController : DashboardController { [Route("dashboard/hrm/setup/identification-types")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/JobTitleController.cs b/Controllers/Setup/JobTitleController.cs index 2ee7d81..2adf2e8 100644 --- a/Controllers/Setup/JobTitleController.cs +++ b/Controllers/Setup/JobTitleController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class JobTitleController : DashboardController { [Route("dashboard/hrm/setup/job-titles")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/LeaveBenefitController.cs b/Controllers/Setup/LeaveBenefitController.cs index 028fcc8..50897fc 100644 --- a/Controllers/Setup/LeaveBenefitController.cs +++ b/Controllers/Setup/LeaveBenefitController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class LeaveBenefitController : DashboardController { [Route("dashboard/hrm/setup/leave-benefits")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/LeaveTypeController.cs b/Controllers/Setup/LeaveTypeController.cs index 2d725cb..5f2cf27 100644 --- a/Controllers/Setup/LeaveTypeController.cs +++ b/Controllers/Setup/LeaveTypeController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class LeaveTypeController : DashboardController { [Route("dashboard/hrm/setup/leave-types")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/MaritalStatusController.cs b/Controllers/Setup/MaritalStatusController.cs index 4666623..78cef88 100644 --- a/Controllers/Setup/MaritalStatusController.cs +++ b/Controllers/Setup/MaritalStatusController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class MaritalStatusController : DashboardController { [Route("dashboard/hrm/setup/marital-statuses")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/NationalityController.cs b/Controllers/Setup/NationalityController.cs index 9b22886..33a0187 100644 --- a/Controllers/Setup/NationalityController.cs +++ b/Controllers/Setup/NationalityController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class NationalityController : DashboardController { [Route("dashboard/hrm/setup/nationalities")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/OfficeHourController.cs b/Controllers/Setup/OfficeHourController.cs index 7e10aab..2a0487e 100644 --- a/Controllers/Setup/OfficeHourController.cs +++ b/Controllers/Setup/OfficeHourController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class OfficeHourController : DashboardController { [Route("dashboard/hrm/setup/office-hours")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/PayGradeController.cs b/Controllers/Setup/PayGradeController.cs index 3acc748..495389b 100644 --- a/Controllers/Setup/PayGradeController.cs +++ b/Controllers/Setup/PayGradeController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class PayGradeController : DashboardController { [Route("dashboard/hrm/setup/pay-grades")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/ShiftController.cs b/Controllers/Setup/ShiftController.cs index 5c53dba..20d11df 100644 --- a/Controllers/Setup/ShiftController.cs +++ b/Controllers/Setup/ShiftController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class ShiftController : DashboardController { [Route("dashboard/hrm/setup/shifts")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Setup/SocialNetworkController.cs b/Controllers/Setup/SocialNetworkController.cs index cfd905f..8deb8e2 100644 --- a/Controllers/Setup/SocialNetworkController.cs +++ b/Controllers/Setup/SocialNetworkController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Setup public class SocialNetworkController : DashboardController { [Route("dashboard/hrm/setup/social-networks")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Tasks/AttendanceController.cs b/Controllers/Tasks/AttendanceController.cs index 5755b97..e6ac34a 100644 --- a/Controllers/Tasks/AttendanceController.cs +++ b/Controllers/Tasks/AttendanceController.cs @@ -15,7 +15,6 @@ namespace MixERP.HRM.Controllers.Tasks public class AttendanceController : DashboardController { [Route("dashboard/hrm/tasks/attendance")] - [RestrictAnonymous] [MenuPolicy] public async Task IndexAsync() { diff --git a/Controllers/Tasks/ContractController.cs b/Controllers/Tasks/ContractController.cs index ed764f9..f0aad29 100644 --- a/Controllers/Tasks/ContractController.cs +++ b/Controllers/Tasks/ContractController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Tasks public class ContractController : DashboardController { [Route("dashboard/hrm/tasks/contracts")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Tasks/EmployeesController.cs b/Controllers/Tasks/EmployeesController.cs index 22d1bc6..eccf226 100644 --- a/Controllers/Tasks/EmployeesController.cs +++ b/Controllers/Tasks/EmployeesController.cs @@ -12,7 +12,6 @@ namespace MixERP.HRM.Controllers.Tasks public class EmployeeController: DashboardController { [Route("dashboard/hrm/tasks/employees")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() @@ -21,7 +20,6 @@ public ActionResult Index() } [Route("dashboard/hrm/tasks/employees/experiences")] - [RestrictAnonymous] [MenuPolicy(OverridePath = "/dashboard/hrm/tasks/employees")] [ScrudFactory] public ActionResult DisplayExpriences() @@ -30,7 +28,6 @@ public ActionResult DisplayExpriences() } [Route("dashboard/hrm/tasks/employees/identification-details")] - [RestrictAnonymous] [MenuPolicy(OverridePath = "/dashboard/hrm/tasks/employees")] [ScrudFactory] public ActionResult DisplayIdentificationDetails() @@ -39,7 +36,6 @@ public ActionResult DisplayIdentificationDetails() } [Route("dashboard/hrm/tasks/employees/leave-application")] - [RestrictAnonymous] [MenuPolicy(OverridePath = "/dashboard/hrm/tasks/employees")] [ScrudFactory] public ActionResult DisplayLeaveApplication() @@ -48,7 +44,6 @@ public ActionResult DisplayLeaveApplication() } [Route("dashboard/hrm/tasks/employees/qualifications")] - [RestrictAnonymous] [MenuPolicy(OverridePath = "/dashboard/hrm/tasks/employees")] [ScrudFactory] public ActionResult DisplayQualifications() @@ -57,7 +52,6 @@ public ActionResult DisplayQualifications() } [Route("dashboard/hrm/tasks/employees/social-networks")] - [RestrictAnonymous] [MenuPolicy(OverridePath = "/dashboard/hrm/tasks/employees")] [ScrudFactory] public ActionResult DisplaySocialNetworks() @@ -66,7 +60,6 @@ public ActionResult DisplaySocialNetworks() } [Route("dashboard/hrm/tasks/employee-info/{employeeId}")] - [RestrictAnonymous] [MenuPolicy(OverridePath = "/dashboard/hrm/tasks/employees")] public async Task EmployeeInfoAsync(int employeeId) { diff --git a/Controllers/Tasks/ExitController.cs b/Controllers/Tasks/ExitController.cs index 5337ba0..e40b612 100644 --- a/Controllers/Tasks/ExitController.cs +++ b/Controllers/Tasks/ExitController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Tasks public class ExitController : DashboardController { [Route("dashboard/hrm/tasks/exits")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Tasks/LeaveApplicationController.cs b/Controllers/Tasks/LeaveApplicationController.cs index ce0a73a..fd60058 100644 --- a/Controllers/Tasks/LeaveApplicationController.cs +++ b/Controllers/Tasks/LeaveApplicationController.cs @@ -8,7 +8,6 @@ namespace MixERP.HRM.Controllers.Tasks public class LeaveApplicationController : DashboardController { [Route("dashboard/hrm/tasks/leave-applications")] - [RestrictAnonymous] [MenuPolicy] public ActionResult Index() { diff --git a/Controllers/Tasks/ResignationController.cs b/Controllers/Tasks/ResignationController.cs index c451f7e..c754d35 100644 --- a/Controllers/Tasks/ResignationController.cs +++ b/Controllers/Tasks/ResignationController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Tasks public class ResignationController : DashboardController { [Route("dashboard/hrm/tasks/resignations")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Tasks/TerminationController.cs b/Controllers/Tasks/TerminationController.cs index af7cd39..b656ba6 100644 --- a/Controllers/Tasks/TerminationController.cs +++ b/Controllers/Tasks/TerminationController.cs @@ -9,7 +9,6 @@ namespace MixERP.HRM.Controllers.Tasks public class TerminationController : DashboardController { [Route("dashboard/hrm/tasks/terminations")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() diff --git a/Controllers/Verifications/ContractVerificationController.cs b/Controllers/Verifications/ContractVerificationController.cs index ada13f6..151e8e9 100644 --- a/Controllers/Verifications/ContractVerificationController.cs +++ b/Controllers/Verifications/ContractVerificationController.cs @@ -17,7 +17,6 @@ namespace MixERP.HRM.Controllers.Verifications public class ContractVerificationController : DashboardController { [Route("dashboard/hrm/verification/contracts")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() @@ -26,7 +25,6 @@ public ActionResult Index() } [Route("dashboard/hrm/verification/contracts")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] [HttpPut] diff --git a/Controllers/Verifications/ExitVerificationController.cs b/Controllers/Verifications/ExitVerificationController.cs index 8f16c8d..6dfe4f7 100644 --- a/Controllers/Verifications/ExitVerificationController.cs +++ b/Controllers/Verifications/ExitVerificationController.cs @@ -17,7 +17,6 @@ namespace MixERP.HRM.Controllers.Verifications public class ExitVerificationController : DashboardController { [Route("dashboard/hrm/verification/exits")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() @@ -26,7 +25,6 @@ public ActionResult Index() } [Route("dashboard/hrm/verification/exits")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] [HttpPut] diff --git a/Controllers/Verifications/LeaveApplicationVerificationController.cs b/Controllers/Verifications/LeaveApplicationVerificationController.cs index 8c3aa1e..4da0562 100644 --- a/Controllers/Verifications/LeaveApplicationVerificationController.cs +++ b/Controllers/Verifications/LeaveApplicationVerificationController.cs @@ -17,7 +17,6 @@ namespace MixERP.HRM.Controllers.Verifications public class LeaveApplicationVerificationController : DashboardController { [Route("dashboard/hrm/verification/leave-applications")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() @@ -26,7 +25,6 @@ public ActionResult Index() } [Route("dashboard/hrm/verification/leave-applications")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] [HttpPut] diff --git a/Controllers/Verifications/ResignationVerificationController.cs b/Controllers/Verifications/ResignationVerificationController.cs index a26e6a8..9b1fdda 100644 --- a/Controllers/Verifications/ResignationVerificationController.cs +++ b/Controllers/Verifications/ResignationVerificationController.cs @@ -17,7 +17,6 @@ namespace MixERP.HRM.Controllers.Verifications public class ResignationVerificationController : DashboardController { [Route("dashboard/hrm/verification/resignations")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() @@ -26,7 +25,6 @@ public ActionResult Index() } [Route("dashboard/hrm/verification/resignations")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] [HttpPut] diff --git a/Controllers/Verifications/TerminationVerificationController.cs b/Controllers/Verifications/TerminationVerificationController.cs index ca8b9b1..3272aa3 100644 --- a/Controllers/Verifications/TerminationVerificationController.cs +++ b/Controllers/Verifications/TerminationVerificationController.cs @@ -17,7 +17,6 @@ namespace MixERP.HRM.Controllers.Verifications public class TerminationVerificationController : DashboardController { [Route("dashboard/hrm/verification/terminations")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] public ActionResult Index() @@ -26,7 +25,6 @@ public ActionResult Index() } [Route("dashboard/hrm/verification/terminations")] - [RestrictAnonymous] [MenuPolicy] [ScrudFactory] [HttpPut] diff --git a/MixERP.HRM.csproj b/MixERP.HRM.csproj index d885f3f..0c55e1d 100644 --- a/MixERP.HRM.csproj +++ b/MixERP.HRM.csproj @@ -43,6 +43,10 @@ 4 + + packages\MvcDonutCaching.1.3.0\lib\net40\DevTrends.MvcDonutCaching.dll + True + False ..\..\bin\Frapid.ApplicationState.dll diff --git a/Views/web.config b/Views/web.config index ce72ef0..e83b716 100644 --- a/Views/web.config +++ b/Views/web.config @@ -25,7 +25,7 @@ - + diff --git a/packages.config b/packages.config index 0e75e71..1a709f4 100644 --- a/packages.config +++ b/packages.config @@ -6,5 +6,6 @@ + \ No newline at end of file diff --git a/packages/MvcDonutCaching.1.3.0/MvcDonutCaching.1.3.0.nupkg b/packages/MvcDonutCaching.1.3.0/MvcDonutCaching.1.3.0.nupkg new file mode 100644 index 0000000..093f469 Binary files /dev/null and b/packages/MvcDonutCaching.1.3.0/MvcDonutCaching.1.3.0.nupkg differ diff --git a/packages/MvcDonutCaching.1.3.0/content/DevTrends.MvcDonutCaching.README.txt b/packages/MvcDonutCaching.1.3.0/content/DevTrends.MvcDonutCaching.README.txt new file mode 100644 index 0000000..aff5999 --- /dev/null +++ b/packages/MvcDonutCaching.1.3.0/content/DevTrends.MvcDonutCaching.README.txt @@ -0,0 +1,6 @@ +Getting started with DevTrends.MvcDonutCaching +---------------------------------------------- + +Find out how to use DevTrends.MvcDonutCaching by visiting https://github.com/moonpyk/mvcdonutcaching + +Please report all bugs and feature requests on GitHub. diff --git a/packages/MvcDonutCaching.1.3.0/content/Views/web.config.transform b/packages/MvcDonutCaching.1.3.0/content/Views/web.config.transform new file mode 100644 index 0000000..51e0a64 --- /dev/null +++ b/packages/MvcDonutCaching.1.3.0/content/Views/web.config.transform @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.XML b/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.XML new file mode 100644 index 0000000..16179b0 --- /dev/null +++ b/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.XML @@ -0,0 +1,917 @@ + + + + DevTrends.MvcDonutCaching + + + + + Gets or sets the action name. + + + The action's name. + + + + + Gets or sets the controller name. + + + The the controller name. + + + + + Gets or sets the route values. + + + The route values. + + + + + Implementations should serialize as string the specified action settings. + + The action settings. + A string representing the given + + + + Implementations should deserializes the specified serialized action settings. + + The serialized action settings. + An object + + + + Implementations should set the cache headers for the HTTP response given . + + The HTTP response. + The cache settings. + + + + Sets the cache headers for the HTTP response given . + + The HTTP response. + The cache settings. + + + + Gets or sets content type. + + + The content type. + + + + + Gets or sets the content to be cached. + + + The content. + + + + + Gets or sets a value indicating whether the cache is enabled. + + + true if cache is enabled otherwise, false. + + + + + Gets or sets the cache duration. + + + The cache duration. + + + + + Gets or sets the VaryByParam cache parameter. + + + The VaryByParam cache parameter. + + + + + Gets or sets the VaryByCustom cache parameter. + + + The VaryByCustom cache parameter. + + + + + Gets or sets the output cache location. + + + The output cache location. + + + + + Gets or sets a value indicating whether store or not the result. + + + true if no store; otherwise, false. + + + + + Gets or sets the output cache options. + + + The output cache options. + + + + + Gets a value indicating whether the server caching is enabled. + + + true if the server caching enabled; otherwise, false. + + + + + Implementations should return the output cache provider settings. + + A instance. + + + + Implementation should return an output cache profile for the asked . + + Name of the cache profile. + A instance. + + + + Implementation should return a value indicating whether caching is globally enabled. + + + true if caching is globally enabled; otherwise, false. + + + + + Implementations should encrypt the specified plain text. + + The plain text. + An encrypted representation of + + + + Implementations should Decrypt the specified encrypted text. + + The encrypted text. + The original text + + + + Implementations should remove a single output cache entry for the specified controller and action. + + The name of the controller that contains the action method. + The name of the controller action method. + + + + Implementations should remove a single output cache entry for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + An object that contains the parameters for a route. + + + + Implementations should remove a single output cache entry for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + A dictionary that contains the parameters for a route. + + + + Implementations should remove all output cache entries. + + + + + Implementations should remove all output cache entries for the specified controller. + + The name of the controller. + + + + Implementations should remove all output cache entries for the specified controller and action. + + The name of the controller that contains the action method. + The name of the controller action method. + + + + Implementations should remove all output cache entries for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + A dictionary that contains the parameters for a route. + + + + Implementations should add the given in the cache. + + The cache key to add. + The cache item to add. + The cache item UTC expiry date and time. + + + + Implementations should retrieve a cache item the given the . + + The key. + A instance on cache hit, null otherwise. + + + + Implentations should remove the donut hole wrappers. + + The content. + The filter context. + The output cache options. + A donut hole wrapper free string + + + + Replaces the donut holes content of with fresh content. + + The content. + The filter context. + The output cache options. + A string containing the donut holes replaced by content. + + + + Implementations should generate a key given the and . + + The controller context. + The cache settings. + A string that can be used as an output cache key + + + + Called before an action method executes. + + The filter context. + + + + Called after an action result executes. + + The filter context. + + + + Builds the cache settings. + + + + The 'duration' attribute must have a value that is greater than or equal to zero. + + + + + Executes the callback. + + The context. + if set to true [has errors]. + + + + Gets or sets the cache duration, in seconds. + + + + + Gets or sets the vary-by-param value. + + + + + Gets or sets the vary-by-custom value. + + + + + Gets or sets the cache profile name. + + + + + Gets or sets the location. + + + + + Gets or sets a value that indicates whether to store the cache. + + + + + Get or sets the for this attributes. Specifying a value here will + make the value ignored. + + + + + Invokes the specified child action method and returns the result as an HTML string. + + The HTML helper instance that this method extends. + The name of the action method to invoke. + A flag that determines whether the action should be excluded from any parent cache. + The child action result as an HTML string. + + + + Invokes the specified child action method using the specified parameters and returns the result as an HTML string. + + The HTML helper instance that this method extends. + The name of the action method to invoke. + An object that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + The child action result as an HTML string. + + + + Invokes the specified child action method using the specified parameters and returns the result as an HTML string. + + The HTML helper instance that this method extends. + The name of the action method to invoke. + A dictionary that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + The child action result as an HTML string. + + + + Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string. + + The HTML helper instance that this method extends. + The name of the action method to invoke. + The name of the controller that contains the action method. + A flag that determines whether the action should be excluded from any parent cache. + The child action result as an HTML string. + + + + Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string. + + The HTML helper instance that this method extends. + The name of the action method to invoke. + The name of the controller that contains the action method. + An object that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + The child action result as an HTML string. + + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + + The HTML helper instance that this method extends. + The name of the child action method to invoke. + A flag that determines whether the action should be excluded from any parent cache. + + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + + The HTML helper instance that this method extends. + The name of the child action method to invoke. + A dictionary that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + + The HTML helper instance that this method extends. + The name of the child action method to invoke. + A dictionary that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The name of the controller that contains the action method. + A flag that determines whether the action should be excluded from any parent cache. + + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The name of the controller that contains the action method. + A dictionary that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + + + + Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view. + + The HTML helper instance that this method extends. + The name of the child action method to invoke. + The name of the controller that contains the action method. + A dictionary that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + + + + Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string. + + The HTML helper instance that this method extends. + The name of the action method to invoke. + The name of the controller that contains the action method. + A dictionary that contains the parameters for a route. You can use routeValues to provide the parameters that are bound to the action method parameters. The routeValues parameter is merged with the original route values and overrides them. + A flag that determines whether the action should be excluded from any parent cache. + The child action result as an HTML string. + + + + Implementations should build a cache key given . + + Name of the controller. + + + + + Implementations should build a cache key given the and . + + Name of the controller. + Name of the action. + + + + Builds a cache key given the , and . + + Name of the controller. + Name of the action. + The route values. + + + + Implementations should build a cache key fragment for given . + + The route value to process. + + + + Specifies the default value for the + + + + + Removes a single output cache entry for the specified controller and action. + + The name of the controller that contains the action method. + The name of the controller action method. + + + + Removes a single output cache entry for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + An object that contains the parameters for a route. + + + + Removes a single output cache entry for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + A dictionary that contains the parameters for a route. + + + + Removes all output cache entries. + + + + + Removes all output cache entries for the specified controller. + + The name of the controller. + + + + Removes all output cache entries for the specified controller and action. + + The name of the controller that contains the action method. + The name of the controller action method. + + + + Removes all output cache entries for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + An object that contains the parameters for a route. + + + + Removes all output cache entries for the specified controller, action and parameters. + + The name of the controller that contains the action method. + The name of the controller action method. + A dictionary that contains the parameters for a route. + + + + No matter what, never use the query string parameters to generate the cache key name + + + + + No matter what, never use the POST data to generate the cache key name + + + + + If the request is a POST, don't lookup for a cached result, execute the the result normally, + caching it for subsequent GET (or any other non POST verb). + + + + + Replace donuts in child actions, may affect performance but needed if you intent to have nested + donut holes in child actions + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage + + + [CanBeNull] public object Test() { return null; } + public void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null + + + [NotNull] public object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form + + + [StringFormatMethod("message")] + public void ShowError(string message, params object[] args) { /* do something */ } + public void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of + + + public void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + interface + and this method is used to notify that some property value changed + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + private string _name; + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) + for method output means that the methos doesn't return normally.
+ canbenull annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, + or use single attribute with rows separated by semicolon.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not + + + [LocalizationRequiredAttribute(true)] + public class Foo { + private string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + class UsesNoEquality { + public void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + public class ComponentAttribute : Attribute { } + [Component] // ComponentAttribute requires implementing IComponent interface + public class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly + (e.g. via reflection, in external library), so this symbol + will not be marked as unused (as well as by other usage inspections) + + + + + Should be used on attributes and causes ReSharper + to not mark symbols marked with such attributes as unused + (as well as by other usage inspections) + + + + Only entity marked with attribute considered used + + + Indicates implicit assignment to a member + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type + + + + Specify what is considered used implicitly + when marked with + or + + + + Members of entity marked with attribute are considered used + + + Entity marked with attribute and all its members considered used + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used + + + + + Tells code analysis engine if the parameter is completely handled + when the invoked method is on stack. If the parameter is a delegate, + indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated + while the method is executed + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute + + + [Pure] private int Multiply(int x, int y) { return x * y; } + public void Foo() { + const int a = 2, b = 2; + Multiply(a, b); // Waring: Return value of pure method is not used + } + + + + + Indicates that a parameter is a path to a file or a folder + within a web project. Path can be relative or absolute, + starting from web root (~) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC controller. If applied to a method, + the MVC controller name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(String, Object) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that + the parameter is an MVC partial view. If applied to a method, + the MVC partial view name is calculated implicitly from the context. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Allows disabling all inspections + for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String) + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String) + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object) + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String) + + +
+
diff --git a/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.dll b/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.dll new file mode 100644 index 0000000..29d30be Binary files /dev/null and b/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.dll differ diff --git a/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.pdb b/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.pdb new file mode 100644 index 0000000..ec0bb59 Binary files /dev/null and b/packages/MvcDonutCaching.1.3.0/lib/net40/DevTrends.MvcDonutCaching.pdb differ diff --git a/web.config b/web.config index 430c1f3..4555eef 100644 --- a/web.config +++ b/web.config @@ -1,31 +1,31 @@ - + - - + + - - + + - - + + - - + + - - + +