public Response <DivisionProgramModel> GetDivisionPrograms(int userID) { var repository = _unitOfWork.GetRepository <DivisionProgramDataModel>(SchemaName.Core); var procParams = new List <SqlParameter> { new SqlParameter("UserID", userID) }; var divisionProgramResult = repository.ExecuteStoredProc("usp_GetUserOrgDetailsMapping", procParams); var result = divisionProgramResult.CloneResponse <DivisionProgramModel>(); result.ID = userID; if (result.ResultCode != 0) { return(result); } result.DataItems = new List <DivisionProgramModel>(); var groupByDivisions = from userDivision in divisionProgramResult.DataItems group userDivision by userDivision.DivisionMappingID; foreach (var groupDivision in groupByDivisions) { var userDivisionProgram = new DivisionProgramModel(); userDivisionProgram.userID = userID; userDivisionProgram.MappingID = groupDivision.Key; var groupByPrograms = groupDivision.GroupBy(x => x.ProgramMappingID); foreach (var groupByProgram in groupByPrograms) { var userPrograms = new ProgramsModel(); userPrograms.MappingID = groupByProgram.Key; foreach (var item in groupByProgram) { userDivisionProgram.Name = item.Division; userDivisionProgram.CompanyMappingID = item.CompanyMappingID; userDivisionProgram.CompanyName = item.Company; userPrograms.Name = item.Program; var userProgramUnit = new DivisionProgramBaseModel(); userProgramUnit.MappingID = item.PUMappingID; userProgramUnit.Name = item.PU; userPrograms.ProgramUnits.Add(userProgramUnit); } userDivisionProgram.Programs.Add(userPrograms); } userDivisionProgram.Programs = userDivisionProgram.Programs.OrderBy(x => x.Name).ToList(); result.DataItems.Add(userDivisionProgram); } return(result); }
public static DivisionProgramBaseViewModel ToViewModel(this DivisionProgramBaseModel entity) { if (entity == null) { return(null); } var model = new DivisionProgramBaseViewModel { MappingID = entity.MappingID, Name = entity.Name, ModifiedOn = entity.ModifiedOn }; return(model); }