// POST: /DataManagement/UnitList
        public JsonResult UnitList()
        {
            try
            {
                JourListDMContainer dm = new JourListDMContainer();
                List<UnitModel> list = new List<UnitModel>();

                foreach (var a in dm.Units.Where(z => z.Active == true))
                {
                    UnitModel item = new UnitModel();
                    item.Id = a.Id;
                    item.Description = a.Description;
                    item.ConversionFactor = a.ConversionFactor;
                    item.UnitTypeId = a.UnitType.Id;
                    item.Abbreviation = a.Abbreviation;
                    item.Active = a.Active;
                    list.Add(item);
                }

                return Json(new { Result = "OK", Records = list });
            }
            catch (Exception e)
            {
                return Json(new { Result = "ERROR", Message = e.Message });
            }
        }
        public JsonResult CreateUnit(UnitModel model)
        {
            if (!ModelState.IsValid)
            {
                return Json(new
                {
                    Result = "ERROR",
                    Message = "Form is not valid! " +
                    "Please correct it and try again."
                });
            }

            if (!User.IsInRole("Officer"))
            {
                return Json(new
                {
                    Result = "ERROR",
                    Message = "You do not have the authority to create a new unit."
                });
            }

            try
            {
                JourListDMContainer dm = new JourListDMContainer();

                Unit unit = new Unit();

                unit.UnitType = dm.UnitTypes.Single(z => z.Id == model.UnitTypeId);
                unit.Description = model.Description;
                unit.ConversionFactor = model.ConversionFactor;
                unit.Abbreviation = model.Abbreviation;

                if (model.ConversionFactor == 1)
                {
                    if (unit.UnitType.DefaultUnit != null && unit.UnitType.DefaultUnit.Active)
                        return Json(new
                        {
                            Result = "ERROR",
                            Message = "A default unit with conversion factor of 1 already exists."
                        });

                    dm.AddToUnits(unit);
                    dm.SaveChanges();

                    unit.UnitType.DefaultUnit = unit;
                }
                else
                {
                    dm.AddToUnits(unit);
                }

                dm.SaveChanges();

                model.Id = unit.Id;

                return Json(new { Result = "OK", Record = model });
            }
            catch (Exception e)
            {
                return Json(new { Result = "ERROR", Message = e.Message });
            }
        }