public static Vehiculos ConsultarVehiculoCliente() { List <SP_GENERAL_CONSULTARResult> lstDB = new List <SP_GENERAL_CONSULTARResult>(); using (Conect db = new Conect()) { lstDB = db.SP_GENERAL_CONSULTAR().ToList <SP_GENERAL_CONSULTARResult>(); } Vehiculos lstRes = new Vehiculos(); foreach (SP_GENERAL_CONSULTARResult item in lstDB) { lstRes.Add(new Vehiculo { MATRICULA = item.MATRICULA, MARCA = item.MARCA, ESTADO = item.ESTADO //,MODELO = convert. item.MODELO , MODELO = System.Convert.ToInt16(item.MODELO), }); } return(lstRes); }
public Vehiculo CrearVehiculo(String matricula, String marca, String modelo, string dni) { try { //Si existe matricula ERROR if (ExisteMatricula(matricula)) { throw new Exception("Matricula Existe"); } //Si no existe dni ERROR Conductor c = Conductores.Where(x => x.DNI == dni).First(); if (c == null) { throw new Exception("DNI no Existe"); } Vehiculo v = new Vehiculo(matricula, marca, modelo); //La descripcion no especifica si el conductor ya es habitual 10 veces, si el vehiculo se añade(sin conductor) o no. //Yo decido añadirlo solo si puede ser habital if (AñadirConductorHabitual(v, c)) { Vehiculos.Add(v); return(v); } return(null); } catch (Exception e) { throw e; } }
/// <summary> /// se actualiza el estado en memoria del vehiculo pasado como parametro /// </summary> /// <param name="vehiculo"></param> public void actualizarVehiculo(Vehiculo vehiculo) { try { Vehiculo eliminar = null; foreach (Vehiculo v in Vehiculos) { if (v.Id.ToString().Equals(vehiculo.Id.ToString())) { eliminar = v; } } Vehiculos.Remove(eliminar); Vehiculos.Add(vehiculo); } catch (MensajeException msg) { throw msg; } catch (Exception ex) { throw ex; } }
private void ExecuteSendDataCommand() { Vehiculos.Add(Vehiculo1); Vehiculos.Add(Vehiculo2); Vehiculos.Add(Vehiculo3); }
public List <Vehiculo> CargarVehiculo(List <Vehiculo> colaVehiculos, DateTime reloj, int dias) { Random random = new Random(); var vehiculo = colaVehiculos.First(); if (vehiculo.TipoVehiculo == "Auto") { if (Capacidad == 0) { return(colaVehiculos); } if (ProximaCarga == new DateTime()) { Capacidad--; RandomCargas = random.NextDouble(); DistribucionCargaAutos.GenerarVariableAleatoria(RandomCargas); var generado = DistribucionCargaAutos.GenerarVariableAleatoria(RandomCargas); TiempoEntreCargas = DateTime.Today.AddMinutes(generado.NumAleatorio); var proximaCarga = dias > 1 ? TiempoEntreCargas.AddDays(dias - 1).AddMinutes(DateTimeConverter.EnMinutos(reloj)) : TiempoEntreCargas.AddMinutes(DateTimeConverter.EnMinutos(reloj)); ProximaCarga = proximaCarga; Estado = "Ocupado"; vehiculo.TiempoCarga = TiempoEntreCargas; vehiculo.Estado = $"Cargando en {Nombre}"; Vehiculos.Add(vehiculo); TransbordadorActual = new Transbordador(RandomCargas, TiempoEntreCargas, ProximaCarga, vehiculo); colaVehiculos.Remove(colaVehiculos.First()); } return(colaVehiculos); } else { if (Capacidad <= 1) { return(colaVehiculos); } if (ProximaCarga == new DateTime()) { Capacidad -= 2; RandomCargas = random.NextDouble(); DistribucionCargaAutos.GenerarVariableAleatoria(RandomCargas); var generado = DistribucionCargaCamiones.GenerarVariableAleatoria(RandomCargas); TiempoEntreCargas = dias > 1 ? DateTime.Today.AddDays(dias - 1).AddMinutes(generado.NumAleatorio) : DateTime.Today.AddMinutes(generado.NumAleatorio); var proximaCarga = TiempoEntreCargas.AddMinutes(DateTimeConverter.EnMinutos(reloj)); ProximaCarga = proximaCarga; Estado = "Ocupado"; vehiculo.TiempoCarga = TiempoEntreCargas; vehiculo.Estado = $"Cargando en {Nombre}"; Vehiculos.Add(vehiculo); TransbordadorActual = new Transbordador(RandomCargas, TiempoEntreCargas, ProximaCarga, vehiculo); colaVehiculos.Remove(colaVehiculos.First()); } return(colaVehiculos); } }
//Otros Metodos public void AsociarVehiculo(Vehiculo vehiculo) { Vehiculos.Add(vehiculo); }
public void RegisterVehiculo(Guid vehiculoID) { Vehiculos.Add(vehiculoID); }
/// <summary> /// Se edita el vehiculo pasado. El id del vehiculo se utiliza para reconstruir el objeto ObjectId. /// si no se pasa un chofer, se crea solo un vehiculo /// </summary> /// <param name="vehiculo"></param> /// <param name="idVehiculo"></param> /// <param name="choferSeleccionado"></param> /// <param name="tipoVehiculo"></param> /// <returns></returns> public async Task editarVehiculo(Vehiculo vehiculo, string idVehiculo, string choferSeleccionado, TipoVehiculo tipoVehiculo) { try { if (vehiculo != null && !choferSeleccionado.Equals("000000000000000000000000")) { vehiculo.Id = new ObjectId(idVehiculo); vehiculo.Unidades = calcularUnidades(vehiculo.Alto, vehiculo.Ancho, vehiculo.Largo); vehiculo.Tipo = tipoVehiculo; //Chofer chofer = await DBRepositoryMongo<Chofer>.GetItemAsync(choferSeleccionado, "Choferes"); Chofer chofer = await ControladoraUsuarios.getInstance(_settings).getChofer(choferSeleccionado); if (chofer != null) { vehiculo.Chofer = chofer; } chofer = chofer.Encriptar(chofer); await DBRepositoryMongo <Vehiculo> .UpdateAsync(vehiculo.Id, vehiculo, "Vehiculos"); Vehiculo eliminar = null; foreach (Vehiculo v in Vehiculos) { if (v.Id.ToString().Equals(idVehiculo)) { if (v.Disponible && v.Items.Count > 0)// me fijo que no este en un viaje { eliminar = v; } } } if (eliminar != null) { Vehiculos.Remove(eliminar); Vehiculos.Add(vehiculo); } } else if (vehiculo != null && choferSeleccionado.Equals("000000000000000000000000")) { vehiculo.Id = new ObjectId(idVehiculo); vehiculo.Unidades = calcularUnidades(vehiculo.Alto, vehiculo.Ancho, vehiculo.Largo); vehiculo.Tipo = tipoVehiculo; vehiculo.Chofer = new Chofer(); await DBRepositoryMongo <Vehiculo> .UpdateAsync(vehiculo.Id, vehiculo, "Vehiculos"); Vehiculo eliminar = null; foreach (Vehiculo v in Vehiculos) { if (v.Id.ToString().Equals(idVehiculo)) { eliminar = v; } } Vehiculos.Remove(eliminar); Vehiculos.Add(vehiculo); } else { throw new MensajeException("Ha ocurrido un error inesperado, vuelva a intentarlo mas tarde"); } } catch (MensajeException msg) { throw msg; } catch (Exception ex) { throw ex; } }
/// <summary> /// guarda un nuevo vehiculo con o sin chofer. si no tiene chofer no queda disponible /// </summary> /// <param name="vehiculo"></param> /// <param name="idChofer"></param> /// <returns></returns> public async Task nuevoVehiculo(Vehiculo vehiculo, string idChofer) { try { if (vehiculo != null && !idChofer.Equals("000000000000000000000000")) { Chofer chofer = await getChofer(idChofer); chofer.Disponible = false; chofer = chofer.Encriptar(chofer); vehiculo.Chofer = chofer; vehiculo.Disponible = true; vehiculo.Unidades = calcularUnidades(vehiculo.Largo, vehiculo.Ancho, vehiculo.Alto); Tarifa t = await ControladoraViajes.getInstancia(_settings).obtenerUltimaTarifa(); if (vehiculo.Tipo.Equals(TipoVehiculo.Camioneta)) { vehiculo.Tarifa = t.Camioneta; } if (vehiculo.Tipo.Equals(TipoVehiculo.CamionChico)) { vehiculo.Tarifa = t.CamionChico; } if (vehiculo.Tipo.Equals(TipoVehiculo.Camion)) { vehiculo.Tarifa = t.Camion; } if (vehiculo.Tipo.Equals(TipoVehiculo.CamionGrande)) { vehiculo.Tarifa = t.CamionGrande; } if (vehiculo.Tipo.Equals(TipoVehiculo.CamionMudanza)) { vehiculo.Tarifa = t.CamionMudanza; } await DBRepositoryMongo <Vehiculo> .Create(vehiculo, "Vehiculos"); Vehiculos.Add(vehiculo); await DBRepositoryMongo <Chofer> .UpdateAsync(chofer.Id, chofer, "Choferes"); } else if (vehiculo != null && idChofer.Equals("000000000000000000000000")) { Tarifa t = await ControladoraViajes.getInstancia(_settings).obtenerUltimaTarifa(); if (vehiculo.Tipo.Equals(TipoVehiculo.Camioneta)) { vehiculo.Tarifa = t.Camioneta; } if (vehiculo.Tipo.Equals(TipoVehiculo.CamionChico)) { vehiculo.Tarifa = t.CamionChico; } if (vehiculo.Tipo.Equals(TipoVehiculo.Camion)) { vehiculo.Tarifa = t.Camion; } if (vehiculo.Tipo.Equals(TipoVehiculo.CamionGrande)) { vehiculo.Tarifa = t.CamionGrande; } if (vehiculo.Tipo.Equals(TipoVehiculo.CamionMudanza)) { vehiculo.Tarifa = t.CamionMudanza; } vehiculo.Chofer = new Chofer(); vehiculo.Disponible = false; vehiculo.Unidades = calcularUnidades(vehiculo.Largo, vehiculo.Ancho, vehiculo.Alto); await DBRepositoryMongo <Vehiculo> .Create(vehiculo, "Vehiculos"); Vehiculos.Add(vehiculo); } else { throw new MensajeException("Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde"); } } catch (MensajeException msg) { throw msg; } catch (Exception e) { throw (e); } }
public void Inserta(Vehiculo v) { Vehiculos.Add(v); }