Ejemplo n.º 1
0
        private void irPropiedades()
        {
            WPropiedadesNumeric ventana = new WPropiedadesNumeric();

            PropiedadViewModel context = new PropiedadViewModel(true);

            ventana.DataContext = context;

            ventana.ShowDialog();
        }
        private void newPropiedad()
        {
            PropiedadViewModel wmNumeric = new PropiedadViewModel(new Propiedad());

            ventanaNumeric             = new WPropiedadNumeric();
            wmNumeric.EnabledEliminar  = false;
            ventanaNumeric.DataContext = wmNumeric;
            ventanaNumeric.ShowDialog();

            //Obtenemos todas las propiedades.
            ListaPropiedades = DataManager.GetAllPropiedades();
        }
        private void editarDocumento()
        {
            if (PropiedadSeleccionada.idPropiedad > 0)
            {
                PropiedadViewModel wmNumeric = new PropiedadViewModel(PropiedadSeleccionada);
                wmNumeric.EnabledEliminar  = true;
                ventanaNumeric             = new WPropiedadNumeric();
                ventanaNumeric.DataContext = wmNumeric;

                ventanaNumeric.ShowDialog();

                //Obtenemos todas las propiedades.
                ListaPropiedades = DataManager.GetAllPropiedades();
            }
        }
        private void irListaCentroTrabajo(List <string> Lista)
        {
            PanelPropiedades = new ObservableCollection <StackPanel>();

            PanelPropiedadesCadena     = new ObservableCollection <StackPanel>();
            PanelPropiedadesBool       = new ObservableCollection <StackPanel>();
            PanelPropiedadesOpcionales = new ObservableCollection <StackPanel>();

            IApplicationContext   ctx;
            XmlApplicationContext file;
            ICentroTrabajo        _elCentroTrabajo;


            ObservableCollection <Propiedad>         propiedades_Numericas  = new ObservableCollection <Propiedad>();
            ObservableCollection <PropiedadBool>     propiedades_Bool       = new ObservableCollection <PropiedadBool>();
            ObservableCollection <PropiedadCadena>   propiedades_Cadenas    = new ObservableCollection <PropiedadCadena>();
            ObservableCollection <PropiedadOptional> propiedades_Opcionales = new ObservableCollection <PropiedadOptional>();


            ObservableCollection <NumericEntry>  propiedadesNumeric    = new ObservableCollection <NumericEntry>();
            ObservableCollection <BoolEntry>     propiedadesBool       = new ObservableCollection <BoolEntry>();
            ObservableCollection <StringEntry>   propiedadesCadena     = new ObservableCollection <StringEntry>();
            ObservableCollection <OptionalEntry> propiedadesOpcionales = new ObservableCollection <OptionalEntry>();

            PropiedadesViewModel         = new ObservableCollection <PropiedadViewModel>();
            PropiedadesCadenaViewModel   = new ObservableCollection <PropiedadCadenaViewModel>();
            PropiedadesBoolViewModel     = new ObservableCollection <PropiedadBoolViewModel>();
            PropiedadesOptionalViewModel = new ObservableCollection <PropiedadOptionalViewModel>();

            DialogService dialog = new DialogService();

            file = new XmlApplicationContext(@"\\agufileserv2\INGENIERIA\RESPRUTAS\RrrrUUUUUULLL\RepositoryCentroTrabajoDisenoProceso.xml");
            ctx  = file;

            foreach (string item in Lista)
            {
                //Obtenemos el ID del Centro de Trabajo.
                int a = ListaCentroTrabajo.Where(x => x.CentroTrabajo == item).ToList().Count;
                if (a != 0)
                {
                    string id = ListaCentroTrabajo.Where(x => x.CentroTrabajo == item).FirstOrDefault().ObjetoXML;
                    //Obtenemos un objeto del Centro de Trabajo.
                    _elCentroTrabajo = (ICentroTrabajo)ctx.GetObject(id);
                    // Asignamos el Centro de Trabajo a la lista.
                    ListaCreadaCentroTrabajo.Add(_elCentroTrabajo);
                }
            }

            foreach (ICentroTrabajo centroTrabajo in ListaCreadaCentroTrabajo)
            {
                foreach (Propiedad propiedad in centroTrabajo.PropiedadesRequeridadas)
                {
                    NumericEntry       numeric            = new NumericEntry();
                    PropiedadViewModel propiedadViewModel = new PropiedadViewModel(propiedad);
                    numeric.DataContext = propiedadViewModel;
                    //Validar si el nombre esta en la lista de duplicados
                    int b = ListaDuplicado.Where(x => x == propiedad.Nombre).ToList().Count;
                    if (b > 0)
                    {
                        numeric.Name = propiedad.Nombre;
                        propiedades_Numericas.Add(propiedad);
                        propiedadesNumeric.Add(numeric);
                        PropiedadesViewModel.Add(propiedadViewModel);
                    }
                    else
                    {
                        if (propiedades_Numericas.Where(x => x.Nombre == propiedad.Nombre).ToList().Count == 0)
                        {
                            numeric.Name = propiedad.Nombre;
                            propiedades_Numericas.Add(propiedad);
                            propiedadesNumeric.Add(numeric);
                            PropiedadesViewModel.Add(propiedadViewModel);
                        }
                    }
                }

                foreach (PropiedadBool propiedadBool in centroTrabajo.PropiedadesRequeridasBool)
                {
                    BoolEntry boolEntry = new BoolEntry();
                    PropiedadBoolViewModel propiedadBoolViewModel = new PropiedadBoolViewModel(propiedadBool);
                    boolEntry.DataContext = propiedadBoolViewModel;
                    //Validar si el nombre esta en la lista de duplicados
                    int b = ListaDuplicado.Where(x => x == propiedadBool.Nombre).ToList().Count;
                    if (b > 0)
                    {
                        propiedades_Bool.Add(propiedadBool);
                        propiedadesBool.Add(boolEntry);
                        PropiedadesBoolViewModel.Add(propiedadBoolViewModel);
                    }
                    else
                    {
                        if (propiedades_Bool.Where(x => x.Nombre == propiedadBool.Nombre).ToList().Count == 0)
                        {
                            propiedades_Bool.Add(propiedadBool);
                            propiedadesBool.Add(boolEntry);
                            PropiedadesBoolViewModel.Add(propiedadBoolViewModel);
                        }
                    }
                }

                foreach (PropiedadCadena propiedadCadena in centroTrabajo.PropiedadesRequeridasCadena)
                {
                    StringEntry stringEntry = new StringEntry();
                    PropiedadCadenaViewModel propiedadCadenaViewModel = new PropiedadCadenaViewModel(propiedadCadena);
                    stringEntry.DataContext = propiedadCadenaViewModel;
                    //Validar si el nombre esta en la lista de duplicados
                    int b = ListaDuplicado.Where(x => x == propiedadCadena.Nombre).ToList().Count;
                    if (b > 0)
                    {
                        propiedades_Cadenas.Add(propiedadCadena);
                        propiedadesCadena.Add(stringEntry);
                        PropiedadesCadenaViewModel.Add(propiedadCadenaViewModel);
                    }
                    else
                    {
                        if (propiedades_Cadenas.Where(x => x.Nombre == propiedadCadena.Nombre).ToList().Count == 0)
                        {
                            propiedades_Cadenas.Add(propiedadCadena);
                            propiedadesCadena.Add(stringEntry);
                            PropiedadesCadenaViewModel.Add(propiedadCadenaViewModel);
                        }
                    }
                }

                foreach (PropiedadOptional propiedadOpcional in centroTrabajo.PropiedadesRequeridasOpcionles)
                {
                    OptionalEntry optionalEntry = new OptionalEntry();
                    PropiedadOptionalViewModel propiedadOpcionalViewModel = new PropiedadOptionalViewModel(propiedadOpcional);
                    optionalEntry.DataContext = propiedadOpcionalViewModel;
                    //Validar si el nombre esta en la lista de duplicados
                    int b = ListaDuplicado.Where(x => x == propiedadOpcional.Nombre).ToList().Count;
                    if (b > 0)
                    {
                        propiedades_Opcionales.Add(propiedadOpcional);
                        propiedadesOpcionales.Add(optionalEntry);
                        PropiedadesOptionalViewModel.Add(propiedadOpcionalViewModel);
                    }
                    else
                    {
                        if (propiedades_Opcionales.Where(x => x.Nombre == propiedadOpcional.Nombre).ToList().Count == 0)
                        {
                            propiedades_Opcionales.Add(propiedadOpcional);
                            propiedadesOpcionales.Add(optionalEntry);
                            PropiedadesOptionalViewModel.Add(propiedadOpcionalViewModel);
                        }
                    }
                }
            }

            foreach (NumericEntry numericEntry in propiedadesNumeric)
            {
                try
                {
                    StackPanel panel = new StackPanel();
                    panel.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    panel.Name        = numericEntry.Name;
                    panel.Children.Add(numericEntry);

                    PanelPropiedades.Add(panel);
                }
                catch (Exception a)
                {
                    string aa = a.Message;
                }
            }

            foreach (BoolEntry boolEntry in propiedadesBool)
            {
                try
                {
                    StackPanel panel = new StackPanel();
                    panel.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    panel.Children.Add(boolEntry);

                    PanelPropiedadesBool.Add(panel);
                }
                catch (Exception a)
                {
                    string aa = a.Message;
                }
            }

            foreach (StringEntry stringEntry in propiedadesCadena)
            {
                try
                {
                    StackPanel panel = new StackPanel();
                    panel.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    panel.Children.Add(stringEntry);

                    PanelPropiedadesCadena.Add(panel);
                }
                catch (Exception a)
                {
                    string aa = a.Message;
                }
            }

            foreach (OptionalEntry optionalEntry in propiedadesOpcionales)
            {
                try
                {
                    StackPanel panel = new StackPanel();
                    panel.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    panel.Children.Add(optionalEntry);

                    PanelPropiedadesOpcionales.Add(panel);
                }
                catch (Exception a)
                {
                    string aa = a.Message;
                }
            }

            vista             = new FrmVistaWPF();
            vista.DataContext = this;
            vista.ShowDialog();

            //if (vista.DialogResult.HasValue && vista.DialogResult.Value)
            //{
            //    foreach (var item in ListaCreadaCentroTrabajo)
            //    {
            //        //Agrega a la lista los datos por mostrar en el Datagrid
            //        ListaMostrar.Add(item);
            //    }
            //}
        }