Skip to content

Instantly share code, notes, and snippets.

View motowilliams's full-sized avatar

Eric Williams motowilliams

View GitHub Profile
@motowilliams
motowilliams / _config.yml
Created October 22, 2011 07:16 — forked from edavis10/_config.yml
Pagination in Jekyll
# ....other stuff here
paginate: 10
@motowilliams
motowilliams / SessionStateExtensions.cs
Created October 23, 2011 18:30
Asp-net-MVC-Session-State-Extension-Method
public static class SessionStateExtensions
{
public static void Put<T>(this HttpSessionStateBase httpSession, T value) where T : class
{
httpSession[typeof (T).FullName] = value;
}
public static void Put<T>(this HttpSessionStateBase httpSession, string key, T value) where T : class
{
httpSession[typeof (T).FullName + key] = value;
@motowilliams
motowilliams / StringExtensions.cs
Created October 23, 2011 18:47
Checking-for-special-characters-using-LINQ
public static class StringExtensions
{
public static bool HasInvalidCharacters(this string value)
{
//Ascii range between 32 and 127
IEnumerable<int> lowRange = Enumerable.Range(0, 32);
IEnumerable<int> highRange = Enumerable.Range(128, 128);
IEnumerable<int> enumerable = value.ToCharArray().Select(x => Convert.ToInt32(((int)x).ToString()));
return lowRange.Intersect(enumerable).Count() != 0 || highRange.Intersect(enumerable).Count() != 0;
}
@motowilliams
motowilliams / Extension-Methods-Improving-the-quality-of-Life01.cs
Created October 23, 2011 19:27
Extension-Methods-Improving-the-quality-of-Life
foreach( var validationResult in validationResults )
{
bindingContext.ModelState
.AddModelError( validationResult.MemberNames.FirstOrDefault(), validationResult.ErrorMessage );
}
@motowilliams
motowilliams / Extension-Methods-Improving-the-quality-of-Life02.cs
Created October 23, 2011 19:30
Extension-Methods-Improving-the-quality-of-Life
bindingContext.ModelState.AddModelErrors(validationResults);
@motowilliams
motowilliams / Extension-Methods-Improving-the-quality-of-Life03.cs
Created October 23, 2011 19:30
Extension-Methods-Improving-the-quality-of-Life
public static class ModelStateExtensions
{
public static void AddModelErrors(this ModelStateDictionary values, IEnumerable<ValidationResult> validationResults)
{
foreach (var validationResult in validationResults)
values.AddModelError(validationResult.MemberNames.FirstOrDefault(), validationResult.ErrorMessage);
}
}
@motowilliams
motowilliams / Extension-Methods-Improving-the-quality-of-Life04.cs
Created October 23, 2011 19:30
Extension-Methods-Improving-the-quality-of-Life
ValidationContext validationContext = new ValidationContext( someEditModel, null, null );
List<ValidationResult> validationResults = new List<ValidationResult>();
bool isValid = Validator.TryValidateObject( someEditModel, validationContext, validationResults );
if( !isValid )
{
//do something maybe ...
bindingContext.ModelState.AddModelErrors(validationResults);
}
@motowilliams
motowilliams / Extension-Methods-Improving-the-quality-of-Life05.cs
Created October 23, 2011 19:31
Extension-Methods-Improving-the-quality-of-Life
List<ValidationResult> validationResults = someEditModel.ValidateAnnotations();
if( validationResults.Count() > 0 )
bindingContext.ModelState.AddModelErrors(validationResults);
@motowilliams
motowilliams / Extension-Methods-Improving-the-quality-of-Life06.cs
Created October 23, 2011 19:31
Extension-Methods-Improving-the-quality-of-Life
public static class ValidationExtensions
{
public static List<ValidationResult> ValidateAnnotations<T>(this T value) where T : class
{
if(value == null) return new List<ValidationResult>();
var validationContext = new ValidationContext(value, null, null);
var validationResults = new List<ValidationResult>();
Validator.TryValidateObject(value, validationContext, validationResults, true);
return validationResults;
@motowilliams
motowilliams / Getting-started-with-MVCContrib-Filters01.cs
Created October 23, 2011 20:33
Getting-started-with-MVCContrib-Filters
public class CustomerEditModel
{
[Required]
[DisplayName("First Name")]
public string FirstName { get; set; }
[Required]
[DisplayName("Last Name")]
public string LastName { get; set; }
}