private void _vista_UsuarioDeseaQuitarAccesoABodega(object sender, BodegaConAccesoPorUsuarioArgumento e)
 {
     try
     {
         var refrescarListados = false;
         var listaDeBodegas    = _vista.BodegasParaAccesoAsignadas;
         foreach (var bodegasAEliminar in e.ListaBodegaConAccesoPorUsuario)
         {
             foreach (var bodega in listaDeBodegas.Where(bodega => bodegasAEliminar.CODE_WAREHOUSE == bodega.CODE_WAREHOUSE))
             {
                 var existeBodegaNoAsignada = false;
                 foreach (var bodegasParaAccesoNoAsignada in _vista.BodegasParaAccesoNoAsignadas.Where(bodegasParaAccesoNoAsignada => bodegasParaAccesoNoAsignada.CODE_WAREHOUSE == bodega.CODE_WAREHOUSE))
                 {
                     existeBodegaNoAsignada = true;
                 }
                 if (!existeBodegaNoAsignada)
                 {
                     _vista.BodegasParaAccesoNoAsignadas.Add(bodega);
                     refrescarListados = true;
                 }
                 listaDeBodegas.Remove(bodega);
             }
         }
         _vista.BodegasParaAccesoAsignadas = listaDeBodegas;
         if (refrescarListados)
         {
             _vista.TerminoProceso("cpRefrescarListaYVista", "Enabled", sender);
         }
     }
     catch (Exception ex)
     {
         _vista.EstablecerError(ex.Message, sender);
     }
 }
        private void _vista_UsuarioDeseaAgregarAccesoABodega(object sender, BodegaConAccesoPorUsuarioArgumento e)
        {
            try
            {
                var listaBodegas = _vista.BodegasParaAccesoAsignadas ?? new List <Bodega>();



                foreach (var bodegaIngresar in from bodegaIngresar in e.ListaBodegaConAccesoPorUsuario let existeBodega = listaBodegas.Any(bodega => bodega.CODE_WAREHOUSE == bodegaIngresar.CODE_WAREHOUSE) where !existeBodega select bodegaIngresar)
                {
                    listaBodegas.Add(new Bodega {
                        CODE_WAREHOUSE = bodegaIngresar.CODE_WAREHOUSE, DESCRIPTION_WAREHOUSE = bodegaIngresar.DESCRIPTION_WAREHOUSE
                    });

                    var bodegaAccesoUsuario = new BodegaConAccesoPorUsuario
                    {
                        USER_CORRELATIVE = bodegaIngresar.USER_CORRELATIVE
                        ,
                        CODE_WAREHOUSE = bodegaIngresar.CODE_WAREHOUSE
                        ,
                        DESCRIPTION_WAREHOUSE = bodegaIngresar.DESCRIPTION_WAREHOUSE
                    };
                    BodegaServicio.GuardarBodegaConAccesoPorUsuario(bodegaAccesoUsuario);
                }

                _vista.BodegasParaAccesoAsignadas = listaBodegas;
            }
            catch (Exception ex)
            {
                _vista.EstablecerError(ex.Message, sender);
            }
        }