private async Task <bool> Modificar() { bool modificado = false; Vehiculo v = new Vehiculo() { Matricula = textMatricula.Text.ToUpper(), Marca = new Marca() { Id = 0 }, Modelo = textModelo.Text, Capacidad = -1, Anio = textAño.Text, CostoDia = -1, Caracteristicas = vehiculo.Caracteristicas, }; try { int capacidad = Int16.Parse(textCapacidad.Text); v.Capacidad = capacidad; } catch (Exception ex) { MessageBox.Show("La capacidad no es correcta."); } try { float costoDia = float.Parse(textCosto.Text); v.CostoDia = costoDia; } catch (Exception ex) { MessageBox.Show("El costo no es correcto."); } try { Marca marca = new Marca() { Id = (int)comboBoxMarca.SelectedValue }; v.Marca = marca; } catch (Exception ex) { MessageBox.Show("La marca no es correcta."); } ValidacionVehiculo validator = new ValidacionVehiculo(); ValidationResult results = validator.Validate(v); if (!results.IsValid) { string mensaje = results.Errors[0].ErrorMessage; MessageBox.Show(mensaje); } else { string rutaRelativa = ""; try { //Guarda la imagen en la carpeta y retorna la ruta relativa de la imagen //para guardarla en la base de datos //Lanza una excepcion, en tal caso no se guarda el vehiculo if (FotoCambiada) { rutaRelativa = _repositorioFotografia.Guardar(FotoVehiculo.Image); } else { rutaRelativa = vehiculo.PathFoto; } v.PathFoto = rutaRelativa; modificado = await _repositorioVehiculo.Modificar(v); } catch (Exception ex) { MessageBox.Show("Ocurrió un error." + ex); //si falla la modificacion se borra la nueva imagen if (FotoCambiada) { _repositorioFotografia.Borrar(rutaRelativa); } Console.WriteLine("Ocurrió un error"); } } return(modificado); }