public object Validate([FromQuery] string validateArr) { var Parameters = JsonConvert.DeserializeObject <List <ParameterForValidate> >(validateArr); List <object> parametersCorrect = new List <object>(); bool resultVerification; string message; foreach (var parameter in Parameters) { if (StaticData.CurrentSystems.ParametersWithEnter.TryGetValue(parameter.parameterName, out ParameterWithEnter parameterWithEnter)) { parameterWithEnter.Value = parameter.value; resultVerification = parameterWithEnter.Verification(out message); if (!resultVerification) { QueryResponse.AddNegativeMessage(message); } parametersCorrect.Add(new { parameterName = parameter.parameterName.GetName(), Correct = resultVerification }); } } QueryResponse.Add("parametersCorrect", parametersCorrect); return(QueryResponse.ToResult()); }
public object SaveSystemToFile([FromQuery] string fileName) { if (string.IsNullOrEmpty(fileName)) { QueryResponse.AddNegativeMessage("Имя файла не указано"); return(QueryResponse.ToResult()); } string filePath = Path.ChangeExtension(fileName, ".csv"); MemoryStream memory = new MemoryStream(); using (StreamWriter streamWriter = new StreamWriter(memory, Encoding.UTF8)) { using (CsvWriter csvWriter = new CsvWriter(streamWriter, CultureInfo.CurrentCulture)) { csvWriter.Configuration.Delimiter = ";"; csvWriter.WriteRecords(StaticData.CurrentSystems.ParametersWithEnter.Values); } } StaticData.CurrentSystems.Name = Path.GetFileNameWithoutExtension(filePath); return(File(memory.ToArray(), MimeTypesMap.GetMimeType(filePath), filePath)); }
public object ValidateRestrictionsBeforeSave() { if (ParameterUniversal.GetRestrictions().Count < 1) { QueryResponse.AddNegativeMessage("Ограничения для сохранения не добавлены"); } return(QueryResponse.ToResult()); }
public object ValidateSystemBeforeSave() { if (!StaticData.CurrentSystems.U.Value.HasValue) { QueryResponse.AddNegativeMessage("Невозможно сохранить систему т.к. данные некорректны"); } return(QueryResponse.ToResult()); }
public object AddRestriction(string parameter = null, string condition = null, string value = null) { ConditionType conditionValue = ConditionType.NoCorrect; double Value = 0; if (string.IsNullOrEmpty(value)) { QueryResponse.AddNegativeMessage("Значение ограничения не указано"); } else { if (!double.TryParse(value, out Value)) { QueryResponse.AddNegativeMessage(String.Format("Указанное значение \"{0}\" не является числом", value)); } else if (!(Value > 0)) { QueryResponse.AddNegativeMessage("Значение ограничения должно быть > 0"); } } if (string.IsNullOrEmpty(condition)) { QueryResponse.AddNegativeMessage("Условие для ограничения не указано"); } else { HelperEnum.TryGetValue <ConditionType>(condition, out conditionValue); if (HelperEnum.IsDefault(conditionValue)) { QueryResponse.AddNegativeMessage(String.Format("Условие типа \"{0}\" не найдено", condition)); } } if (string.IsNullOrEmpty(parameter)) { QueryResponse.AddNegativeMessage("Параметр для ограничения не указан"); } else { var result = ParameterUniversal.AddToRestriction(parameter, conditionValue, Value, QueryResponse.IsSuccess, out bool correct); if (QueryResponse.IsSuccess) { QueryResponse.Add(result); } else if (!correct) { QueryResponse.AddNegativeMessage(String.Format("Параметр с именем \"{0}\" не найден", parameter)); } } return(QueryResponse.ToResult()); }
public object LoadSystemFromFile([FromQuery] IFormFile file) { if ((file == null) || (string.IsNullOrEmpty(file.FileName))) { QueryResponse.AddNegativeMessage("Файл не выбран"); } if (QueryResponse.IsSuccess) { using (StreamReader streamReader = new StreamReader(file.OpenReadStream())) { using (CsvReader csvReader = new CsvReader(streamReader, CultureInfo.InvariantCulture)) { csvReader.Configuration.Delimiter = ";"; try { List <ParameterWithEnter> parametersWithEnter = csvReader.GetRecords <ParameterWithEnter>().ToList(); string nameSystem = Path.GetFileNameWithoutExtension(file.FileName); if (parametersWithEnter.Count != HelperEnum.GetValuesWithoutDefault <NameParameterWithEnter>().Count) { QueryResponse.AddNegativeMessage(String.Format("Файл {0} не корректен, выберите файл, сохраненный системой", file.FileName)); } else if (StaticData.Systems.Keys.Contains(nameSystem)) { QueryResponse.AddNegativeMessage(String.Format("Система с именем {0} уже была добавлена", nameSystem)); } else { SystemForAnalys systemForAnalys = new SystemForAnalys(nameSystem); foreach (var parameterWithEnter in parametersWithEnter) { systemForAnalys.ParametersWithEnter[parameterWithEnter.TypeParameter].Value = parameterWithEnter.Value; } systemForAnalys.SetAsCorrect(); StaticData.Systems.Add(nameSystem, systemForAnalys); } } catch (Exception ex) { QueryResponse.AddNegativeMessage(String.Format("Файл {0} не корректен, выберите файл, сохраненный системой", file.FileName)); } } } } return(QueryResponse.ToResult()); }
public object AddRestrictionsFromFile([FromQuery] IFormFile file) { if ((file == null) || (string.IsNullOrEmpty(file.FileName))) { QueryResponse.AddNegativeMessage("Файл не выбран."); } if (QueryResponse.IsSuccess) { if (!RestrictionsFromFile(file, out List <string> message)) { QueryResponse.AddNegativeMessages(message); } } return(QueryResponse.ToResult()); }
public object DeleteSystem([FromQuery] string nameSystem) { if (string.IsNullOrEmpty(nameSystem)) { QueryResponse.AddNegativeMessage("Система для удаления не указана"); } else if (!StaticData.Systems.Keys.Contains(nameSystem)) { QueryResponse.AddNegativeMessage($"Невозможно удалить систему. Система с именем \"{nameSystem}\" не найдена"); } else { StaticData.Systems.Remove(nameSystem); } return(QueryResponse.ToResult()); }
public object LoadSystemFromFile([FromQuery] IFormFile file) { if ((file == null) || (string.IsNullOrEmpty(file.FileName))) { QueryResponse.AddNegativeMessage("Файл не выбран"); } if (QueryResponse.IsSuccess) { //bool resultVerification; //string message; //List<string> messages = new List<string>(); using (StreamReader streamReader = new StreamReader(file.OpenReadStream())) { using (CsvReader csvReader = new CsvReader(streamReader, CultureInfo.InvariantCulture)) { csvReader.Configuration.Delimiter = ";"; try { List <ParameterWithEnter> parametersWithEnter = csvReader.GetRecords <ParameterWithEnter>().ToList(); foreach (var parameterWithEnter in parametersWithEnter) { StaticData.CurrentSystems.ParametersWithEnter[parameterWithEnter.TypeParameter].Value = parameterWithEnter.Value; //resultVerification = StaticData.CurrentSystems.ParametersWithEnter[parameterWithEnter.TypeParameter].Verification(out message); //if (!resultVerification) // messages.Add(message); } } catch (Exception ex) { QueryResponse.AddNegativeMessage(String.Format("Файл {0} не корректен, выберите файл, сохраненный системой", file.FileName)); } } } //QueryResponse.AddRangeErrorWithIfNotEmpty(messages); } StaticData.CurrentSystems.SetAsCorrect(); return(QueryResponse.ToResult()); }
private ParameterForCalculationChart ValidateChart(string queryString) { ParameterForCalculationChart parameterForCalculationChart = null; if (string.IsNullOrEmpty(queryString)) { QueryResponse.AddNegativeMessage("Параметры не указаны"); } else { parameterForCalculationChart = JsonConvert.DeserializeObject <ParameterForCalculationChart>(queryString); if (parameterForCalculationChart.namesSystems.Count < 1) { QueryResponse.AddNegativeMessage("Для построения графика необходимо выбрать одну или несколько систем"); } if (string.IsNullOrWhiteSpace(parameterForCalculationChart.parameterName)) { QueryResponse.AddNegativeMessage("Для построения графика необходимо выбрать параметр"); } if (!parameterForCalculationChart.From.HasValue) { QueryResponse.AddNegativeMessage("Для построения графика необходимо указать начальное значение параметра"); } if (!parameterForCalculationChart.To.HasValue) { QueryResponse.AddNegativeMessage("Для построения графика необходимо указать конечное значение параметра"); } if (!parameterForCalculationChart.CountDote.HasValue) { QueryResponse.AddNegativeMessage("Для построения графика необходимо указать количество точек"); } } return(parameterForCalculationChart); }
public object DeleteRestriction([FromQuery] string restrictionName = null) { if (string.IsNullOrEmpty(restrictionName)) { QueryResponse.AddNegativeMessage("Ограничение не указано"); } else { bool contains = ParameterUniversal.DeleteFromRestrictions(restrictionName, out bool correct); if (!correct) { QueryResponse.AddNegativeMessage(String.Format("Ограничение с именем \"{0}\" не найдено", restrictionName)); } if (!contains) { QueryResponse.AddNegativeMessage("Ограничение для данного параметра не найдено"); } } return(QueryResponse.ToResult()); }
private ParameterForCalculationDiagram ValidateDiagram(string queryString) { ParameterForCalculationDiagram parameterForCalculationDiagram = null; if (string.IsNullOrEmpty(queryString)) { QueryResponse.AddNegativeMessage("Параметры не указаны"); } else { parameterForCalculationDiagram = JsonConvert.DeserializeObject <ParameterForCalculationDiagram>(queryString); if (parameterForCalculationDiagram.namesSystems.Count < 1) { QueryResponse.AddNegativeMessage("Для построения диаграммы необходимо выбрать одну или несколько систем"); } if (string.IsNullOrWhiteSpace(parameterForCalculationDiagram.parameterName)) { QueryResponse.AddNegativeMessage("Для построения диаграммы необходимо выбрать параметр"); } } return(parameterForCalculationDiagram); }