public BuscarZonaViewModel(IWindowManager windowmanager)
        {
            _windowManager = windowmanager;
            Usuario u = new Usuario();
            u = DataObjects.Seguridad.UsuarioSQL.buscarUsuarioPorIdUsuario(Int32.Parse(Thread.CurrentPrincipal.Identity.Name));
            idTienda = u.IdTienda;
            idResponsable = u.IdUsuario;

            TiendaSQL tSQL = new TiendaSQL();
            CmbTiendas = tSQL.BuscarTienda();
            Index = this.CmbTiendas.FindIndex(x => x.IdTienda == idTienda);

            AlmacenSQL aSQL = new AlmacenSQL();
            Almacenes anaquel = aSQL.BuscarAlmacen(-1, idTienda, 2);

            idAnaquel = anaquel.IdAlmacen;

            NumColumns = anaquel.NroColumnas;
            NumRows = anaquel.NroFilas;
            Altura = anaquel.Altura;

            TipoZonaSQL tzSQL = new TipoZonaSQL();
            LstZonasAnq = tzSQL.ObtenerZonasxAlmacen(idAnaquel, 2);
            CmbZonas = lstZonasAnq;
            ProductoSQL pSQL = new ProductoSQL();
            LstProductos = pSQL.BuscarProductoxTienda(idTienda);
        }
        public MantenerAlmacenViewModel(IWindowManager windowmanager)
        {
            _windowManager = windowmanager;
            uSQL = new UbigeoSQL();
            tSQL = new TiendaSQL();
            pxaSQL = new ProductoSQL();
            aSQL = new AlmacenSQL();
            tzSQL = new TipoZonaSQL();
            int existe = aSQL.existeCentral();
            Editar = true;

            if (existe > 0)
            {
                Almacenes central = aSQL.BuscarAlmacen(-1, -1, 3);
                accion = 2;
                Editar = false;
                /* idTienda = t.IdTienda;  */
                /*carga de la informacion general*/
                TxtNombre = central.Nombre;
                TxtTelefono = central.Telefono;
                TxtDir = central.Direccion;
                List<Ubigeo> u = uSQL.buscarUbigeo2(central.IdUbigeo);

                /*carga de los combobox*/
                CmbDpto = uSQL.BuscarDpto();
                Index1 = CmbDpto.FindIndex(x => x.CodDpto == u[0].CodDpto);
                SelectedDpto = u[0].CodDpto;
                Index2 = CmbProv.FindIndex(x => x.CodProv == u[0].CodProv);
                SelectedProv = u[0].CodProv;
                Index3 = CmbDist.FindIndex(x => x.CodDist == u[0].CodDist);

                Content = "Ver distribución";
                TxtNumColumns = central.NroColumnas.ToString();
                TxtNumRows = central.NroFilas.ToString();
                TxtAltura = central.Altura.ToString();

                lstZonas = tzSQL.ObtenerZonasxAlmacen(central.IdAlmacen, 3);
                _windowManager.ShowDialog(new AlertViewModel(_windowManager, "El almacen central ya existe"));
            }
            else if (existe == 0)
            {
                CmbZonas = (new TipoZonaSQL()).BuscarZona();
                CmbDpto = uSQL.BuscarDpto();
                Content = "Generar distribución";
            }
            else
            {
                _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Ocurrió un problema"));
            }
        }
        public void AgregarTipoZona()
        {
            if (accion==0 ){
                TipoZona zona = new TipoZona();
                zona.Nombre = this.txtNombre;
                zona.Color = this.cmbColorSelected;

                if (!eval.evalString(zona.Nombre))
                {
                    _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Algunos de los valores no es correcto, verifique e intente de nuevo"));
                    return;
                }

                if (cmbColorSelected == null) {
                    _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Algunos de los valores no es correcto, verifique e intente de nuevo"));
                    return;
                }

                zona.IdColor = gateway.BuscarZona(this.cmbColorSelected).IdColor;
                TipoZonaSQL gw = new TipoZonaSQL();
                gw.agregarTipoZona(zona);
                _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Zona agregada Correctamete"));
            }
            if (accion == 1) {
                TipoZona zona = new TipoZona();
                zona.Nombre = this.TxtNombre;
                zona.IdTipoZona = this.TxtIdTipoZona;

                if (!eval.evalString(zona.Nombre))
                {
                    _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Algunos de los valores no es correcto, verifique e intente de nuevo"));
                    return;
                }

                if (cmbColorSelected == null)
                {
                    _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Algunos de los valores no es correcto, verifique e intente de nuevo"));
                    return;
                }

                zona.IdColor = gateway.BuscarZona(this.cmbColorSelected).IdColor;
                zona.Color = this.cmbColorSelected;
                TipoZonaSQL gw = new TipoZonaSQL();
                gw.modificarTipoZona(zona);
                _windowManager.ShowDialog(new AlertViewModel(_windowManager, "Zona agregada Correctamete"));
            }
        }
        public PosicionProductoViewModel(IWindowManager windowmanager, object sender, int accion)
        {
            _windowManager = windowmanager;
            this.accion = accion;
            if (accion == 1)
            {
                this.mantenerNotaDeIngresoViewModel = (sender as MantenerNotaDeIngresoViewModel);
                this.LstProductos = (sender as MantenerNotaDeIngresoViewModel).LstProductos;
                ImSource = "/Assets/add.png";
                Ejecutar = "Agregar";

            }
            else
            {
                this.mantenerNotaDeSalidaViewModel = (sender as MantenerNotaDeSalidaViewModel);
                this.LstProductos = (sender as MantenerNotaDeSalidaViewModel).LstProductos;
                ImSource = "/Assets/minus.png";
                Ejecutar = "Disminuir";

            }

            Usuario u = new Usuario();
            u = DataObjects.Seguridad.UsuarioSQL.buscarUsuarioPorIdUsuario(Int32.Parse(Thread.CurrentPrincipal.Identity.Name));

            idTienda = u.IdTienda;
            aSQL = new AlmacenSQL();
            Almacenes deposito = aSQL.BuscarAlmacen(-1, idTienda == 0 ? -1 : idTienda, idTienda == 0 ? 3 : 1);

            id = deposito.IdAlmacen;

            NumColumns = deposito.NroColumnas;
            NumRows = deposito.NroFilas;
            Altura = deposito.Altura;

            tzSQL = new TipoZonaSQL();
            LstZonas = tzSQL.ObtenerZonasxAlmacen(deposito.IdAlmacen);

            Accion2 = 2;
            Accion1 = 2;
            Enable = true;
        }
        public MantenerTiendaViewModel(IWindowManager windowmanager)
        {
            _windowManager = windowmanager;
            uSQL = new UbigeoSQL();
            tSQL = new TiendaSQL();
            pxaSQL = new ProductoSQL();
            aSQL = new AlmacenSQL();
            tzSQL = new TipoZonaSQL();

            CmbZonas = (new TipoZonaSQL()).BuscarZona();
            CmbDpto = uSQL.BuscarDpto();
            LstProductos = new List<ProductoxTienda>();
            LstProdAgregados = new List<ProductoxTienda>();
            //LstProductos = pxaSQL.BuscarProductoxTienda();
            Content = "Generar distribución";
            accion = 1;
        }
        public void Recargar(MadeInHouse.Dictionary.DynamicGrid dg)
        {
            AlmacenSQL aSQL = new AlmacenSQL();
            Almacenes anaquel = aSQL.BuscarAlmacen(-1, idTienda, 2);

            idAnaquel = anaquel.IdAlmacen;

            NumColumns = anaquel.NroColumnas;
            NumRows = anaquel.NroFilas;
            Altura = anaquel.Altura;
            dg.RecreateGridCells();

            TipoZonaSQL tzSQL = new TipoZonaSQL();
            LstZonasAnq = tzSQL.ObtenerZonasxAlmacen(idAnaquel, 2);
            CmbZonas = lstZonasAnq;
            ProductoSQL pSQL = new ProductoSQL();
            LstProductos = pSQL.BuscarProductoxTienda(idTienda);
            TxtStockActual = "";
            TxtCapacidad = "";
        }
        public ProductoMovimientosViewModel(IWindowManager windowmanager)
        {
            _windowManager = windowmanager;
            CmbZonas = (new TipoZonaSQL()).BuscarZona();
            Usuario u = new Usuario();
            u = DataObjects.Seguridad.UsuarioSQL.buscarUsuarioPorIdUsuario(Int32.Parse(Thread.CurrentPrincipal.Identity.Name));
            idTienda = u.IdTienda;
            idResponsable = u.IdUsuario;

            aSQL = new AlmacenSQL();
            Almacenes deposito = aSQL.BuscarAlmacen(-1, idTienda, 1);
            Almacenes anaquel = aSQL.BuscarAlmacen(-1, idTienda, 2);
            idDeposito = deposito.IdAlmacen;
            idAnaquel = anaquel.IdAlmacen;

            NumColumnAnq = anaquel.NroColumnas;
            NumRowsAnq = anaquel.NroFilas;
            AlturaAnq = anaquel.Altura;

            NumColumns = deposito.NroColumnas;
            NumRows = deposito.NroFilas;
            Altura = deposito.Altura;

            tzSQL = new TipoZonaSQL();
            LstZonas = tzSQL.ObtenerZonasxAlmacen(idDeposito);
            LstZonasAnq = tzSQL.ObtenerZonasxAlmacen(idAnaquel, 2);

            Accion2 = 2;
            Accion1 = 2;

            LstProductos = new List<ProductoCant>();
            Atendido = false;
        }