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; }
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); } }