Beispiel #1
0
 private void BtnMostrarSQL_Click(object sender, EventArgs e)
 {
     try
     {
         using (var context = new ChoppinEntities())
         {
             var connection = context.Database.Connection;
             connection.Open();
             using (var cmd = connection.CreateCommand())
             {
                 var dt = new DataTable();
                 cmd.CommandType = CommandType.Text;
                 cmd.CommandText = TxtSql.Text;
                 using (var reader = cmd.ExecuteReader())
                 {
                     dt.Load(reader);
                     GridTabla.DataSource = dt;
                     GridTabla.Refresh();
                 }
             }
             connection.Close();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #2
0
 private void refrescarMesas()
 {
     using (var context = new ChoppinEntities())
     {
         if (mesasVM == null)
         {
             mesasVM = (from m in context.Mesas
                        join v in context.Ventas.Where(v => v.Cierre == null)
                        on m.IdMesa equals v.IdMesa into mv
                        from mesaVenta in mv.DefaultIfEmpty()
                        select new MesaVM
             {
                 IdMesa = m.IdMesa,
                 Nombre = m.Nombre,
                 MesaVenta = mesaVenta
             }
                        ).ToList();
         }
         else
         {
             foreach (var mesa in mesasVM)
             {
                 mesa.MesaVenta = context.Ventas.SingleOrDefault(v => v.IdMesa == mesa.IdMesa && v.Cierre == null);
             }
         }
     }
 }
Beispiel #3
0
 public Venta GetVenta(int idVenta)
 {
     using (var context = new ChoppinEntities())
     {
         return(context.Ventas.Single(v => v.IdVenta == idVenta));
     }
 }
Beispiel #4
0
 public int AgregarVenta(Venta venta)
 {
     using (var context = new ChoppinEntities())
     {
         context.Ventas.Add(venta);
         return(context.SaveChanges());
     }
 }
Beispiel #5
0
 private void BtnCerrarCaja_Click(object sender, EventArgs e)
 {
     using (var context = new ChoppinEntities())
     {
         context.CajasCerradas.Add(new CajaCerrada
         {
             IdVenta = context.Ventas.Max(v => v.IdVenta)
         });
         context.SaveChanges();
     }
     MessageBox.Show(this, "Caja cerrada");
     Close();
 }
Beispiel #6
0
 private void BtnAgregar_Click(object sender, EventArgs e)
 {
     using (var context = new ChoppinEntities())
     {
         var contextTabla = context.GetType().GetProperty(TablaNombre);
         var data         = contextTabla.GetValue(context);
         var typeData     = data.GetType().GenericTypeArguments[0];
         var registro     = Activator.CreateInstance(GridTabla.Rows[0].DataBoundItem.GetType());
         var registros    = ((IList <object>)GridTabla.DataSource);
         registros.Add(registro);
         GridTabla.DataSource = registros;
         GridTabla.Refresh();
     }
 }
Beispiel #7
0
 static public void ActualizarTablas()
 {
     using (var context = new ChoppinEntities())
     {
         Mesas = (from mesa in context.Mesas
                  select mesa
                  ).ToList();
         Productos = (from producto in context.Productos.Include("Categoria").Include("Marca")
                      select producto
                      ).ToList();
         Tablas = context.Database
                  .SqlQuery <string>("select name as Tabla from sys.objects where type = 'U'")
                  .ToList();
     }
 }
Beispiel #8
0
 private void BtnEjecutar_Click(object sender, EventArgs e)
 {
     try
     {
         using (var context = new ChoppinEntities())
         {
             context.Database.ExecuteSqlCommand(TxtSql.Text);
         }
         RefrescarTabla();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #9
0
        private void GridTabla_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            var registro = GridTabla.Rows[e.RowIndex].DataBoundItem;

            using (var context = new ChoppinEntities())
            {
                var contextTabla = context.GetType().GetProperty(TablaNombre);
                var data         = contextTabla.GetValue(context);
                var methodAdd    = data.GetType().GetMethod("Add");
                methodAdd.Invoke(data, new [] { registro });
                context.Entry(registro).State = EntityState.Modified;
                var count = context.SaveChanges();
                lblEstado.Text = $"Actualizado {DateTime.Now} - {count}";
            }
        }
Beispiel #10
0
        public void ActualizarItem(VentaDetalleVM item)
        {
            using (var context = new ChoppinEntities())
            {
                var itemActual = context.VentasDetalles
                                 .Single(i => i.IdVentaDetalle == item.IdVentaDetalle);

                itemActual.IdProducto         = item.IdProducto;
                itemActual.Cantidad           = item.Cantidad;
                itemActual.Precio             = item.Precio;
                itemActual.Diferencia         = item.Diferencia;
                itemActual.DiferenciaIdAplica = (int?)item.AplicaDiferencia;
                itemActual.DiferenciaMotivo   = item.Motivo;
                itemActual.Fecha = DateTime.Now;
                context.SaveChanges();
            }
        }
Beispiel #11
0
 public void AgregarItem(VentaDetalleVM item)
 {
     using (var context = new ChoppinEntities())
     {
         context.VentasDetalles.Add(new VentaDetalle
         {
             IdVenta            = item.IdVenta,
             IdProducto         = item.IdProducto,
             Cantidad           = item.Cantidad,
             Precio             = item.Precio,
             Diferencia         = item.Diferencia,
             DiferenciaIdAplica = (int?)item.AplicaDiferencia,
             DiferenciaMotivo   = item.Motivo,
             Fecha = DateTime.Now
         });
         context.SaveChanges();
     }
 }
Beispiel #12
0
 private void FormCaja_Shown(object sender, EventArgs e)
 {
     LblEfectivo.Text = "Efectivo: ";
     LblTarjeta.Text  = "Tarjeta: ";
     LblTotal.Text    = "Total: ";
     using (var context = new ChoppinEntities())
     {
         var idVentaDesdeNoInclusive = context.CajasCerradas.Max(v => v.IdVenta);
         var pagos = (from p in context.Pagos
                      where p.IdVenta > idVentaDesdeNoInclusive
                      group p.Importe by p.IdMedioPago into gp
                      select new {
             Medio = (MediosDePago)gp.Key,
             SubTotal = gp.Sum(sp => sp)
         }
                      ).ToList();
         var efectivo = pagos.SingleOrDefault(p => p.Medio == MediosDePago.Efectivo)?.SubTotal ?? 0;
         var tarjeta  = pagos.SingleOrDefault(p => p.Medio == MediosDePago.Tarjeta)?.SubTotal ?? 0;
         var total    = efectivo + tarjeta;
         if (total == 0)
         {
             MessageBox.Show(this, "Para cerrar la caja primero se debe cobrar algo");
             Close();
             return;
         }
         //Controla el total de pagos sea igual al total de ventas detalle
         var controlVentasDetalle = (from v in context.VentasDetalles
                                     where v.IdVenta > idVentaDesdeNoInclusive
                                     select v.Precio * v.Cantidad + v.Diferencia
                                     ).Sum(i => i);
         if (total != controlVentasDetalle)
         {
             MessageBox.Show(this, "Para cerrar la caja todas las mesas deben estar pagas");
             Close();
         }
         LblEfectivo.Text += efectivo.ToString("C2", new CultureInfo("es-AR"));
         LblTarjeta.Text  += tarjeta.ToString("C2", new CultureInfo("es-AR"));
         LblTotal.Text    += total.ToString("C2", new CultureInfo("es-AR"));
         if (total == 0)
         {
             BtnCerrarCaja.Visible = false;
         }
     }
 }
Beispiel #13
0
 private void RefrescarTabla()
 {
     try {
         using (var context = new ChoppinEntities())
         {
             var contextTabla = context.GetType().GetProperty(TablaNombre);
             var data         = contextTabla.GetValue(context);
             var datos        = ((IEnumerable <object>)data).ToList();
             var registros    = datos;
             GridTabla.AutoGenerateColumns = true;
             GridTabla.DataSource          = registros;
             GridTabla.Refresh();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #14
0
 public List <VentaDetalleVM> GetVentaDetalle(int idVenta)
 {
     using (var context = new ChoppinEntities())
     {
         return((from item in context.VentasDetalles
                 where item.IdVenta == idVenta
                 select new VentaDetalleVM
         {
             IdVentaDetalle = item.IdVentaDetalle,
             IdVenta = item.IdVenta,
             IdProducto = item.IdProducto,
             Precio = item.Precio,
             Cantidad = item.Cantidad,
             Diferencia = item.Diferencia,
             AplicaDiferencia = (Equipo?)item.DiferenciaIdAplica,
             Motivo = item.DiferenciaMotivo,
             Fecha = item.Fecha
         }
                 ).ToList());
     }
 }
Beispiel #15
0
 public void PagarVenta(int idVenta, decimal efectivo, decimal tarjeta)
 {
     using (var context = new ChoppinEntities())
     {
         try
         {
             context.Database.BeginTransaction();
             var venta = context.Ventas
                         .Single(v => v.IdVenta == idVenta)
                         .Cierre = DateTime.Now;
             if (efectivo > 0)
             {
                 context.Pagos.Add(new Pago
                 {
                     IdMedioPago = (int)MediosDePago.Efectivo,
                     IdVenta     = idVenta,
                     Importe     = efectivo
                 });
             }
             if (tarjeta > 0)
             {
                 context.Pagos.Add(new Pago
                 {
                     IdMedioPago = (int)MediosDePago.Tarjeta,
                     IdVenta     = idVenta,
                     Importe     = tarjeta
                 });
             }
             context.SaveChanges();
             context.Database.CurrentTransaction.Commit();
         }
         catch
         {
             context.Database.CurrentTransaction.Rollback();
         }
     }
 }