public Strategy2020ContentBuilder() { cache = CacheFactory.GetCacheManager(); data = new Strategy2020Data(); InitializeTypes(); content = new Strategy2020Content(); }
public Strategy2020ContentStrategy() { data = new Strategy2020Data(); }
public List <Strategy2020DTO> TransformRawStrategyList (List <Strategy2020ListItemDTO> initialList, List <ProcessSubProcessRelation> processSubProcessRelation, List <ProcessApplicationRelation> processApplicationRelation, List <SubProcessModuleRelation> subProcModuleRelation, List <ApplicationModuleRelation> appModulesRelation) { FillUpType(initialList); List <Strategy2020DTO> newList = new List <Strategy2020DTO>(); Strategy2020Data data = new Strategy2020Data(); Strategy2020Content lookup = new Strategy2020Content(); //NOTE: The entry point is still the initiative topic, //but they are not shown in the result data List <EntityDTO> entryPoint = data.GetAllInitiativeTopic(); //DumpInitialList(initialList.OrderBy(c=>c.ProcessID).ToList()); //DumpProcessToSubprocess(processSubProcessRelation.OrderBy(c=>c.ProcessID).ToList()); //return null; entryPoint.Add(new EntityDTO()); foreach (EntityDTO e in entryPoint) { var tempTable = (from il in initialList where il.InitiativeTopicID == e.ID select il).Distinct(new AgendaComparer()).ToList(); foreach (Strategy2020ListItemDTO sub in tempTable) { Strategy2020DTO s = new Strategy2020DTO(); s.InitiativeTopic = sub.InitiativeTopicName; s.InitiativeTopicID = sub.InitiativeTopicID; s.AgendaTypeID = sub.AgendaTypeID; if (sub.AgendaTypeID != 0) { s.Type = TypeNames.Where(c => c.Key == sub.AgendaTypeID).FirstOrDefault().Value.Name; s.Order = TypeNames.Where(c => c.Key == sub.AgendaTypeID).FirstOrDefault().Value.Order; } else { s.Order = 9999; } s.Agenda = sub.AgendaName; s.AgendaID = sub.AgendaID; var policies = (from pp in initialList where pp.AgendaID == s.AgendaID select pp).Distinct(new PolicyComparer()).ToList(); List <BusinessPolicy> b_policies = Strategy2020DTOConverter.ConvertToListOfBusinessPolicy(policies); foreach (BusinessPolicy b_policy in b_policies) { var rules = (from rr in initialList where rr.PolicyID == b_policy.BusinessPolicyID select rr).Distinct(new RuleComparer()).ToList(); List <BusinessRule> b_rules = Strategy2020DTOConverter.ConvertToListOfBusinessRule(rules); foreach (BusinessRule rule in b_rules) { var processes = (from proc in initialList where proc.RuleID == rule.BusinessRuleID select proc).Distinct(new ProcessComparer()).ToList(); List <ProcessRelation> p_list = Strategy2020DTOConverter.ConvertToListOfProcessRelation(processes, lookup); foreach (ProcessRelation p_rel in p_list) { var subprocesses = (from subproc in processSubProcessRelation where subproc.ProcessID == p_rel.ProcessID orderby subproc.SubProcessName select subproc).Distinct(new SubProcessComparer()).ToList(); List <SubProcessRelation> sp_list = Strategy2020DTOConverter.ConvertToListOfSubProcessRelation(subprocesses, lookup); foreach (SubProcessRelation sp_rel in sp_list) { var modules = (from mods in subProcModuleRelation where mods.SubProcessID == sp_rel.SubProcessID select mods).ToList(); //new ModulesComparer()).ToList(); List <ModuleRelation> mod_list = Strategy2020DTOConverter.ConvertToListOfModuleRelation(modules); sp_rel.Modules = mod_list; } p_rel.SubProcesses = sp_list; //here goes the application relationship var apps = (from app in processApplicationRelation where app.ProcessID == p_rel.ProcessID select app).ToList(); List <ApplicationRelation> apprelation = Strategy2020DTOConverter.ConvertToListOfApplicationRelation(apps); foreach (ApplicationRelation app_rel in apprelation) { var app_mods = (from mods in appModulesRelation where mods.ApplicationID == app_rel.ApplicationID select mods).ToList(); List <ModuleRelation> app_mod_list = Strategy2020DTOConverter.ConvertToListOfApplicationModuleRelation(app_mods); app_rel.Modules = app_mod_list; } p_rel.Application = apprelation; } rule.Processes = p_list; } b_policy.Rules = b_rules; } s.Policies = b_policies; newList.Add(s); } } return(newList.OrderBy(c => c.Order).ToList()); }
public Strategy2020Content() { cache = CacheFactory.GetCacheManager(); data = new Strategy2020Data(); }