public void ActualizarDiasFestivos(DiasFeriados item) { DataBaseModelContext db = new DataBaseModelContext(); try { item.Descripcion = item.Descripcion; if (db.DiasFeriados.Any(a => a.Descripcion == item.Descripcion && a.Id != item.Id)) { throw new Exception("Ya Existe un grupo de Dias Con este Nombre."); } DiasFeriados diadb = db.DiasFeriados.SingleOrDefault(s => s.Id == item.Id); if (diadb != null) { diadb.Descripcion = item.Descripcion; diadb.FechaModificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); List <DiasFeriadosDetalle> diasEliminar = db.DiasFeriadosDetalle.Where(w => w.IdDiasFeriados == diadb.Id).ToList(); foreach (DiasFeriadosDetalle detalle in diasEliminar) { db.DiasFeriadosDetalle.DeleteObject(detalle); } diadb.DiasFeriadosDetalle = item.DiasFeriadosDetalle; List <int> subgpos = db.DiaFestivoSubGrupo.Where(w => w.IdDiasFeriados == diadb.Id).Select(s => s.IdSubGrupoUsuario).ToList(); List <int> gpos = db.SubGrupoUsuario.Where(w => subgpos.Contains(w.Id)).Select(s => s.IdGrupoUsuario).Distinct().ToList(); List <DiaFestivoSubGrupo> diasSgpoEliminar = db.DiaFestivoSubGrupo.Where(w => w.IdDiasFeriados == diadb.Id).ToList(); foreach (DiaFestivoSubGrupo diaEliminar in diasSgpoEliminar) { db.DiaFestivoSubGrupo.DeleteObject(diaEliminar); } foreach (DiasFeriadosDetalle detalleFeriado in item.DiasFeriadosDetalle) { foreach (SubGrupoUsuario subGrupoUsuario in db.SubGrupoUsuario.Where(w => gpos.Contains(w.IdGrupoUsuario))) { DiaFestivoSubGrupo diasubgpo = new DiaFestivoSubGrupo { IdSubGrupoUsuario = subGrupoUsuario.Id, IdDiasFeriados = diadb.Id, Fecha = detalleFeriado.Dia, Descripcion = detalleFeriado.Descripcion }; db.DiaFestivoSubGrupo.AddObject(diasubgpo); } } db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
private void UcAltaDiasFestivosOnOnAceptarModal() { try { Session["DiasSubRoles"] = Session["DiasSubRoles"] ?? new List <DiaFestivoSubGrupo>(); foreach (RepeaterItem item in ucAltaDiasFestivos.DiasDescansoSubRol) { Label lblIdSubrol = (Label)item.FindControl("lblSubRol"); var tmpEliminar = ((List <DiaFestivoSubGrupo>)Session["DiasSubRoles"]).Where(w => w.IdSubGrupoUsuario == Convert.ToInt32(lblIdSubrol.Text)); foreach (DiaFestivoSubGrupo dia in tmpEliminar) { ((List <DiaFestivoSubGrupo>)Session["DiasSubRoles"]).Remove(dia); } } foreach (RepeaterItem item in ucAltaDiasFestivos.DiasDescansoSubRol) { Label lblIdSubrol = (Label)item.FindControl("lblSubRol"); Label lblFecha = (Label)item.FindControl("lblFecha"); Label lblDescripcion = (Label)item.FindControl("lblDescripcion"); DiaFestivoSubGrupo dia = new DiaFestivoSubGrupo { IdSubGrupoUsuario = Convert.ToInt32(lblIdSubrol.Text), Fecha = Convert.ToDateTime(lblFecha.Text), Descripcion = lblDescripcion.Text.Trim().ToUpper() }; ((List <DiaFestivoSubGrupo>)Session["DiasSubRoles"]).Add(dia); } ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script", "CierraPopup(\"#modalDiasDescanso\");", true); } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }