public ActionResult editUnit(EditUnitModel Model, string measurementSystem, long[] checkedRecords)
{
ViewBag.Title = PresentationModel.GetViewTitleForTenant( "Manage Units", this.Session.GetTenant());
UnitManager unitManager = new UnitManager();
Model.Unit.Name = cutSpaces(Model.Unit.Name);
Model.Unit.Abbreviation = cutSpaces(Model.Unit.Abbreviation);
Model.Unit.Description = cutSpaces(Model.Unit.Description);
Model.Unit.Dimension.Name = cutSpaces(Model.Unit.Dimension.Name);
Model.Unit.Dimension.Specification = cutSpaces(Model.Unit.Dimension.Specification);
if (Model.Unit.Id == 0)
{
if (unitValidation(Model.Unit, checkedRecords))
{
foreach (MeasurementSystem msCheck in Enum.GetValues(typeof(MeasurementSystem)))
{
if (msCheck.ToString().Equals(measurementSystem))
{
Model.Unit.MeasurementSystem = msCheck;
}
}
if (Model.Unit.Dimension.Id != 0)
Model.Unit.Dimension = unitManager.DimensionRepo.Get(Model.Unit.Dimension.Id);
else
{
if (!String.IsNullOrEmpty(Model.Unit.Dimension.Name))
Model.Unit.Dimension.Name = "no Name";
Model.Unit.Dimension = unitManager.Create(Model.Unit.Dimension.Name, Model.Unit.Dimension.Name, Model.Unit.Dimension.Specification);
}
Model.Unit = unitManager.Create(Model.Unit.Name, Model.Unit.Abbreviation, Model.Unit.Description, Model.Unit.Dimension, Model.Unit.MeasurementSystem);
updataAssociatedDataType(Model.Unit, checkedRecords);
}
else
{
Session["Window"] = true;
return View("UnitManager", new UnitManagerModel());
}
}
else
{
if (unitValidation(Model.Unit, checkedRecords))
{
Unit unit = unitManager.Repo.Get(Model.Unit.Id);
if (!(unit.DataContainers.Count() > 0))
{
unit.Name = Model.Unit.Name;
unit.Description = Model.Unit.Description;
unit.Abbreviation = Model.Unit.Abbreviation;
foreach (MeasurementSystem msCheck in Enum.GetValues(typeof(MeasurementSystem)))
{
if (msCheck.ToString().Equals(measurementSystem))
{
unit.MeasurementSystem = msCheck;
}
}
if (Model.Unit.Dimension.Id != 0)
unit.Dimension = unitManager.DimensionRepo.Get(Model.Unit.Dimension.Id);
else
{
if (!String.IsNullOrEmpty(unit.Dimension.Name))
unit.Dimension.Name = "no Name";
unit.Dimension = unitManager.Create(Model.Unit.Dimension.Name, Model.Unit.Dimension.Name, Model.Unit.Dimension.Specification);
}
unit = unitManager.Update(unit);
List<long> DataTypelIdList = new List<long>();
updataAssociatedDataType(unit, checkedRecords);
}
}
else
{
Session["Window"] = true;
return View("UnitManager", new UnitManagerModel(Model.Unit.Id));
}
}
Session["Window"] = false;
Session["checked"] = null;
return RedirectToAction("UnitManager");
}