public override MediatorColleague createMC(string mc_type, MC_Input mci) { Field f = svd.findInDict(mci.field_name); // This cast should be safe because MCFactoryWrapper only calls this with a SingleInputActionMC_Input DoubleInputActionMC_Input concrete_mci = null; if (mci is DoubleInputActionMC_Input) { concrete_mci = (DoubleInputActionMC_Input)mci; } else { // Throw exception return(null); } // Stuff. if (mc_type == "GameweekConstraintMC") { return(new ConstraintMC(svd, new GameweekConstraint(f, concrete_mci.par1, concrete_mci.par2))); } // If got here and haven't returned - we have been passed an invalid mc_type // Throw a "Unknown MediatorColleague type" excepiton return(null); }
public override MediatorColleague createMC(string mc_type, MC_Input mci) { Field f = svd.findInDict(mci.field_name); if (mc_type == "IndexMC") { return(new IndexMC(svd, new IndexingAction(f))); } if (mc_type == "TotallingMC") { return(new TotallingMC(svd, new TotallingAction(f))); } // If got here and haven't returned - we have been passed an invalid mc_type // Throw a "Unknown MediatorColleague type" excepiton return(null); }
public abstract MediatorColleague createMC(string mc_type, MC_Input mci);