protected override ValidationResult IsValid(object value, ValidationContext validationContext) { ICustomerCount service = (ICustomerCount)validationContext.GetService(typeof(ICustomerCount)); int current_customer_number = service.GetCustomerNumber(); if (max_number > current_customer_number) { return(ValidationResult.Success); } return(new ValidationResult($"Current number of customers is {current_customer_number}, max number of customers is {max_number}")); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { ICustomerCount customerCount = (ICustomerCount)validationContext.GetService(typeof(ICustomerCount)); current_number = customerCount.GetCustomerNumber(); if (current_number >= max_number) { return(new ValidationResult($"Can't insert customer, current number is: {current_number} max number: {max_number}")); } return(ValidationResult.Success); }
private void GenerateMessage(FilterContext context, string event_name) { string controller = context.ActionDescriptor.RouteValues["controller"]; string action = context.ActionDescriptor.RouteValues["action"]; string message = $"{event_name}: this is {controller} controller, {action} action, current number of customers is: {_customerCount.GetCustomerNumber()}"; Debug.WriteLine(message); }
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, AccessBasedOnCustomerCountRequirements requirement) { if (context.User == null) { return(Task.CompletedTask); } if (context.User.HasClaim(c => c.Type == "AgeClaim" && Convert.ToInt32(c.Value) > 18) && context.User.HasClaim(ClaimTypes.Role, "User") && _customerCount.GetCustomerNumber() < requirement.max_customer) { context.Succeed(requirement); } return(Task.CompletedTask); }