Advertisement
Guest User

Untitled

a guest
May 27th, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. [ModelBinderType(typeof(OrganizationEditorForm))]
  2. public class OrganizationEditorFormModelBinder : DefaultModelBinder
  3. {
  4. public ILogger Logger { get; set; }
  5.  
  6. private readonly ApplicationDbContext dbContext;
  7.  
  8. public OrganizationEditorFormModelBinder(ApplicationDbContext dbContext)
  9. {
  10. this.dbContext = dbContext;
  11. }
  12.  
  13. public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
  14. {
  15. Logger.Trace("BindModel");
  16.  
  17. if(bindingContext.ModelType != typeof(OrganizationEditorForm))
  18. return base.BindModel(controllerContext, bindingContext);
  19.  
  20. var form = base.BindModel(controllerContext, bindingContext)
  21. .CastOrDefault<OrganizationEditorForm>();
  22.  
  23. if (form.ParentOrganizationId.HasValue)
  24. form.ParentOrganization = dbContext.Organizations
  25. .FirstOrDefault(o => o.Id == form.ParentOrganizationId);
  26.  
  27. return form;
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement