Files
InventoryTraker-Box/InventoryTraker.Web/Controllers/ControllerBase.cs
T
2016-08-31 10:30:27 -04:00

34 lines
857 B
C#

using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using InventoryTraker.Web.ActionResults;
namespace InventoryTraker.Web.Controllers
{
public abstract class ControllerBase : Controller
{
public BetterJsonResult<T> BetterJson<T>(T model)
{
return new BetterJsonResult<T> {Data = model};
}
protected IEnumerable<string> GetModelStateErrorList()
{
var errorList =
from kvp in ModelState
where kvp.Value.Errors.Any()
let errors = string.Join(", ", kvp.Value.Errors.Select(e => e.ErrorMessage))
let msg = kvp.Key + ": " + errors
select msg;
return errorList;
}
protected JsonResult GetModelStateErrorListJson()
{
var betterJsonResult = new BetterJsonResult();
foreach (var err in GetModelStateErrorList())
betterJsonResult.AddError(err);
return betterJsonResult;
}
}
}