public double GetPrice() { if (IsFixedPrice) { return(fixedPrice); } double result = DelegateAssemblyService.getPriceforWorkType(this, ParametersValue); return(result); }
/// <summary> /// считываем входные данные /// </summary> /// <param name="path">имя файла с входными данными</param> public static void ReadInput(string path) { InputFilePath = OutputFilePath = path; if (File.Exists(InputFilePath))//если данные есть { //try //{ InputJsonString = File.ReadAllText(InputFilePath); //чтение файла isHaveInput = true; InputItems = OutputItems = JsonConvert.DeserializeObject <List <WorkTypeClass> >(InputJsonString); //чтение входных данных if (InputItems == null && OutputItems == null) //если файл с входными данными пуст или не читается { InputItems = new List <WorkTypeClass>(); //инициализация обЪектов OutputItems = new List <WorkTypeClass>(); } DelegateAssemblyService.WriteCompileStringToFile(); DelegateAssemblyService.AssemblyDelegate(); //сборка делегатов(проверка корректности входных данных) if (isLoadingCorrect) { if (File.Exists("works.json")) { File.Copy("works.json", "lastCompleteBuild.json", true);//если начальные данные не поврежденны, то сохраняем их как последний рабочий билд } } //} //catch//если начальные данные повреждены //{ // if (File.Exists("lastCompleteBuild.json")) // { // isLoadingCorrect = false; // ReadInput("lastCompleteBuild.json");//загрузка последнего рабочего билда // MessageBox.Show("Cборка не была загружена из-за ошибки, поэтому была загружена последняя рабочая версия."); // return; // } //} } else//если их нет { File.Create(InputFilePath);//создаем пустой входной файл InputJsonString = ""; isHaveInput = true; OutputItems = new List <WorkTypeClass>(); } }
private void AddWorkType(object sender, EventArgs e) { WorkTypeClass work = new WorkTypeClass(); work.Article = WorkTypeNameInp.Text; work.setPriceFunc(formula.TextBox.Text); var numer = Listofparams.Items.GetEnumerator(); while (numer.MoveNext()) { work.parametrs.Add(numer.Current.ToString()); } work.ParametersValue = new double[work.parametrs.Count]; if (Category.SelectedIndex == -1) { MessageBox.Show("Выберите категорию!"); return; } work.category = (WorkTypeClass.Category)(Category.SelectedIndex); if (DelegateAssemblyService.isCreatedCorrect(work)) { if (RedactedItemIndex != null) { JSONSerializeService.OutputItems.Remove(JSONSerializeService.OutputItems.Find(w => w.FullEquals(RedactedWork))); JSONSerializeService.AddToOutput(work); JSONSerializeService.Save(); WorksTypeTree.Edit(RedactedWork, work); RedactedWork = null; } else { JSONSerializeService.AddToOutput(work); JSONSerializeService.Save(); work = JSONSerializeService.OutputItems.Find(w => w.FullEquals(work)); WorksTypeTree.AddtoList(work); } this.Hide(); } else { MessageBox.Show("Параметры обьекта заданны некоректно."); } }