public ActionResult ShortPath([FromServices] ICidadeService cidadeService, [FromServices] IFronteiraService fronteiraService, int inicio, int final) { var cidadeInicio = cidadeService.GetById(inicio).Result; if (cidadeInicio == null) { return(NotFound(new { success = false, msg = "Cidade inicial não informada" })); } var cidadeFim = cidadeService.GetById(final).Result; if (cidadeInicio == null) { return(NotFound(new { success = false, msg = "Cidade final não informada" })); } var vertices = cidadeService.GetAll().Result.ToArray(); var fronteiras = fronteiraService.GetAll().Result.ToArray(); var edges = new List <Tuple <Cidade, Cidade> >(); foreach (var fronteira in fronteiras) { var cidade1 = cidadeService.GetById(fronteira.Cidade1); var cidade2 = cidadeService.GetById(fronteira.Cidade2); edges.Add(Tuple.Create(cidade1.Result, cidade2.Result)); } // var grafo = new Graph<int>(vertices, edges.ToArray()); var grapho = new Graph <Cidade>(vertices, edges); var menorCaminho = BuscaMenorCaminho.ShortestPathFunction(grapho, cidadeInicio); // var menorCaminho = BuscaMenorCaminho.ShortestPathFunction(grafo, inicio); return(Json(new { result = _mapper.Map <IEnumerable <CidadeViewModel> >(menorCaminho(cidadeFim)) })); // return Json(new { result = menorCaminho(final) }); }
public ActionResult Edit(int id) { CidadeViewModel cidadeViewModel = new CidadeViewModel(); cidadeViewModel.Cidade = _cidadeService.GetById(id); return(View(cidadeViewModel)); }
public IActionResult Create([Bind("Nome,CPF,PaisId,EstadoId,CidadeId,Id")] Paciente paciente) { if (ModelState.IsValid) { paciente.Pais = _paisService.GetById(paciente.PaisId).Descricao; paciente.Estado = _estadoService.GetById(paciente.EstadoId).Descricao; paciente.Cidade = _cidadeService.GetById(paciente.CidadeId).Descricao; paciente.DateCreate = DateTime.Now; _pacienteService.Add(paciente); _pacienteService.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(View(paciente)); }
public async Task <ActionResult> Post([FromBody] CidadeModel value, [FromServices] ICidadeService cidadeService) { if (value != null) { var cidadesFronteira = new List <Cidade>(); if (value.Fronteiras != null && value.Fronteiras.Any()) { foreach (var cidade in value.Fronteiras) { var cidadeFronteira = await cidadeService.GetById(cidade); if (cidadeFronteira == null) { return(NotFound("Cidade fronteira não encontrada")); } cidadesFronteira.Add(cidadeFronteira); } } var novaCidade = await cidadeService.Add(new Cidade { Habitantes = value.Habitantes, Nome = value.Nome, Fronteiras = cidadesFronteira }); } return(Ok()); }
// GET: Pais/Details/5 public IActionResult Details(int?id) { if (id == null) { return(NotFound()); } var cidade = _cidadeService.GetById(id); if (cidade == null) { return(NotFound()); } return(View(cidade)); }
public CidadeViewModel GetById(Guid id) { return(Mapper.Map <Cidade, CidadeViewModel>(_cidadeService.GetById(id))); }
public CidadeDTO Get(Guid Id) { return(service.GetById(Id)); }