void ICatalogo.CargarControles() { manejadorDeMiembros = new ManejadorDeMiembros(); Filtros.CargarControles(); StoreCiclos.Cargar(Ciclo.Obtener()); StorePasos.Cargar(MiembroPaso.Obtener()); StoreCategorias.Cargar(PasoCategoria.Obtener()); }
public bool GuardarPasosPorMiembro(int miembroId, RegistrosHelper.RegistrosDeDatos pasosNuevosYEliminados) { bool rtn = false; if (miembroId > 0 && (pasosNuevosYEliminados.RegistrosNuevosId.Count > 0 || pasosNuevosYEliminados.RegistrosEliminadosId.Count > 0)) { Miembro miembro = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().Miembro where o.MiembroId == miembroId select o).FirstOrDefault(); MiembroPaso miembroPaso; if (miembro == null) { throw new ExcepcionReglaNegocio(Literales.RegistroInexistente); } //Si tenemos registros nuevos... if (pasosNuevosYEliminados.RegistrosNuevosId.Count > 0) { //Agregamos los nuevos pasos celulas (siempre y cuando no existan previamente...) foreach (KeyValuePair <int, Dictionary <string, string> > pasoObj in pasosNuevosYEliminados.RegistrosNuevos) { if (!miembro.MiembroPaso.Any(o => o.PasoId == pasoObj.Key && o.Borrado == false)) { int cicloId; if (!int.TryParse(pasoObj.Value["CicloId"], out cicloId)) { Paso paso = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().Paso where o.PasoId == pasoObj.Key select o).FirstOrDefault(); if (paso != null) { throw new ExcepcionReglaNegocio(string.Format("El paso [{0}] no cuenta con un ciclo valido; favor de corregirlo y volver a intentar.", paso.Descripcion)); } else { throw new ExcepcionReglaNegocio(string.Format("El paso cuyo id es [{0}] es inexistente; favor de corregirlo y volver a intentar.", pasoObj.Key)); } } miembroPaso = new MiembroPaso(); miembroPaso.MiembroId = miembroId; miembroPaso.PasoId = pasoObj.Key; miembroPaso.CicloId = cicloId; miembro.MiembroPaso.Add(miembroPaso); } } //Guardamos los cambios, antes de eliminar registros miembro.Guardar(SesionActual.Instance.getContexto <IglesiaEntities>()); } //Eliminamos los pasos eliminados foreach (int pasoId in pasosNuevosYEliminados.RegistrosEliminadosId) { miembroPaso = (from o in SesionActual.Instance.getContexto <IglesiaEntities>().MiembroPaso where o.PasoId == pasoId && o.MiembroId == miembroId && o.Borrado == false select o).FirstOrDefault(); if (miembroPaso != null) { miembroPaso.Borrar(SesionActual.Instance.getContexto <IglesiaEntities>()); } } } return(rtn); }