public async Task <IActionResult> Edit(Guid id, [Bind("Id,IdUsuario,Descricao,HorarioPartida,HorarioChegada")] CaronaOferta caronaOferta) { if (id != caronaOferta.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(caronaOferta); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CaronaOfertaExists(caronaOferta.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(caronaOferta)); }
// GET: CaronaBuscas public async Task <string> IndexBusca(CaronaOferta carona) { var caronasBuscadas = await CaronaUtil.ConsulteCaronasBuscadasAsync(carona.Id.ToString(), _context); //return RedirectToAction("IndexResultadoBusca", "CaronaOfertas", carona); // View(nameof(), model); var retorno = JsonConvert.SerializeObject(caronasBuscadas); return(retorno); }
public async Task <IActionResult> CadastrarOferta([Bind("Id,IdUsuario,Descricao,HorarioChegada")] CaronaOferta carona) { if (ModelState.IsValid) { carona.Id = Guid.NewGuid(); _context.Add(carona); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(carona)); }
public static async Task <int> CadastreCaronaOfertaAsync(CaronaOferta carona, Carona_ServiceContext contexto) { DefinePontos(carona.PontoPartida, carona.PontoChegada, carona.PontosIntermediarios); var origem = string.Concat("geography::STPointFromText('POINT(", _pontoOrigem, ")', 4985), "); var destino = string.Concat("geography::STPointFromText('POINT(", _pontoDestino, ")', 4985), "); var trajeto = string.Concat("geography::STLineFromText('LINESTRING(", _pontoOrigem, ", ", _pontosIntermediarios, ", ", _pontoDestino, ")', 4985), "); var sql = new StringBuilder(); sql.Append("INSERT INTO CARONAOFERTA (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); }