public static async Task <int> CadastreCaronaBuscaAsync(CaronaBusca carona, Carona_ServiceContext contexto) { DefinePontos(carona.PontoPartida, carona.PontoChegada); var origem = string.Concat("geography::STPointFromText('POINT(", _pontoOrigem, ")', 4985), "); var destino = string.Concat("geography::STPointFromText('POINT(", _pontoDestino, ")', 4985), "); var trajeto = string.Concat("geography::STMPointFromText('MULTIPOINT(", _pontoOrigem, ", ", _pontoDestino, ")', 4985), "); var sql = new StringBuilder(); sql.Append("INSERT INTO CARONABUSCA (ID, IDUSUARIO, DESCRICAO, PONTOPARTIDA, PONTOCHEGADA, TRAJETO, HORARIOPARTIDA, HORARIOCHEGADA) "); sql.Append("VALUES (@id, @idUsuario, @descricao, "); sql.Append(origem); sql.Append(destino); sql.Append(trajeto); sql.Append(" cast(@horarioPartida as time), cast(@horarioChegada as time)) "); int resultado = -1; try { resultado = await contexto.Database.ExecuteSqlCommandAsync(new RawSqlString(sql.ToString()), new SqlParameter("@id", carona.Id.ToString()), new SqlParameter("@idUsuario", carona.IdUsuario.ToString()), new SqlParameter("@descricao", carona.Descricao), new SqlParameter("@horarioPartida", carona.HorarioPartida.ToString()), new SqlParameter("@horarioChegada", carona.HorarioChegada.ToString())); } catch (Exception e) { throw new Exception(e.Message, e.InnerException); } return(resultado); }
public async Task <IActionResult> Edit(Guid id, [Bind("Id,IdUsuario,Descricao,HorarioPartida,HorarioChegada")] CaronaBusca caronaBusca) { if (id != caronaBusca.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(caronaBusca); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CaronaBuscaExists(caronaBusca.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(caronaBusca)); }
// GET: CaronaBuscas public async Task <string> IndexBusca(CaronaBusca carona) { var caronasOfertadas = await CaronaUtil.ConsulteCaronasOfertadasAsync(carona.Id.ToString(), _context); //return RedirectToAction("IndexResultadoBusca", "CaronaOfertas", carona); // View(nameof(), model); var retorno = JsonConvert.SerializeObject(caronasOfertadas); return(retorno); }
public async Task <IActionResult> CadastrarBusca(CaronaBusca carona) { if (ModelState.IsValid) { carona.Id = Guid.NewGuid(); _context.Add(carona); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(carona)); }