public ServicioAttrs(Servicio servicio, Repositorio repositorio) { InitializeComponent(); pServicio = servicio; formacionesListadas = AgrupacionFormacion.From(servicio.TiposFormacion); var nombreFormaciones = repositorio.Listar <Formacion>(); var nombreEstaciones = repositorio.Listar <Estacion>(); nombreFormacionCbo.Items.AddRange(nombreFormaciones.ToArray()); origenTramoCbo.Items.AddRange(nombreEstaciones.ToArray()); destinoTramoCbo.Items.AddRange(nombreEstaciones.ToArray()); validables.Add(new Validator <Servicio>(pServicio, ReglaConcreta <Servicio> .dePresencia((unServicio => unServicio.Nombre)), this.errorNombreLbl, this.nombreField)); validables.Add(new Validator <Servicio>(pServicio, ReglaConcreta <Servicio> .noNegativo((unServicio => unServicio.CantidadFormacionesInicio)), this.errorCantidadEnInicio, this.cantidadEnInicioField)); validables.Add(new Validator <Servicio>(pServicio, new ReglaConcreta <Servicio>((unServicio => unServicio.Tramos.Count > 0), "Al menos debe tener un tramo"), this.errorTramoLbl)); validables.Add(new Validator <Servicio>(pServicio, new ReglaConcreta <Servicio>((unServicio => unServicio.TiposFormacion.Keys.Count > 0), "Al menos debe tener una formación"), this.errorFormacionesLbl)); BindingSourceServicio.DataSource = pServicio; bindingSourceFormacionEditando.DataSource = pFormacionEditando; bindingSourceTramoEditando.DataSource = pTramoEditando; this.dibujarListadoFormaciones(); this.dibujarListadoTramos(); materialSingleLineTextField1.IsNumeric = true; materialSingleLineTextField2.IsNumeric = true; materialSingleLineTextField3.IsNumeric = true; cantidadEnInicioField.IsNumeric = true; }
public FormacionAttr(Formacion formacion, Repositorio repositorio) { InitializeComponent(); pFormacion = formacion; validables.Add(new Validator <Formacion>(pFormacion, ReglaConcreta <Formacion> .dePresencia(unaFormacion => unaFormacion.Nombre), errorNombreLbl, bindingSourceFormacion)); validables.Add(new Validator <Formacion>(pFormacion, ReglaConcreta <Formacion> .dePositivo(unaFormacion => unaFormacion.KilometrosMantenimiento), errorDistanciaLbl, bindingSourceFormacion)); validables.Add(new Validator <Formacion>(pFormacion, ReglaConcreta <Formacion> .dePositivo(unaFormacion => unaFormacion.DuracionMantenimiento), errorTiempoManteLbl, bindingSourceFormacion)); validables.Add(new Validator <Formacion>(pFormacion, new ReglaConcreta <Formacion>(unaFormacion => unaFormacion.TiposCoche.Keys.Count > 0, "Debe tener por lo menos un tipo de coche"), errorCochesLbl)); cochesListados = AgrupacionCoche.From(formacion.TiposCoche); var modelos = repositorio.Listar <Coche>(); modeloCbo.Items.AddRange(modelos.ToArray()); validablesParaLista.Add(new Validator <AgrupacionCoche>(pCocheEditando, ReglaConcreta <AgrupacionCoche> .dePositivo(unaAgrupacionCoche => unaAgrupacionCoche.Cantidad), errorCantidadLbl)); validablesParaLista.Add(new Validator <AgrupacionCoche>(pCocheEditando, new ReglaCompuesta <AgrupacionCoche>(new List <Regla <AgrupacionCoche> > { new ReglaConcreta <AgrupacionCoche>(unaAgrupacion => unaAgrupacion.Coche != null, "Este campo es requerido"), new ReglaConcreta <AgrupacionCoche>(unaAgrupacion => cochesListados.TrueForAll(otraAgrupacion => !unaAgrupacion.Coche.Equals(otraAgrupacion.Coche)), "No se puede usar el mismo tipo\n de coche dos veces") }), errorModeloLbl)); bindingSourceFormacion.DataSource = pFormacion; bindingSourceCocheEditando.DataSource = pCocheEditando; this.dibujarListado(); distanciaManteField.IsNumeric = true; tiempoEnManteField.IsNumeric = true; cantidadCocheField.IsNumeric = true; }
public EstacionAttrs(Estacion estacion, Repositorio repositorio) { InitializeComponent(); pEstacion = estacion; validables.Add(new Validator <Estacion>(pEstacion, ReglaConcreta <Estacion> .dePresencia((unaEstacion => unaEstacion.Nombre)), this.errorNombreLbl, this.nombreField)); validables.Add(new Validator <Estacion>(pEstacion, ReglaCompuesta <Estacion> .minimoMaximoNoNegativos(e => e.PersonasEsperandoMinIda, e => e.PersonasEsperandoMaxIda), this.errorSubidaIda, this.esperandoMaxIdaField)); validables.Add(new Validator <Estacion>(pEstacion, ReglaCompuesta <Estacion> .minimoMaximoNoNegativos(e => e.PersonasEsperandoMinVuelta, e => e.PersonasEsperandoMaxVuelta), this.errorSubidaVuelta, this.esperandoMaxVueltaField)); validables.Add(new Validator <Estacion>(pEstacion, ReglaCompuesta <Estacion> .minimoMaximoNoNegativos(e => e.PersonasDesciendenMinIda, e => e.PersonasDesciendenMaxIda), this.errorBajadaIda, this.desciendenMaxIdaField)); validables.Add(new Validator <Estacion>(pEstacion, ReglaCompuesta <Estacion> .minimoMaximoNoNegativos(e => e.PersonasDesciendenMinVuelta, e => e.PersonasDesciendenMaxVuelta), this.errorBajadaVuelta, this.desciendenMaxVueltaField)); BindingSourceEstacion.DataSource = pEstacion; this.pIncidentes = repositorio.Listar <Incidente>(); BindIncidentes(); esperandoMinIdaField.IsNumeric = true; esperandoMaxIdaField.IsNumeric = true; esperandoMinVueltaField.IsNumeric = true; esperandoMaxVueltaField.IsNumeric = true; desciendenMinIdaField.IsNumeric = true; desciendenMaxIdaField.IsNumeric = true; desciendenMinVueltaField.IsNumeric = true; desciendenMaxVueltaField.IsNumeric = true; }
public TrazaAttrs(Traza traza, Repositorio repositiorio) { InitializeComponent(); pTraza = traza; validables.Add(new Validator <Traza>(pTraza, ReglaConcreta <Traza> .dePresencia((s => s.Nombre)), this.errorNombreLbl, this.nombreField)); validables.Add(new Validator <Traza>(pTraza, new ReglaConcreta <Traza>((s => s.Servicios.Count > 0), "Debe haber al menos un servicio asignado"), this.errorServiciosLbl)); BindingSourceTraza.DataSource = pTraza; pServicios = repositiorio.Listar <Servicio>(); BindServicios(); }
public IncidenteAttrs(Incidente incidente) { InitializeComponent(); pIncidente = incidente; validables.Add(new Validator <Incidente>(pIncidente, ReglaConcreta <Incidente> .dePresencia((unIncidente => unIncidente.Nombre)), this.errorNombreLbl, this.nombreField)); validables.Add(new Validator <Incidente>(pIncidente, new ReglaConcreta <Incidente>(unIncidente => unIncidente.ProbabilidadDeOcurrencia >= 0 && unIncidente.ProbabilidadDeOcurrencia <= 100, "Debe ser un valor entre 0 y 100"), this.errorOcurrenciaLbl, this.probabilidadField)); validables.Add(new Validator <Incidente>(pIncidente, ReglaConcreta <Incidente> .dePositivo((unIncidente => unIncidente.TiempoDemora)), this.errorDemoraLbl, this.demoraField)); BindingSourceIncidente.DataSource = pIncidente; probabilidadField.IsNumeric = true; demoraField.IsNumeric = true; }
public CocheAttrs(Coche coche) { InitializeComponent(); pCoche = coche; validables.Add(new Validator <Coche>(pCoche, ReglaConcreta <Coche> .dePresencia((unCoche => unCoche.Modelo)), this.errorModeloLbl, this.modeloField)); validables.Add(new Validator <Coche>(pCoche, ReglaConcreta <Coche> .dePositivo((unCoche => unCoche.MaximoLegalPasajeros)), this.errorLegalLbl, this.capacidadLegalField)); validables.Add(new Validator <Coche>(pCoche, reglaParaCapacidadMaxima, this.errorMaximaLbl, this.capacidadTotalField)); validables.Add(new Validator <Coche>(pCoche, reglaParaAsientos, this.errorAsientosLbl, this.asientosField)); BindingSourceCoche.DataSource = pCoche; asientosField.IsNumeric = true; capacidadLegalField.IsNumeric = true; capacidadTotalField.IsNumeric = true; }
public SimulacionAttrs(Simulacion simulacion, Repositorio repositorio) { InitializeComponent(); pSimulacion = simulacion; validables.Add(new Validator <Simulacion>(pSimulacion, ReglaConcreta <Simulacion> .dePresencia((s => s.Nombre)), this.errorNombreLbl, this.nombreField)); validables.Add(new Validator <Simulacion>(pSimulacion, ReglaConcreta <Simulacion> .dePresencia((s => s.TrazaSimulada)), this.errorTrazaLbl, this.ComboBoxTraza)); validables.Add(new Validator <Simulacion>(pSimulacion, ReglaConcreta <Simulacion> .dePositivo((s => s.Duracion)), this.errorDuracionLbl, this.duracionField)); BindingSourceSimulacion.DataSource = pSimulacion; List <Traza> list = repositorio.Listar <Traza>(); BindingSourceTraza.DataSource = list; ComboBoxTraza.listaDatos = list.Select(x => x.Nombre).ToList(); if (pSimulacion.TrazaSimulada == null && list.Count > 0) { pSimulacion.TrazaSimulada = list[0]; } contadorMinutosText.Text = (simulacion.Duracion * 1440).ToString(); duracionField.IsNumeric = true; }
private void agregarTramoClick(object sender, EventArgs e) { List <Validable> validablesTramo = new List <Validable>(); validablesTramo.Add(new Validator <Tramo>(pTramoEditando, ReglaConcreta <Tramo> .dePresencia((tramo => tramo.EstacionOrigen)), this.errorEstacionSalidaLbl)); validablesTramo.Add(new Validator <Tramo>(pTramoEditando, ReglaConcreta <Tramo> .dePresencia((tramo => tramo.EstacionDestino)), this.errorEstacionLlegadaLbl)); validablesTramo.Add(new Validator <Tramo>(pTramoEditando, ReglaConcreta <Tramo> .dePositivo((tramo => tramo.Distancia)), this.errorDistanciaLbl)); validablesTramo.Add(new Validator <Tramo>(pTramoEditando, ReglaConcreta <Tramo> .dePositivo((tramo => tramo.TiempoViaje)), this.errorTiempoLbl)); validablesTramo.ForEach(validable => validable.mostrarError()); if (validablesTramo.TrueForAll(validable => validable.esValido())) { this.pServicio.Tramos.Add(pTramoEditando); this.listadoTramos.agregarRenglon(this.renglonDe(pTramoEditando)); pTramoEditando = new Tramo(); bindingSourceTramoEditando.DataSource = pTramoEditando; origenTramoCbo.SelectedItem = null; destinoTramoCbo.SelectedItem = null; errorTramoLbl.Visible = false; } }
private void agregarBtn_Click(object sender, EventArgs e) { List <Validable> validablesFormacion = new List <Validable>(); validablesFormacion.Add(new Validator <AgrupacionFormacion>(pFormacionEditando, ReglaConcreta <AgrupacionFormacion> .dePresencia((a => a.Formacion)), this.errorFormacionLbl)); validablesFormacion.Add(new Validator <AgrupacionFormacion>(pFormacionEditando, ReglaConcreta <AgrupacionFormacion> .dePositivo((a => a.Cantidad)), this.errorCantidadLbl)); validablesFormacion.ForEach(validable => validable.mostrarError()); if (validablesFormacion.TrueForAll(validable => validable.esValido())) { formacionesListadas.Add(pFormacionEditando); this.listadoFormaciones.agregarRenglon(this.renglonDe(pFormacionEditando)); pFormacionEditando = new AgrupacionFormacion(); bindingSourceFormacionEditando.DataSource = pFormacionEditando; nombreFormacionCbo.SelectedItem = null; errorFormacionesLbl.Visible = false; } }