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 RenglonDeAgrupacionFormacion(AgrupacionFormacion agrupacion, DelAgrupacionFormacion handleRemove) { InitializeComponent(); this.Agrupacion = agrupacion; this.nombreLbl.Text = agrupacion.Formacion.Nombre; this.cantidadLbl.Text = agrupacion.Cantidad.ToString(); this.handleRemove = handleRemove; }
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; } }
private void onFormacionRemove(AgrupacionFormacion agrupacion) { this.formacionesListadas.Remove(agrupacion); this.dibujarListadoFormaciones(); }
private Control renglonDe(AgrupacionFormacion agrupacionFormacion) { return(new RenglonDeAgrupacionFormacion(agrupacionFormacion, this.onFormacionRemove)); }
public bool applyTo(Servicio servicio) { this.pServicio.TiposFormacion = AgrupacionFormacion.ToDictionary(formacionesListadas); validables.ForEach(validable => validable.mostrarError()); return(validables.TrueForAll(validable => validable.esValido())); }