Пример #1
0
        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;
 }
Пример #3
0
        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;
            }
        }
Пример #4
0
 private void onFormacionRemove(AgrupacionFormacion agrupacion)
 {
     this.formacionesListadas.Remove(agrupacion);
     this.dibujarListadoFormaciones();
 }
Пример #5
0
 private Control renglonDe(AgrupacionFormacion agrupacionFormacion)
 {
     return(new RenglonDeAgrupacionFormacion(agrupacionFormacion, this.onFormacionRemove));
 }
Пример #6
0
 public bool applyTo(Servicio servicio)
 {
     this.pServicio.TiposFormacion = AgrupacionFormacion.ToDictionary(formacionesListadas);
     validables.ForEach(validable => validable.mostrarError());
     return(validables.TrueForAll(validable => validable.esValido()));
 }