Пример #1
0
        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();
            }
        }
Пример #2
0
        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;
            }
        }