// Иссдедование алгоритма с переданными параметрами. public ResearchAlgorithmResponse ResearchAlgorithm(ResearchRequest param) { Graph graph = _graphBL.GetById(param.GraphId); double avgTime = 0.0; int error = 0; // Инициализация алгоритма с переданными параметрами. GeneticAlgorithmCore ga = new GeneticAlgorithmCore(graph, param.PopulationSize, param.Pm, param.Pc); // Многократный запуск алгоритма для оценки времени работы и процента ошибок. for (int i = 0; i < _testCount; i++) { // Запуск алгоритма и получение результатов FindingVertexResponse algResult = ga.StartAlgorithm(); // проверка на верность найденного решения if (algResult.R != graph.R) { error++; } // увеличение суммарного времени работы avgTime += algResult.Time; } // возвращение результата в виде среднего // значения времени работы и процента неверных ответов return(new ResearchAlgorithmResponse() { AvgTime = avgTime / _testCount, Error = error / (double)_testCount * 100.0, }); }
// ������������ ��������� � ����������� �����������. public ResearchAlgorithmResponse ResearchAlgorithm(ResearchRequest param) { Graph graph = _graphBL.GetById(param.GraphId); double avgTime = 0.0; int error = 0; // ������������� ��������� � ����������� �����������. GeneticAlgorithmCore ga = new GeneticAlgorithmCore(graph, param.PopulationSize, param.Pm, param.Pc); // ������������ ������ ��������� ��� ������ ������� ������ � �������� ������. for (int i = 0; i < _testCount; i++) { // ������ ��������� � ��������� ����������� FindingVertexResponse algResult = ga.StartAlgorithm(); // �������� �� �������� ���������� ������� if (algResult.R != graph.R) { error++; } // ���������� ���������� ������� ������ avgTime += algResult.Time; } // ����������� ���������� � ���� �������� // �������� ������� ������ � �������� �������� ������� return(new ResearchAlgorithmResponse() { AvgTime = avgTime / _testCount, Error = error / (double)_testCount * 100.0, }); }
public ActionResult ResearchAlgorithm(ResearchRequest request) { ResearchAlgorithmResponse response = _algorithmWork.ResearchAlgorithm(request); return(View("ResearchResult", model: new AlgorithmResultResponse() { ResearchRequest = request, AlgorithmResponse = response, })); }
public void Confirm() { var request = new ResearchRequest { DTO = Mapper.Map(Model, new ResearchDTO()), UserID = GlobalVar.UserID }; var response = Helper.Call(s => s.ResearchSet(request)); ServiceResponseHelper.CheckServiceResponse(response, "ResearchSet", request); Messenger.Default.Send(Messages.Research.Refresh); SliderHelper.Close(); }
public ActionResult ResearchAlgorithm(ResearchRequest request) { // получение ответа от алгоритма ResearchAlgorithmResponse response = _algorithmWork.ResearchAlgorithm(request); // возврат представления с полученными результатами работы алгоритма return(View("ResearchResult", model: new AlgorithmResultResponse() { ResearchRequest = request, AlgorithmResponse = response, })); }
public ResearchResponse ResearchGetList(ResearchRequest request) { List <ResearchDTO> result = null; try { NullSafeCheck(request, "ResearchRequest"); var filter = request.Filter; using (var context = new CharityEntities()) { var query = context.Researches.AsNoTracking().AsQueryable(); if (filter != null) { if (filter.ID > 0) { query = query.Where(p => p.Active && p.ID == filter.ID); } else { if (filter.Active != null) { query = query.Where(p => p.Active == filter.Active); } if (filter.CreateDate?.From != null) { query = query.Where(p => p.CreateDate >= filter.CreateDate.From); } if (filter.CreateDate?.To != null) { query = query.Where(p => p.CreateDate <= filter.CreateDate.To); } if (filter.RequestID > 0) { query = query.Where(p => p.RequestID == filter.RequestID); } } } result = query.Select(Mapper.ResearchDTOMapper).ToList(); } return(new ResearchResponse { Success = true, ResultList = result }); } catch (Exception ex) { var response = ExceptionToBaseResponse(ex); return(response.Cast <ResearchResponse>()); } }
private void UpdateResearches() { if (!(Model?.ID > 0)) { return; } var request = new ResearchRequest { Filter = new ResearchFilter { RequestID = Model.ID } }; var response = Helper.Call(s => s.ResearchGetList(request)); ServiceResponseHelper.CheckServiceResponse(response, "ResearchGetList", request); var temp = response.ResultList.Select(x => Mapper.Map(x, new ResearchModel())); Helper.InvokeMainThread(() => Researches.AddRange(temp)); }
public ResponseBase ResearchSet(ResearchRequest request) { try { NullSafeCheck(request, "RequestResearch"); NullSafeCheck(request.DTO, "ResearchDTO"); UserCheck(request, request.DTO); var result = EntitySet <ResearchDTO, Research>(request.DTO); return(new ResponseBase(true, result)); } catch (Exception ex) { while (ex.InnerException != null) { ex = ex.InnerException; } return(ExceptionToBaseResponse(ex)); } }