Ejemplo n.º 1
0
        private void dgrid_entrada_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            int valor;

            if (!int.TryParse((e.EditingElement as TextBox).Text, out valor))
            {
                e.Cancel = true;
                return;
            }
            valor = Math.Max(valor, 0);
            var        objeto = e.Row.Item as entrada;
            Existencia exist;

            using (var db = new TiendaDbContext())
                exist = db.Tiendas.First().Productos.Where(p => p.Codigo == objeto.Codigo).First();

            var column = e.Column as DataGridBoundColumn;

            if (column != null)
            {
                var bindingPath = (column.Binding as Binding).Path.Path;
                if (bindingPath == "CantidadBuenEstado")
                {
                    source_entrada.Find(a => a.Codigo == objeto.Codigo).CantidadBuenEstado = Math.Min(valor, exist.CantidadBuenEstado);
                }
                else
                {
                    source_entrada.Find(a => a.Codigo == objeto.Codigo).CantidadDefectuoso = Math.Min(valor, exist.CantidadDefectuoso);
                }
            }

            Metodos_Auxiliares.refresh(dgrid_entrada, source_entrada);
        }
Ejemplo n.º 2
0
        private void btn_agragar_venta_Click(object sender, RoutedEventArgs e)
        {
            if (dgrid_existencia.SelectedItem == null || !(dgrid_existencia.SelectedItem is objeto_existencia))
            {
                MessageBox.Show("Debe seleccionar un producto antes de agregar");
                return;
            }

            var existencia = dgrid_existencia.SelectedItem as objeto_existencia;

            bool existe_venta      = source_venta.Find(p => p.ExistenciaId == existencia.ExistenciaId) != null;
            bool existe_deuda      = source_deuda.Find(p => p.ExistenciaId == existencia.ExistenciaId) != null;
            bool existe_devolucion = source_devolucion.Find(p => p.ExistenciaId == existencia.ExistenciaId) != null;


            if (existe_venta)
            {
                dgrid_venta.SelectedIndex = dgrid_venta.Items.IndexOf(source_venta.Find(p => p.ExistenciaId == existencia.ExistenciaId));
                return;
            }
            var venta_new = new objeto_venta(existencia.ExistenciaId);

            source_venta.Add(venta_new);
            Metodos_Auxiliares.refresh(dgrid_venta, source_venta);
        }
Ejemplo n.º 3
0
        private void dgrid_entrada_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            int valor;

            if (!int.TryParse((e.EditingElement as TextBox).Text, out valor))
            {
                e.Cancel = true;
                return;
            }
            if (valor < 0)
            {
                valor = 0;
            }
            var objeto = e.Row.Item as entrada;
            var column = ((e.Column as DataGridBoundColumn).Binding as Binding).Path.Path;
            var obj    = source_entrada.Find(r => r.Codigo == objeto.Codigo);

            if (column == "CantidadBuenEstado")
            {
                obj.CantidadBuenEstado = valor;
            }
            else
            {
                obj.CantidadDefectuoso = valor;
            }
            Metodos_Auxiliares.refresh(dgrid_entrada, source_entrada);
        }
Ejemplo n.º 4
0
        private void dg_trab_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            var row = e.Row.Item as Trabajador;

            if (row.TrabajadorId == 0)
            {
                using (var db = new TiendaDbContext())
                {
                    var tienda     = db.Tiendas.First();
                    var trabajador = new Trabajador {
                        Nombre = (e.EditingElement as TextBox).Text,
                        ShopId = tienda.ShopId
                    };
                    if (trabajador.Nombre == "")
                    {
                        e.Cancel = true;
                        return;
                    }
                    db.Trabajadores.Add(trabajador);
                    db.SaveChanges();
                    data_trabajador.Add(trabajador);
                    Metodos_Auxiliares.refresh(dg_trab, data_trabajador);
                }
            }
            else
            if (MessageBox.Show("Esta seguro", "Cambio de Nombre", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                using (var db = new TiendaDbContext())
                {
                    db.Trabajadores.Find((dg_trab.SelectedItem as Trabajador).TrabajadorId).Nombre = (e.EditingElement as TextBox).Text;
                    db.SaveChanges();
                }
            }
        }
Ejemplo n.º 5
0
        private void dgrid_venta_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            int value;

            if (!int.TryParse((e.EditingElement as TextBox).Text, out value))
            {
                e.Cancel = true;

                return;
            }
            var column = e.Column as DataGridBoundColumn;

            if (column != null)
            {
                int id  = (dgrid_venta.SelectedItem as objeto_venta).ExistenciaId;
                var art = venta_source.Find(p => p.ExistenciaId == id);
                if (value < 0)
                {
                    value = 0;
                }


                var bindingPath = (column.Binding as Binding).Path.Path;
                if (bindingPath == "CantidadBuenEstado")
                {
                    if (art.CantidadExistenteBE < value)
                    {
                        value = art.CantidadExistenteBE;
                    }
                    venta_source.Find(s => s.ExistenciaId == id).CantidadBuenEstado = value;
                }
                else
                {
                    if (art.CantidadExistenteDefec < value)
                    {
                        value = art.CantidadExistenteDefec;
                    }
                    venta_source.Find(s => s.ExistenciaId == id).CantidadDefectuoso = value;
                }
            }
            Metodos_Auxiliares.refresh(dgrid_venta, venta_source);
            double costo_total = 0;

            venta_source.ForEach(p => costo_total += p.PrecioTotal);
            tbox_pagado.Text = costo_total.ToString();
        }
Ejemplo n.º 6
0
        private void btn_retirar_deuda_Click(object sender, RoutedEventArgs e)
        {
            if (dgrid_deuda.SelectedItem == null || !(dgrid_deuda.SelectedItem is objeto_deuda))
            {
                MessageBox.Show("Necesita seleccionar un producto para retirar");
                return;
            }

            var objeto = dgrid_deuda.SelectedItem as objeto_deuda;

            bool existe_venta      = source_venta.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_deuda      = source_deuda.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_devolucion = source_devolucion.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_existencia = source_existencia.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;

            source_deuda.RemoveAt(source_deuda.FindIndex(p => p.ExistenciaId == objeto.ExistenciaId));
            Metodos_Auxiliares.refresh(dgrid_deuda, source_deuda);
        }
Ejemplo n.º 7
0
        private void btn_Eliminar_Click(object sender, RoutedEventArgs e)
        {
            if (dgrid_venta.SelectedItem == null || !(dgrid_venta.SelectedItem is objeto_venta))
            {
                MessageBox.Show("Necesita seleccionar un producto para remover");
                return;
            }

            var obj_venta = dgrid_venta.SelectedItem as objeto_venta;


            venta_source.RemoveAt(venta_source.FindIndex(p => p.Codigo == obj_venta.Codigo));
            Metodos_Auxiliares.refresh(dgrid_venta, venta_source);
            double costo_total = 0;

            venta_source.ForEach(p => costo_total += p.PrecioTotal);
            tbox_pagado.Text = costo_total.ToString();
        }
Ejemplo n.º 8
0
 private void delete_empleado_Click(object sender, RoutedEventArgs e)
 {
     if (dg_trab.SelectedItem == null || !(dg_trab.SelectedItem is Trabajador))
     {
         MessageBox.Show("Debe escoger un trabajador");
     }
     else
     {
         if (MessageBox.Show("Esta seguro", "Eliminar Trabajador", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
         {
             using (var db = new TiendaDbContext())
             {
                 db.Trabajadores.Find((dg_trab.SelectedItem as Trabajador).TrabajadorId).eliminado = true;
                 db.SaveChanges();
                 data_trabajador.Remove(dg_trab.SelectedItem as Trabajador);
                 Metodos_Auxiliares.refresh(dg_trab, data_trabajador);
             }
         }
     }
 }
Ejemplo n.º 9
0
        private void btn_Eliminar_Click_1(object sender, RoutedEventArgs e)
        {
            var objeto_select = dgrid_entrada.SelectedItem;

            if (objeto_select == null || !(objeto_select is entrada))
            {
                MessageBox.Show("Antes de retirar necesita seleccionar un producto");
                return;
            }
            var exist = objeto_select as entrada;

            int existencia_id;

            using (var db = new TiendaDbContext())
                existencia_id = db.Tiendas.First().Productos.Where(p => p.Codigo == exist.Codigo).First().ExistenciaId;

            source_entrada.RemoveAt(source_entrada.FindIndex(p => p.Codigo == exist.Codigo));
            source_producto.Add(new objeto_existencia(existencia_id));

            Metodos_Auxiliares.refresh(dgrid_entrada, source_entrada);
            Metodos_Auxiliares.refresh(dgrid_productos, source_producto.Where(s => s.Codigo.ToLower().Contains(codigo_src) && s.Descripcion.ToLower().Contains(descrip_src)).ToList());
        }
Ejemplo n.º 10
0
        private void btn_Agregar_Click(object sender, RoutedEventArgs e)
        {
            var objeto_select = dgrid_productos.SelectedItem;

            if (objeto_select == null || !(objeto_select is objeto_existencia))
            {
                MessageBox.Show("Antes de agregar necesita seleccionar un producto");
                return;
            }
            var exist = objeto_select as objeto_existencia;

            if (source_entrada.Exists(p => p.Codigo == exist.Codigo))
            {
                var objeto = source_entrada.Find(p => p.Codigo == exist.Codigo);
                dgrid_entrada.SelectedIndex = dgrid_entrada.Items.IndexOf(objeto);
                return;
            }

            source_entrada.Add(new entrada(exist.Codigo, exist.Descripcion));

            Metodos_Auxiliares.refresh(dgrid_entrada, source_entrada);
            Metodos_Auxiliares.refresh(dgrid_productos, source_producto.Where(s => s.Codigo.ToLower().Contains(codigo_src) && s.Descripcion.ToLower().Contains(descrip_src)).ToList());
        }
Ejemplo n.º 11
0
        private void dgrid_deuda_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            var columna = e.Column as DataGridBoundColumn;

            if (columna != null && (columna.Binding as Binding).Path.Path == "Pagado")
            {
                double value = 0;
                if (!double.TryParse((e.EditingElement as TextBox).Text, out value))
                {
                    e.Cancel = true;
                    return;
                }
                if (!(e.Row.Item is objeto_deuda))
                {
                    return;
                }
                var obj = e.Row.Item as objeto_deuda;

                value = Math.Max(0, value);
                value = Math.Min(value, obj.PrecioTotal);


                source_deuda.Find(s => s.Codigo == obj.Codigo).Pagado = value;

                CostoDeuda = 0;
                source_deuda.ForEach(s => CostoDeuda += s.Pagado);
                tbox_importe_total.Text = CostoTotal.ToString();
                Metodos_Auxiliares.refresh(dgrid_deuda, source_deuda);
                return;
            }
            int valor;

            if (!int.TryParse((e.EditingElement as TextBox).Text, out valor))
            {
                e.Cancel = true;
                return;
            }
            if (!(e.Row.Item is objeto_deuda))
            {
                return;
            }
            var objeto = e.Row.Item as objeto_deuda;

            bool existe_venta      = source_venta.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_deuda      = source_deuda.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_devolucion = source_devolucion.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_existencia = source_existencia.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;

            int cantidadBuenEstado = 0;
            int cantidadDefectuoso = 0;

            if (existe_venta)
            {
                var venta = source_venta.Find(p => p.ExistenciaId == objeto.ExistenciaId);
                cantidadBuenEstado += venta.CantidadBuenEstado;
                cantidadDefectuoso += venta.CantidadDefectuoso;
            }
            if (existe_devolucion)
            {
                var devolucion = source_devolucion.Find(p => p.ExistenciaId == objeto.ExistenciaId);
                cantidadBuenEstado += devolucion.CantidadBuenEstado;
                cantidadDefectuoso += devolucion.CantidadBuenEstado;
            }

            var existencia     = source_existencia.Find(p => p.ExistenciaId == objeto.ExistenciaId);
            int cantidadBEmax  = existencia.CantidadBuenEstado - cantidadBuenEstado;
            int cantidadDefmax = existencia.CantidadDefectuoso - cantidadDefectuoso;

            cantidadBuenEstado = Math.Max(0, valor);
            cantidadDefectuoso = Math.Max(0, valor);
            cantidadBuenEstado = Math.Min(cantidadBEmax, valor);
            cantidadDefectuoso = Math.Min(cantidadDefmax, valor);

            var column = e.Column as DataGridBoundColumn;

            if (column != null)
            {
                var bindingPath = (column.Binding as Binding).Path.Path;
                if (bindingPath == "CantidadBuenEstado")
                {
                    source_deuda.Find(s => s.Codigo == objeto.Codigo).CantidadBuenEstado = cantidadBuenEstado;
                }
                else
                {
                    source_deuda.Find(s => s.Codigo == objeto.Codigo).CantidadDefectuoso = cantidadDefectuoso;
                }
            }

            Metodos_Auxiliares.refresh(dgrid_deuda, source_deuda);
        }
Ejemplo n.º 12
0
        private void dgrid_devolucion_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            int valor;

            if (!int.TryParse((e.EditingElement as TextBox).Text, out valor))
            {
                e.Cancel = true;
                return;
            }
            if (!(e.Row.Item is objeto_devolucion))
            {
                return;
            }
            var objeto = e.Row.Item as objeto_devolucion;

            bool existe_venta      = source_venta.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_deuda      = source_deuda.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_devolucion = source_devolucion.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;
            bool existe_existencia = source_existencia.Find(p => p.ExistenciaId == objeto.ExistenciaId) != null;

            int cantidadBuenEstado = 0;
            int cantidadDefectuoso = 0;

            if (existe_deuda)
            {
                var deuda = source_deuda.Find(p => p.ExistenciaId == objeto.ExistenciaId);
                cantidadBuenEstado += deuda.CantidadBuenEstado;
                cantidadDefectuoso += deuda.CantidadDefectuoso;
            }
            if (existe_venta)
            {
                var venta = source_venta.Find(p => p.ExistenciaId == objeto.ExistenciaId);
                cantidadBuenEstado += venta.CantidadBuenEstado;
                cantidadDefectuoso += venta.CantidadBuenEstado;
            }

            var existencia     = source_existencia.Find(p => p.ExistenciaId == objeto.ExistenciaId);
            int cantidadBEmax  = existencia.CantidadBuenEstado - cantidadBuenEstado;
            int cantidadDefmax = existencia.CantidadDefectuoso - cantidadDefectuoso;

            cantidadBuenEstado = Math.Max(0, valor);
            cantidadDefectuoso = Math.Max(0, valor);
            cantidadBuenEstado = Math.Min(cantidadBEmax, valor);
            cantidadDefectuoso = Math.Min(cantidadDefmax, valor);


            var column = e.Column as DataGridBoundColumn;

            if (column != null)
            {
                var bindingPath = (column.Binding as Binding).Path.Path;
                if (bindingPath == "CantidadBuenEstado")
                {
                    source_devolucion.Find(s => s.Codigo == objeto.Codigo).CantidadBuenEstado = cantidadBuenEstado;
                }
                else
                {
                    source_devolucion.Find(s => s.Codigo == objeto.Codigo).CantidadDefectuoso = cantidadDefectuoso;
                }
            }

            Metodos_Auxiliares.refresh(dgrid_devolucion, source_devolucion);
        }
Ejemplo n.º 13
0
 private void btn_buscar_Click(object sender, RoutedEventArgs e)
 {
     codigo_src  = tbox_codigo.Text.ToLower();
     descrip_src = tbox_descripcion.Text.ToLower();
     Metodos_Auxiliares.refresh(dgrid_productos, productos_source.Where(exis => exis.Codigo.ToLower().Contains(codigo_src) && exis.Descripcion.ToLower().Contains(descrip_src)).ToList());
 }