public JsonResult GetCascadedAdminUnits(int regionID, int programId = -1)
{
if (programId != -1)
{
var cascadeAdminUnitAllRegions = (from region in _commonService.GetAminUnits(m => m.AdminUnitTypeID == 2)
select new
{
RegionID = region.AdminUnitID,
RegionName = region.Name,
zones = from zone in _commonService.GetAminUnits(z => z.ParentID == region.AdminUnitID)
select new
{
ZoneID = zone.AdminUnitID,
ZoneName = zone.Name,
Woredas = from woreda in _commonService.GetAminUnits(m => m.ParentID == zone.AdminUnitID)
select new
{
WoredaID = woreda.AdminUnitID,
WoredaName = woreda.Name,
fdps = from fdp in _commonService.GetFDPs(woreda.AdminUnitID)
select new
{
FDPID = fdp.FDPID,
FDPName = fdp.Name
}
}
}
}
);
return Json(cascadeAdminUnitAllRegions, JsonRequestBehavior.AllowGet);
}
else
{
var cascadeAdminUnit = (from zone in _commonService.GetAminUnits(m => m.AdminUnitTypeID == 3 && m.ParentID == regionID)
select new
{
ZoneID = zone.AdminUnitID,
ZoneName = zone.Name,
Woredas = from woreda in _commonService.GetAminUnits(m => m.ParentID == zone.AdminUnitID)
select new
{
WoredaID = woreda.AdminUnitID,
WoredaName = woreda.Name,
fdps = from fdp in _commonService.GetFDPs(woreda.AdminUnitID)
select new
{
FDPID = fdp.FDPID,
FDPName = fdp.Name
}
}
}
);
return Json(cascadeAdminUnit, JsonRequestBehavior.AllowGet);
}
}