Пример #1
0
        public void GuardaCambios()
        {
            DateTime Date = DateTime.Today;

            if (APagar <= 0)
            {
                return;
            }
            using (var db = new TiendaDbContext())
            {
                var Informe = new InformePagoDeuda
                {
                    ReporteDeudaId = this.ReporteDeudaId,
                    Fecha          = Date,
                    Pagado         = this.APagar,
                };
                var reporte = db.ReporteDeudas.Find(this.ReporteDeudaId);
                reporte.Pagado += this.APagar;
                if (reporte.Pagado == reporte.CostoTotal)
                {
                    reporte.Saldada = true;
                }
                db.Entry(reporte).State = EntityState.Modified;
                db.InformePagoDeudas.Add(Informe);
                db.SaveChanges();
            }
        }
Пример #2
0
        public LiquidacionPagina(int id_tienda)
        {
            InitializeComponent();

            this.tienda_id = id_tienda;

            source_venta      = new List <objeto_venta>();
            source_devolucion = new List <objeto_devolucion>();
            source_deuda      = new List <objeto_deuda>();
            source_existencia = new List <objeto_existencia>();

            using (var db = new TiendaDbContext())
            {
                var tienda     = db.Tiendas.Find(id_tienda);
                var existencia = tienda.Productos;

                foreach (var item in existencia)
                {
                    if (item.CantidadTotal > 0)
                    {
                        source_existencia.Add(new objeto_existencia(item.ExistenciaId));
                    }
                }
            }
            this.DataContext             = this;
            dgrid_existencia.ItemsSource = source_existencia;
            dgrid_deuda.ItemsSource      = source_deuda;
            dgrid_devolucion.ItemsSource = source_devolucion;
            dgrid_venta.ItemsSource      = source_venta;
            Fecha = DateTime.Today;
        }
Пример #3
0
        private void btn_aceptar_Click(object sender, RoutedEventArgs e)
        {
            if (dgrid_entrada.ItemsSource != null)
            {
                using (var db = new TiendaDbContext())
                {
                    var tienda           = db.Tiendas.First();
                    var articulo_entrada = new List <ArticuloEntrada>();
                    foreach (var item in dgrid_entrada.ItemsSource)
                    {
                        articulo_entrada.Add((item as entrada).genera_articulo_entrada(Fecha));
                    }
                    foreach (var articulo in articulo_entrada)
                    {
                        var producto = tienda.Productos.Where(p => p.Codigo == articulo.Codigo).First();
                        producto.CantidadBuenEstado += articulo.CantidadBuenEstado;
                        producto.CantidadDefectuoso += articulo.CantidadDefectuoso;
                        db.Entry(producto).State     = EntityState.Modified;
                    }
                    db.Entry(tienda).State = EntityState.Modified;
                    articulo_entrada.ForEach(p => db.ArticuloEntradas.Add(p));
                    var reporte = new ReporteEntrada {
                        Fecha = Fecha, Articulos = articulo_entrada
                    };
                    db.ReporteEntradas.Add(reporte);

                    db.SaveChanges();
                }
            }
            this.NavigationService.GoBack();
        }
Пример #4
0
        private void btn_guardarPrecio_Click(object sender, RoutedEventArgs e)
        {
            double precioBE;
            double precioDef;

            if (!double.TryParse(tbox_precioBuenEstado.Text, out precioBE) || precioBE < 0 || !double.TryParse(tbox_precioDefectuoso.Text, out precioDef) || precioDef < 0)
            {
                MessageBox.Show("precio no valido");
                return;
            }
            var articulo           = dgrid_productos.SelectedItem as objeto_existencia;
            var objeto_data_source = data_source.Find(p => p.ExistenciaId == articulo.ExistenciaId);

            objeto_data_source.PrecioBuenEstado = precioBE;
            objeto_data_source.PrecioDefectuoso = precioDef;

            using (var db = new TiendaDbContext())
            {
                var existencia = db.Existencias.Find(articulo.ExistenciaId);
                existencia.PrecioBuenEstado = precioBE;
                existencia.PrecioDefectuoso = precioDef;
                db.Entry(existencia).State  = EntityState.Modified;
                db.SaveChanges();
            }
            dgrid_productos.Items.Refresh();
            gbox_modificarPrecio.Visibility = Visibility.Hidden;
            btn_cambiarPrecio.Visibility    = Visibility.Visible;
            gbox_totales_Loaded(sender, e);
        }
Пример #5
0
        private void btn_nueva_Click(object sender, RoutedEventArgs e)
        {
            var form = new winForm.FolderBrowserDialog();

            if (form.ShowDialog() == winForm.DialogResult.OK)
            {
                string principio = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=";
                string final     = ";Integrated Security=True;Connect Timeout=30";
                string medio     = form.SelectedPath + "\\TiendaBD.mdf";

                string        conexion = principio + medio + final;
                Configuration config   = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                config.ConnectionStrings.ConnectionStrings["TiendaContext"].ConnectionString = conexion;

                config.Save();
                try
                {
                    var a = new TiendaDbContext();
                    a.SeedPublico(a);
                }
                catch
                {
                    return;
                }
                this.DialogResult = true;
                this.Close();
            }
        }
Пример #6
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();
                }
            }
        }
Пример #7
0
        void fillEntrada(Func <ReporteEntrada, bool> pred)
        {
            int total = 0;

            entrada_sp.Children.Clear();
            using (var db = new TiendaDbContext())
            {
                var           vs     = db.ReporteEntradas.Where(pred).ToList();
                List <string> header = new List <string> {
                    "Codigo", "Descripcion", "Cant. BE", "Cant. ME"
                };
                List <string> path = new List <string> {
                    "Codigo", "Descripcion", "CantidadBuenEstado", "CantidadDefectuoso"
                };
                foreach (var item in vs)
                {
                    List <objeto_entrada> source2 = new List <objeto_entrada>();
                    foreach (var i in item.Articulos)
                    {
                        source2.Add(new objeto_entrada(i.ArticuloEntradaId));
                    }
                    var p = new UserControllers.ReporteVentaController(Metodos_Auxiliares.make_dg(source2, header, path));
                    p.fecha_inform.Content  = item.Fecha.ToString();
                    p.nombre_inform.Content = "Almacen";
                    p.pago_inform.Content   = "Cant. de Productos: " + item.CantidadTotal.ToString();
                    p.Background            = Brushes.AntiqueWhite;
                    entrada_sp.Children.Add(p);
                    total += item.CantidadTotal;
                }
            }
            entrada_total.Content = total.ToString();
        }
Пример #8
0
        void fillVentas(Func <ReporteVenta, bool> pred)
        {
            int    prods = 0;
            double total = 0;

            venta_sp.Children.Clear();
            using (var db = new TiendaDbContext())
            {
                var           vs     = db.ReporteVentas.Where(pred).ToList();
                List <string> header = new List <string> {
                    "Codigo", "Descripcion", "Cant. BE", "Cant. ME", "BE $", "ME $"
                };
                List <string> path = new List <string> {
                    "Codigo", "Descripcion", "CantidadBuenEstado", "CantidadDefectuoso", "PrecioBuenEstado", "PrecioDefectuoso"
                };
                foreach (var item in vs)
                {
                    List <objeto_venta> source2 = new List <objeto_venta>();
                    foreach (var i in item.Articulos)
                    {
                        source2.Add(new objeto_venta(i.ArticuloVentaId));
                    }
                    var p = new UserControllers.ReporteVentaController(Metodos_Auxiliares.make_dg(source2, header, path));
                    p.fecha_inform.Content  = item.Fecha.ToString();
                    p.nombre_inform.Content = item.Trabajador.Nombre;
                    p.pago_inform.Content   = "Pago: " + item.CostoTotal.ToString() + " $";
                    p.Background            = Brushes.AntiqueWhite;
                    venta_sp.Children.Add(p);
                    prods += item.CantidadTotal;
                    total += item.CostoTotal;
                }
            }
            venta_prod_total.Content     = prods.ToString();
            venta_ganancia_total.Content = total.ToString();
        }
Пример #9
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);
        }
Пример #10
0
        public RealizarVentaPagina()
        {
            codigo_src  = "";
            descrip_src = "";

            venta_source     = new List <objeto_venta>();
            productos_source = new List <objeto_venta>();
            vendedores       = new List <Trabajador>();

            using (var db = new TiendaDbContext())
            {
                vendedores = db.Tiendas.First().Trabajadores.OrderBy(x => x.Nombre).ToList();
                var temp = db.Tiendas.First().Productos.Where(p => p.CantidadBuenEstado > 0 || p.CantidadDefectuoso > 0);
                foreach (var item in temp)
                {
                    productos_source.Add(new objeto_venta(item.ExistenciaId));
                }
            }

            InitializeComponent();
            cb_trabajadores.ItemsSource       = vendedores;
            cb_trabajadores.SelectedIndex     = 0;
            cb_trabajadores.DisplayMemberPath = "Nombre";

            dgrid_productos.ItemsSource = productos_source;
            dgrid_venta.ItemsSource     = venta_source;

            Fecha = DateTime.Today;
        }
Пример #11
0
        private void btn_aceptar_Click(object sender, RoutedEventArgs e)
        {
            if (venta_source.Count() == 0)
            {
                MessageBox.Show("No puede realizar una venta de 0 articulos");
                return;
            }
            int trabajador_id = (cb_trabajadores.SelectedItem as Trabajador).TrabajadorId;


            var    reporte = objeto_venta.generar_reporte(1, trabajador_id, venta_source, Fecha);
            double pagado;

            if (double.TryParse(tbox_pagado.Text, out pagado))
            {
                reporte.Pagado = pagado;
                using (var db = new TiendaDbContext())
                {
                    db.Entry(reporte).State = EntityState.Modified;
                    db.SaveChanges();

                    // refeljando la venta en las existencias

                    foreach (var item in venta_source)
                    {
                        var existencia = db.Existencias.Find(item.ExistenciaId);
                        existencia.CantidadBuenEstado -= item.CantidadBuenEstado;
                        existencia.CantidadDefectuoso -= item.CantidadDefectuoso;
                        db.Entry(existencia).State     = EntityState.Modified;
                    }
                    db.SaveChanges();
                }
            }
            this.NavigationService.GoBack();
        }
Пример #12
0
 private void Grid_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new TiendaDbContext())
     {
         source_productos            = db.Productos.Where(p => p.Codigo.Contains(codigo_src) && p.Descripcion.Contains(descrip_src)).ToList();
         dgrid_productos.ItemsSource = source_productos;
     }
 }
Пример #13
0
 private void Grid_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new TiendaDbContext())
     {
         source_productos            = db.Productos.ToList();
         dgrid_productos.ItemsSource = source_productos;
     }
 }
Пример #14
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            using (var db = new TiendaDbContext())
            {
                var art_deuda      = source_deuda.Where(p => p.CantidadTotal > 0).Count() > 0 ? source_deuda.Where(p => p.CantidadTotal > 0).ToList() : new List <objeto_deuda>();
                var art_devolucion = source_devolucion.Where(p => p.CantidadTotal > 0).Count() > 0 ? source_devolucion.Where(p => p.CantidadTotal > 0).ToList() : new List <objeto_devolucion>();
                var art_venta      = source_venta.Where(p => p.CantidadTotal > 0).Count() > 0 ? source_venta.Where(p => p.CantidadTotal > 0).ToList() : new List <objeto_venta>();

                if (art_deuda.Count() + art_devolucion.Count() + art_venta.Count() == 0)
                {
                    MessageBox.Show("No se ha agregado nada");
                    return;
                }

                var reporte_deuda      = objeto_deuda.generar_reporte(tienda_id, art_deuda, Fecha);
                var reporte_devolucion = objeto_devolucion.generar_reporte(tienda_id, art_devolucion, Fecha);
                var tienda             = db.Tiendas.Find(tienda_id);
                var reporte_venta      = objeto_venta.generar_reporte(tienda_id, tienda.Encargado.TrabajadorId, art_venta, Fecha);

                var informe = Metodos_Auxiliares.genera_informe(tienda_id, reporte_deuda, reporte_devolucion, reporte_venta, Fecha);

                foreach (var item in art_deuda)
                {
                    var existencia = db.Existencias.Find(item.ExistenciaId);
                    existencia.CantidadBuenEstado -= item.CantidadBuenEstado;
                    existencia.CantidadDefectuoso -= item.CantidadDefectuoso;
                    db.Entry(existencia).State     = EntityState.Modified;
                    db.SaveChanges();
                }

                foreach (var item in art_venta)
                {
                    var existencia = db.Existencias.Find(item.ExistenciaId);
                    existencia.CantidadBuenEstado -= item.CantidadBuenEstado;
                    existencia.CantidadDefectuoso -= item.CantidadDefectuoso;
                    db.Entry(existencia).State     = EntityState.Modified;
                    db.SaveChanges();
                }

                foreach (var item in art_devolucion)
                {
                    var existencia_origen  = db.Existencias.Find(item.ExistenciaId);
                    var existencia_destino = db.Existencias.Where(p => p.Codigo == item.Codigo).First();

                    existencia_origen.CantidadBuenEstado -= item.CantidadBuenEstado;
                    existencia_origen.CantidadDefectuoso -= item.CantidadDefectuoso;

                    existencia_destino.CantidadBuenEstado += item.CantidadBuenEstado;
                    existencia_destino.CantidadDefectuoso += item.CantidadDefectuoso;

                    db.Entry(existencia_origen).State  = EntityState.Modified;
                    db.Entry(existencia_destino).State = EntityState.Modified;

                    db.SaveChanges();
                }
            }
            this.NavigationService.GoBack();
        }
Пример #15
0
        public Estadisticas()
        {
            InitializeComponent();
            db          = new TiendaDbContext();
            DataContext = this;

            VentasXMes(5);
            TiendasVentas();
        }
Пример #16
0
 private void Window_Closed(object sender, EventArgs e)
 {
     using (var db = new TiendaDbContext())
     {
         if (!db.Database.Exists())
         {
             Application.Current.Shutdown();
         }
     }
 }
Пример #17
0
 public objeto_entrada(int id)
 {
     using (var db = new TiendaDbContext())
     {
         var item = db.ArticuloEntradas.Find(id);
         Codigo             = item.Codigo;
         Descripcion        = item.Producto.Descripcion;
         CantidadBuenEstado = item.CantidadBuenEstado;
         CantidadDefectuoso = item.CantidadDefectuoso;
     }
 }
Пример #18
0
 public objeto_transferencia(int obj_id)
 {
     using (var db = new TiendaDbContext())
     {
         var existencia = db.ArticuloTransferencias.Find(obj_id);
         this.Codigo             = existencia.Codigo;
         this.Descripcion        = existencia.Producto.Descripcion;
         this.CantidadBuenEstado = existencia.CantidadBuenEstado;
         this.CantidadDefectuoso = existencia.CantidadDefectuoso;
     }
 }
Пример #19
0
 private void DataGrid_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new TiendaDbContext())
     {
         List <art_temp> t = new List <art_temp>();
         foreach (var item in db.Tiendas.Find(tienda).Productos.Where(x => x.CantidadTotal > 0))
         {
             t.Add(new art_temp(item.Codigo, item.Producto.Descripcion, item.CantidadBuenEstado, item.CantidadDefectuoso, item.CantidadTotal, item.PrecioBuenEstado, item.PrecioDefectuoso));
         }
         dg_prods.ItemsSource = t;
     }
 }
Пример #20
0
 public objeto_devolucion(int existencia_id)
 {
     this.ExistenciaId = existencia_id;
     using (var db = new TiendaDbContext())
     {
         var existencia = db.Existencias.Find(existencia_id);
         this.Codigo      = existencia.Codigo;
         this.Descripcion = existencia.Producto.Descripcion;
     }
     this.CantidadBuenEstado = 0;
     this.CantidadDefectuoso = 0;
 }
Пример #21
0
 public liquidacion_deuda(int ReporteDeudaId)
 {
     this.ReporteDeudaId = ReporteDeudaId;
     this.APagar         = 0;
     using (var db = new TiendaDbContext())
     {
         var reporte = db.ReporteDeudas.Find(this.ReporteDeudaId);
         this.CostoTotal    = reporte.CostoTotal;
         this.CantidadTotal = reporte.CantidadTotal;
         this.Pagado        = reporte.Pagado;
         this.Fecha         = reporte.Fecha.ToShortDateString();
     }
 }
Пример #22
0
 public informacion_deuda(int articulo_deuda_id)
 {
     using (var db = new TiendaDbContext())
     {
         var art = db.ArticuloDeudas.Find(articulo_deuda_id);
         this.Codigo             = art.Codigo;
         this.Descripcion        = art.Producto.Descripcion;
         this.CantidadBuenEstado = art.CantidadBuenEstado;
         this.CantidadDefectuoso = art.CantidadDefectuoso;
         this.PrecioBuenEstado   = art.Precio;
         this.PrecioDefectuoso   = art.PrecioDefectuoso;
     }
 }
Пример #23
0
        private void Button_MouseEnter(object sender, MouseEventArgs e)
        {
            var a = tiendas.Find(x => x.ShopId == int.Parse((e.Source as Button).Name.Split('_')[1]));

            TiendaNombre.Content    = a.Nombre;
            TiendaDireccion.Content = a.Direccion;
            using (var db = new TiendaDbContext())
            {
                var t = db.Tiendas.Find(a.ShopId);
                TiendaRepresentante.Content = t.Encargado.Nombre;
            }
            TiendaTelfono.Content = a.Telefono.ToString();
        }
Пример #24
0
 public articulo_info(int ArticuloId)
 {
     this.ArticuloDeudaId = ArticuloId;
     using (var db = new TiendaDbContext())
     {
         var articulo = db.ArticuloDeudas.Find(ArticuloId);
         this.Codigo             = articulo.Codigo;
         this.Descripcion        = articulo.Producto.Descripcion;
         this.CantidadBuenEstado = articulo.CantidadBuenEstado;
         this.CantidadDefectuoso = articulo.CantidadDefectuoso;
         this.PrecioBuenEstado   = articulo.Precio;
         this.PrecioDefectuoso   = articulo.PrecioDefectuoso;
     }
 }
Пример #25
0
 private void eliminar_btn_Click(object sender, RoutedEventArgs e)
 {
     if (MessageBox.Show("Estas Seguro", "Eliminar Tienda", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     {
         using (var db = new TiendaDbContext())
         {
             var t = db.Tiendas.Find(tienda);
             t.eliminado           = true;
             t.Encargado.eliminado = true;
             db.SaveChanges();
         }
         NavigationService.GoBack();
     }
 }
Пример #26
0
        public SucursalPagina(int shopId)
        {
            InitializeComponent();
            tienda = shopId;
            using (var db = new TiendaDbContext())
            {
                var tienda = db.Tiendas.First(x => x.ShopId == shopId);
                Tienda_Encargado.Text = tienda.Encargado.Nombre;
                top.Title             = tienda.Nombre;
                Tienda_Nombre.Text    = tienda.Nombre;
                Tienda_Direccion.Text = tienda.Direccion;

                Tienda_Telefono.Text = tienda.Telefono.ToString();
            }
        }
Пример #27
0
        private void Grid_Loaded(object sender, RoutedEventArgs e)
        {
            using (var db = new TiendaDbContext())
            {
                data_trabajador     = db.Tiendas.First().Trabajadores.OrderBy(o => o.Nombre).Where(x => !x.eliminado).ToList();
                dg_trab.ItemsSource = data_trabajador;
                data_source         = new List <objeto_existencia>();
                foreach (var item in db.Tiendas.First().Productos.Where(p => p.CantidadBuenEstado > 0 || p.CantidadDefectuoso > 0))
                {
                    data_source.Add(new objeto_existencia(item.ExistenciaId));
                }

                dgrid_productos.ItemsSource = data_source;
            }
        }
Пример #28
0
 private void gbox_totales_Loaded(object sender, RoutedEventArgs e)
 {
     using (var db = new TiendaDbContext())
     {
         double valor_total    = 0;
         int    cantidad_total = 0;
         foreach (var item in db.Tiendas.Find(tienda).Productos.Where(p => p.CantidadTotal > 0))
         {
             cantidad_total += item.CantidadTotal;
             valor_total    += item.CantidadBuenEstado * item.PrecioBuenEstado;
             valor_total    += item.CantidadDefectuoso * item.PrecioDefectuoso;
         }
         label_cantidad_total.Content = cantidad_total.ToString();
         label_valor_total.Content    = valor_total.ToString("0.00");
     }
 }
Пример #29
0
 public objeto_venta(int ExistenciaId)
 {
     this.ExistenciaId = ExistenciaId;
     using (var db = new TiendaDbContext())
     {
         var existencia = db.Existencias.Find(ExistenciaId);
         this.Codigo                 = existencia.Codigo;
         this.Descripcion            = existencia.Producto.Descripcion;
         this.PrecioBuenEstado       = existencia.PrecioBuenEstado;
         this.PrecioDefectuoso       = existencia.PrecioDefectuoso;
         this.CantidadExistenteBE    = existencia.CantidadBuenEstado;
         this.CantidadExistenteDefec = existencia.CantidadDefectuoso;
     }
     this.CantidadBuenEstado = 0;
     this.CantidadDefectuoso = 0;
 }
Пример #30
0
 private void btn_Actualizar_Click(object sender, RoutedEventArgs e)
 {
     using (var db = new TiendaDbContext())
     {
         var lista = db.Existencias.Where(t => t.ShopId == tienda && (t.CantidadBuenEstado > 0 || t.CantidadDefectuoso > 0)).ToList();
         foreach (var item in lista)
         {
             var exis = db.Existencias.Where(t => t.ShopId == 1 && t.Codigo == item.Codigo).First();
             item.PrecioBuenEstado = exis.PrecioBuenEstado;
             item.PrecioDefectuoso = exis.PrecioDefectuoso;
             db.Entry(item).State  = EntityState.Modified;
         }
         db.SaveChanges();
     }
     DataGrid_Loaded(sender, e);
     gbox_totales_Loaded(sender, e);
 }