public bool guardarDB(List <seg_Menu_x_Empresa_Info> Lista)
        {
            try
            {
                int IdEmpresa = 0;
                if (Lista.Count() > 0)
                {
                    IdEmpresa = Lista.FirstOrDefault().IdEmpresa;
                }
                IdEmpresa = Lista.FirstOrDefault().IdEmpresa;

                using (Entities_seguridad_acceso Context = new Entities_seguridad_acceso())
                {
                    foreach (var item in Lista)
                    {
                        seg_Menu_x_Empresa Entity = new seg_Menu_x_Empresa
                        {
                            IdEmpresa = item.IdEmpresa,
                            IdMenu    = item.IdMenu,
                        };
                        Context.seg_Menu_x_Empresa.Add(Entity);
                    }
                    Context.SaveChanges();

                    string sql = "exec spseg_corregir_menu '" + IdEmpresa + "','" + "" + "'";
                    Context.Database.ExecuteSqlCommand(sql);
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public bool ExisteRelacion(List <seg_Menu_x_Empresa_info> listaMenu_x_Empresa_x_Modificar, ref string MensajeError)
 {
     try
     {
         bool existe = false;
         EntitiesSeguAcceso entity = new EntitiesSeguAcceso();
         foreach (seg_Menu_x_Empresa_info item in listaMenu_x_Empresa_x_Modificar)
         {
             var Listaregistros = (from c in entity.seg_Menu_x_Empresa
                                   where c.IdEmpresa == item.IdEmpresa &&
                                   c.IdMenu == item.IdMenu
                                   select c);
             seg_Menu_x_Empresa registro = new seg_Menu_x_Empresa();
             if ((Listaregistros.Count() > 0) && (!item.Checkeado))
             {
                 registro = Listaregistros.First();
                 var registrosReferencia = from c in entity.seg_Menu_x_Empresa_x_Usuario
                                           where c.IdEmpresa == registro.IdEmpresa &&
                                           c.IdMenu == registro.IdMenu
                                           select c;
                 if (registrosReferencia.Count() > 0)
                 {
                     existe = true;
                     break;
                 }
             }
         }
         return(existe);
     }
     catch (Exception ex)
     {
         MensajeError = ex.Message;
         return(true);
     }
 }
Example #3
0
 public bool GrabarDB(List <seg_Menu_x_Empresa_info> listaMenu_x_Empresa_Modificada, ref string MensajeError)
 {
     try
     {
         EntitiesSeguAcceso entity = new EntitiesSeguAcceso();
         foreach (seg_Menu_x_Empresa_info item in listaMenu_x_Empresa_Modificada)
         {
             var Listaregistros = (from c in entity.seg_Menu_x_Empresa
                                   where c.IdEmpresa == item.IdEmpresa &&
                                   c.IdMenu == item.IdMenu
                                   select c);
             seg_Menu_x_Empresa registro = new seg_Menu_x_Empresa();
             if ((Listaregistros.Count() == 0) && (item.Checkeado))
             {
                 registro.IdMenu              = item.IdMenu;
                 registro.IdEmpresa           = item.IdEmpresa;
                 registro.Habilitado          = true;
                 registro.NombreAsambly_x_Emp = item.NombreAsambly_x_Emp;
                 registro.NomFormulario_x_Emp = item.NomFormulario_x_Emp;
                 entity.seg_Menu_x_Empresa.Add(registro);
             }
             else if ((Listaregistros.Count() > 0) && (item.Checkeado))
             {
                 registro = Listaregistros.First();
                 registro.NombreAsambly_x_Emp = item.NombreAsambly_x_Emp;
                 registro.NomFormulario_x_Emp = item.NomFormulario_x_Emp;
             }
             else if ((Listaregistros.Count() > 0) && (!item.Checkeado))
             {
                 registro = Listaregistros.First();
                 var registrosReferencia = from c in entity.seg_Menu_x_Empresa_x_Usuario
                                           where c.IdEmpresa == registro.IdEmpresa &&
                                           c.IdMenu == registro.IdMenu
                                           select c;
                 foreach (seg_Menu_x_Empresa_x_Usuario registro_a_eliminar in registrosReferencia)
                 {
                     entity.seg_Menu_x_Empresa_x_Usuario.Remove(registro_a_eliminar);
                 }
                 entity.seg_Menu_x_Empresa.Remove(registro);
             }
             else if ((Listaregistros.Count() == 0) && (!item.Checkeado))
             {
             }
             else
             {
                 return(false);
             }
         }
         entity.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         MensajeError = ex.Message;
         return(false);
     }
 }