public ItemPlantilla_ENT(ENT.TiposAnidados_ENT.Plantilla PlantillaSel
                          , int ItemSel
                          , int ValorSel
                          , ENT.TiposAnidados_ENT.Estado EstadoSel = TiposAnidados_ENT.Estado.ACTIVO)
 {
     IdPlantilla = PlantillaSel;
     Item        = ItemSel;
     Estado      = EstadoSel;
     Valor       = ValorSel;
 }
Example #2
0
        private void Guardar()
        {
            try
            {
                List <ENT.ItemPlantilla_ENT> ItemsGuardar    = new List <ENT.ItemPlantilla_ENT>();
                List <ENT.ItemPlantilla_ENT> ItemsActualizar = new List <ENT.ItemPlantilla_ENT>();
                //validamos que los items de la plantilla seleccionada contengan valores
                string CadenaBuscar    = "Pnl_Plantilla";
                bool   HayCamposVacios = Pnl_Plantillas.Controls.Cast <Control>().ToList()
                                         .Find(C => C.Name.Contains(CadenaBuscar + PlantillaSeleccionada.ToString()))
                                         .Controls.Cast <Control>().ToList()
                                         .FindAll(Ch => Ch.Tag != null & Ch.Name.Contains("Txt"))
                                         .Any(Ch => string.IsNullOrEmpty(Ch.Text));
                if (HayCamposVacios)
                {
                    MessageBox.Show("Todos los rangos de la plantilla deben estar seleccionados");
                    return;
                }

                ENT.TiposAnidados_ENT.Plantilla PlantillaOcio    = (ENT.TiposAnidados_ENT.Plantilla)Convert.ToInt32(Chb_PermitirOcio.Tag);
                ENT.TiposAnidados_ENT.Estado    EstadoActivaOcio = Chb_PermitirOcio.Checked ? ENT.TiposAnidados_ENT.Estado.ACTIVO : ENT.TiposAnidados_ENT.Estado.INACTIVO;
                ItemsActualizar.Add(new ENT.ItemPlantilla_ENT(PlantillaOcio, 1, 0, EstadoActivaOcio));

                //cambiamos el estado de los items de la plantilla no seleccionada
                Pnl_Plantillas.Controls.Cast <Control>().ToList()
                .Find(C => C.Name != CadenaBuscar + PlantillaSeleccionada.ToString() && C.Name.Contains(CadenaBuscar))
                .Controls.Cast <Control>().ToList()
                .FindAll(Ch => Ch.Tag != null & Ch.Name.Contains("Txt"))
                .ForEach(Ch => ItemsActualizar.Add(new ENT.ItemPlantilla_ENT((ENT.TiposAnidados_ENT.Plantilla)Convert.ToInt32(Ch.Parent.Tag)
                                                                             , Convert.ToInt32(Ch.Tag)
                                                                             , 0
                                                                             , ENT.TiposAnidados_ENT.Estado.INACTIVO)));

                //actualizamos valor y activamos los items de la plantilla seleccionada
                Pnl_Plantillas.Controls.Cast <Control>().ToList()
                .Find(C => C.Name.Contains(CadenaBuscar + PlantillaSeleccionada.ToString()))
                .Controls.Cast <Control>().ToList()
                .FindAll(Ch => Ch.Tag != null & Ch.Name.Contains("Txt"))
                .ForEach(Ch => ItemsGuardar.Add(new ENT.ItemPlantilla_ENT((ENT.TiposAnidados_ENT.Plantilla)PlantillaSeleccionada
                                                                          , Convert.ToInt32(Ch.Tag)
                                                                          , Convert.ToInt32(Ch.Text)
                                                                          , ENT.TiposAnidados_ENT.Estado.ACTIVO)));

                Config.ActualizarEstadoItem(ItemsActualizar);
                Config.GuardarValoresPlantilla(ItemsGuardar);

                MessageBox.Show("Plantilla Actualizada con éxito");
                LlenarDatos();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }