private void AddDelayTime() { mCompanies[0].TimeToDevelopNextFunctionality = (int)wordPressNumericUpDown.Value; mCompanies[1].TimeToDevelopNextFunctionality = (int)joomlaNumericUpDown.Value; mCompanies[2].TimeToDevelopNextFunctionality = (int)drupalNumericUpDown.Value; var delayFunc = new Funcionality("Delay", "stagnation"); foreach (var company in mCompanies) { if (company.TimeToDevelopNextFunctionality > 0) { company.mFunctionalities.Add(delayFunc, company.TimeToDevelopNextFunctionality); company.developFunctionality(delayFunc); company.State = Company.CompanyState.ProccessingFunctionality; } } }
public void finishDevelopFuncionality() { ImplementedFunctionalites.Add(mCurrentlyDevelopedFuncionality); mCurrentlyDevelopedFuncionality = null; TimeToDevelopNextFunctionality = int.MaxValue; State = MissingFunctionalities.Count == 0 ? CompanyState.DoneAllFunctionalities : CompanyState.Idle; if (State == CompanyState.DoneAllFunctionalities) { OrderOfFunctionalitiesImplementationWithCosts = ImplementedFunctionalites.Select(func => new Tuple<Funcionality, int>(func, mFunctionalities[func])).ToList(); } }
public void developFunctionality(Funcionality func) { mCurrentlyDevelopedFuncionality = func; TimeToDevelopNextFunctionality = mFunctionalities[func]; State = CompanyState.ProccessingFunctionality; }
public void addRequiredFuncionalityWithCost(Funcionality func, int functionalityCost) { mFunctionalities.Add(func, functionalityCost); }
public int functionalityCost(Funcionality func) { return mFunctionalities[func]; }
private void FillCompaniesFunctionalities() { int numberOfCompanies = 3; List<String> companyNames = new List<String>{"WordPress", "Joomla", "Drupal"}; for (int i = 0; i < numberOfCompanies; i++) { mCompanies.Add(new Company()); mCompanies[i].Name = companyNames[i]; } foreach (SimulationData data in (List<SimulationData>)dataGridView1.DataSource) { Funcionality func = new Funcionality(data.Functionality, data.MarketReaction); mCompanies[0].addRequiredFuncionalityWithCost(func, data.WordPressCost); mCompanies[1].addRequiredFuncionalityWithCost(func, data.JoomlaCost); mCompanies[2].addRequiredFuncionalityWithCost(func, data.DrupalCost); mFunctionalities.Add(func); } AddDelayTime(); }