Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Web.Mvc;
using System.Collections.Generic;

namespace Lightcast.Web.Areas.Administrator.Controllers {
	public class AspectsController : Controller {
		/// <summary>
		/// The dependency injected service bus
		/// </summary>
		private readonly Lightcast.Infrastructure.IBus Bus;

		/// <summary>
		/// Construct a new controller with the dependencies injected by Ninject.
		/// </summary>
		/// <param name="Bus">
		/// The <see cref="Lightcast.Infrastructure.IBus"/> injected.
		/// </param>
		public AspectsController(Lightcast.Infrastructure.IBus Bus) {
			this.Bus = Bus;
		}

		/// <summary>
		/// Edit an aspect.
		/// </summary>
		/// <param name="id">The unique identity of the aspect to edit.</param>
		/// <returns></returns>
		public ActionResult Edit(Guid? id) {
			// if the given id is empty, then we will simply edit a new model
			if (id == Guid.Empty || !id.HasValue)
				return View(new Lightcast.Presentation.Models.Aspect {
						Properties = new List<Lightcast.Presentation.Models.Property> {
					}
				});
		
			return View();
		}

		[HttpPost]
		public ActionResult Edit([FromJson] Lightcast.Presentation.Models.Aspect model) {
			return Json(model.ToJson(), JsonRequestBehavior.AllowGet);
		}
	}
}

namespace System.Web.Mvc {
	public class FromJsonAttribute : CustomModelBinderAttribute {
		private readonly static System.Web.Script.Serialization.JavaScriptSerializer serializer = 
			new System.Web.Script.Serialization.JavaScriptSerializer();

		public override IModelBinder GetBinder() {
			return new JsonModelBinder();
		}

		private class JsonModelBinder : IModelBinder {
			public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) {
				var stringified = controllerContext.HttpContext.Request[bindingContext.ModelName];
				if (string.IsNullOrEmpty(stringified))
					return null;
				return serializer.Deserialize(stringified, bindingContext.ModelType);
			}
		}
	}
}