public async Task DesincronizarDatos(List <VM_PDV_VENTA> ventas) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var venta in ventas) { var dato = await context.PdvVenta.Where(v => v.VtaId == venta.VtaId).FirstOrDefaultAsync(); if (dato != null) { dato.VtaAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla PDV_VENTA se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex.Message); } } }
//Funcion para desincronizar datos private async Task DesincronizarDatos(List <VM_PDV_LISTA_PRECIO> listaPrecios) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var precios in listaPrecios) { var dato = await context.PdvListaPrecio.Where(precio => precio.LipId == precios.LipId).FirstOrDefaultAsync(); if (dato != null) { dato.LipAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla PDV_LISTA_PRECIO se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex.Message); } } }
//Funcion que retorna los productos de omniventDemo private async Task <List <VM_GLB_SUCURSAL> > ObtenerSucursales(int accion) { using (var context = new OmniventContext()) { try { var sucursales = await context.GlbSucursal.Select( sucursal => new VM_GLB_SUCURSAL() { SucId = sucursal.SucId, SucNombre = sucursal.SucNombre, SucAccion = Convert.ToInt32(sucursal.SucAccion) } ).Where( sucursal => sucursal.SucAccion == accion ).ToListAsync(); return(sucursales); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
private async Task DesincronizarDatos(List <VM_GLB_PRODUCTO> productos) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var producto in productos) { var dato = await context.GlbProducto.Where(p => p.ProId == producto.ProId).FirstOrDefaultAsync(); if (dato != null) { dato.ProAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla GLB_PRODUCTO se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex); } } }
//Funcion para obtener la lista de precios detalle public async Task <List <VM_PDV_LISTAP_DETALLE> > ObtenerListaPrecioDetalle(int accion) { using (var context = new OmniventContext()) { try { return(await context.PdvListapDetalle.Select( x => new VM_PDV_LISTAP_DETALLE() { LipId = x.LipId, ProId = x.ProId, LipDetConIva = x.LpdPrecioConIva, LipDetSinIva = x.LpdPrecioSinIva, LpdAccion = x.LpdAccion } ). Where( x => x.LpdAccion == accion ).ToListAsync()); }catch (Exception e) { Console.WriteLine(e.Message); return(null); } } }
//Funcion que retorna los almacenes de omniventDemo private async Task <List <VM_PDV_ALMACEN> > ObtenerAlmacenes(int accion) { using (var context = new OmniventContext()) { try { var almacenes = await context.PdvAlmacen.Select( almacen => new VM_PDV_ALMACEN() { AlmId = almacen.AlmId, AlmDescripcion = almacen.AlmDescripcion, AlmEstatus = almacen.AlmEstatus, SucId = almacen.SucId, AlmAccion = almacen.AlmAccion } ).Where( almacen => almacen.AlmAccion == accion ).ToListAsync(); return(almacenes); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
private async Task DesincronizarDatos(List <VM_PDV_FORMA_PAGO> formasPago) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var formaPago in formasPago) { var dato = await context.PdvFormaPago.Where(f => f.FopId == formaPago.FopId).FirstOrDefaultAsync(); if (dato != null) { dato.FopAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla PDV_FORMA_PAGO se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex); } } }
//Funcion que retorna los productos de omniventDemo private async Task <List <VM_PDV_FORMA_PAGO> > ObtenerFormasPago(int accion) { using (var context = new OmniventContext()) { try { var formasPago = await context.PdvFormaPago.Select( formaPago => new VM_PDV_FORMA_PAGO() { FopId = formaPago.FopId, FopDescripcion = formaPago.FopDescripcion, FopAccion = formaPago.FopAccion } ).Where( formaPago => formaPago.FopAccion == accion ).ToListAsync(); return(formasPago); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
//Funcion que retorna los productos de omniventDemo private async Task <List <VM_PDV_VENTA_DETALLE> > ObtenerVentasDetalle(int accion) { using (var context = new OmniventContext()) { try { var ventasDetalle = await context.PdvVentaDetalle.Select( detalle => new VM_PDV_VENTA_DETALLE() { VedId = detalle.VedId, VtaId = detalle.VtaId, ProId = detalle.ProId, VedPrecio = detalle.VedPrecioConIva, VedDescuento = (detalle.VedImporteDescuento != null) ? detalle.VedImporteDescuento : Convert.ToDecimal(0.0), VedCantidad = detalle.VedCantidad, VedAccion = detalle.VedAccion } ).Where( detalle => detalle.VedAccion == accion ).ToListAsync(); return(ventasDetalle); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
//Funcion que retorna los almacenes de omniventDemo private async Task <List <VM_PDV_ALMACEN_PRODUCTO> > ObtenerAlmacenProductos(int accion) { using (var context = new OmniventContext()) { try { var almacenProductos = await context.PdvAlmacenProducto.Select( almacenProducto => new VM_PDV_ALMACEN_PRODUCTO() { AlmId = almacenProducto.AlmId, AlpStockActual = almacenProducto.AlpStockActual, ProId = almacenProducto.ProId, AlpAccion = almacenProducto.AlpAccion } ).Where( almacenProducto => almacenProducto.AlpAccion == accion ).ToListAsync(); return(almacenProductos); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
private async Task DesincronizarDatos(List <VM_PDV_ALMACEN> almacenes) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var almacen in almacenes) { var dato = await context.PdvAlmacen.Where(a => a.AlmId == almacen.AlmId).FirstOrDefaultAsync(); if (dato != null) { dato.AlmAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla PDV_ALMACEN se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex); } } }
private async Task DesincronizarDatos(List <VM_GLB_SUCURSAL> sucursales) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var sucursal in sucursales) { var dato = await context.GlbSucursal.Where(s => s.SucId == sucursal.SucId).FirstOrDefaultAsync(); if (dato != null) { dato.SucAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla GLB_SUCURSAL se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex); } } }
//Funcion que retorna los productos de omniventDemo private async Task <List <VM_GLB_PRODUCTO> > ObtenerProdutos(int accion) { using (var context = new OmniventContext()) { try { var productos = await context.GlbProducto.Join( context.GlbFamilia, producto => producto.FamId, familia => familia.FamId, (producto, familia) => new { Producto = producto, Familia = familia } ).Select( producto => new VM_GLB_PRODUCTO() { ProId = producto.Producto.ProId, ProDescripcion = producto.Producto.ProDescripcion, ProCodigoBarras = producto.Producto.ProCodigoBarras, ProCostoGeneralIva = producto.Producto.ProCostoGeneralIva, ProPrecioGeneralIva = producto.Producto.ProPrecioGeneralIva, ProIdentificacion = producto.Producto.ProIdentificacion, Familia = producto.Familia.FamDescripcion, SubFamilia = producto.Producto.SubId.ToString(), ProAccion = producto.Producto.ProAccion } ).Where( producto => producto.ProAccion == accion ).ToListAsync(); var subfamilias = await context.GlbSubfamilia.ToListAsync(); productos.ForEach(producto => { producto.SubFamilia = subfamilias.Find( x => x.SubId == Convert.ToInt16(producto.SubFamilia)).SubDescripcion.ToString(); } ); return(productos); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
public async Task <List <LCL_PARAMETRO> > ObtenerParametrosAsync() { using (var context = new OmniventContext()) { var parametros = await context.LclParametro.ToListAsync(); if (parametros != null) { return(parametros); } else { return(null); } } }
//Funcion para desincronizar datos public async Task DesincronizarDatos(List <VM_PDV_LISTAP_DETALLE> listaPreciosDetalle) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var preciosDetalle in listaPreciosDetalle) { var dato = await context.PdvListapDetalle.FromSqlRaw( "select * from PDV_LISTAP_DETALLE where pro_id = " + preciosDetalle.ProId + " and lip_id = " + preciosDetalle.LipId ).FirstOrDefaultAsync(); if (dato != null) { dato.LpdAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla PDV_LISTAP_DETALLE se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex.Message); } } }
private async Task DesincronizarDatos(List <VM_PDV_VENTA_DETALLE> ventasDetalle) { using (var context = new OmniventContext()) { var transaccion = await context.Database.BeginTransactionAsync(); try { foreach (var detalle in ventasDetalle) { var dato = await context.PdvVentaDetalle.Where( d => d.VtaId == detalle.VtaId && d.VedId == detalle.VedId ).FirstOrDefaultAsync(); if (dato != null) { dato.VedAccion = 0; await context.SaveChangesAsync(); } else { Console.WriteLine("Dato no encontrado"); } } await transaccion.CommitAsync(); Console.WriteLine("El campo Accion de la tabla PDV_VENTA_DETALLE se ha actualizado correctamente"); } catch (Exception ex) { await transaccion.RollbackAsync(); Console.WriteLine(ex); } } }
//Funcion para obtener la lista de precios private async Task <List <VM_PDV_LISTA_PRECIO> > ObtenerListaPrecio(int accion) { using (var context = new OmniventContext()) { try { return(await context.PdvListaPrecio.Select( x => new VM_PDV_LISTA_PRECIO() { LipId = x.LipId, LipNombre = x.LipNombre, LipAccion = x.LipAccion } ). Where( x => x.LipAccion == accion ).ToListAsync()); }catch (Exception e) { Console.WriteLine(e.Message); return(null); } } }
//Funcion que retorna los productos de omniventDemo private async Task <List <VM_PDV_FLUJO_EFECTIVO> > ObtenerFlujosEfectivo(int accion) { using (var context = new OmniventContext()) { try { //Tabla Flujo efectivo con sucursal no nula var flujoEfectivo = await context.PdvFlujoEfectivo.Join( context.GlbSucursal, flujoEfectivo => flujoEfectivo.SucId, sucursal => sucursal.SucId, (flujoEfectivo, sucursal) => new { flujoEfectivo = flujoEfectivo, Sucursal = sucursal } ).Join( context.PdvCaja, flujoEfectivoMix => flujoEfectivoMix.flujoEfectivo.CajId, caja => caja.CajId, (flujoEfectivoMix, caja) => new { flujoEfectivoMix = flujoEfectivoMix, Caja = caja } ).Select( efectivo => new VM_PDV_FLUJO_EFECTIVO() { FleId = efectivo.flujoEfectivoMix.flujoEfectivo.FleId, FleFecha = efectivo.flujoEfectivoMix.flujoEfectivo.FleFecha, FleImporte = efectivo.flujoEfectivoMix.flujoEfectivo.FleImporte, FleTipo = efectivo.flujoEfectivoMix.flujoEfectivo.FleTipo, FleObservaciones = (efectivo.flujoEfectivoMix.flujoEfectivo.FleObservaciones != null) ? efectivo.flujoEfectivoMix.flujoEfectivo.FleObservaciones : "", FleReferencia = (efectivo.flujoEfectivoMix.flujoEfectivo.FleReferencia != null) ? efectivo.flujoEfectivoMix.flujoEfectivo.FleReferencia : "", FopId = efectivo.flujoEfectivoMix.flujoEfectivo.FopId, FleDescripcion = efectivo.Caja.CajDescripcion, CacId = (efectivo.flujoEfectivoMix.flujoEfectivo.CacId != null) ? efectivo.flujoEfectivoMix.flujoEfectivo.CacId : 0, Sucursal = (efectivo.flujoEfectivoMix.Sucursal.SucNombre != null) ? efectivo.flujoEfectivoMix.Sucursal.SucNombre : "", FleAccion = efectivo.flujoEfectivoMix.flujoEfectivo.FleAccion } ).Where( efectivo => efectivo.FleAccion == accion && efectivo.Sucursal != null ).ToListAsync(); //Tabla Flujo efectivo con sucursal nula var flujoEfectivoSucursal = await context.PdvFlujoEfectivo.Join( context.PdvCaja, flujoEfectivo => flujoEfectivo.CajId, caja => caja.CajId, (flujoEfectivo, caja) => new { FlujoEfectivo = flujoEfectivo, Caja = caja } ).Select( efectivo => new VM_PDV_FLUJO_EFECTIVO() { FleId = efectivo.FlujoEfectivo.FleId, FleFecha = efectivo.FlujoEfectivo.FleFecha, FleImporte = efectivo.FlujoEfectivo.FleImporte, FleTipo = efectivo.FlujoEfectivo.FleTipo, FleObservaciones = (efectivo.FlujoEfectivo.FleObservaciones != null) ? efectivo.FlujoEfectivo.FleObservaciones : "", FleReferencia = (efectivo.FlujoEfectivo.FleReferencia != null) ? efectivo.FlujoEfectivo.FleReferencia : "", FopId = efectivo.FlujoEfectivo.FopId, FleDescripcion = efectivo.Caja.CajDescripcion, CacId = (efectivo.FlujoEfectivo.CacId != null) ? efectivo.FlujoEfectivo.CacId : 0, Sucursal = efectivo.FlujoEfectivo.SucId.ToString(), FleAccion = efectivo.FlujoEfectivo.FleAccion } ).Where( efectivo => efectivo.FleAccion == accion && efectivo.Sucursal == null ).ToListAsync(); if (flujoEfectivoSucursal.Count > 0) { flujoEfectivo.AddRange(flujoEfectivoSucursal); } return(flujoEfectivo); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
//Funcion que retorna las ventas de la base de datos de Omnivent public async Task <List <VM_PDV_VENTA> > ObtenerVentas() { using (var context = new OmniventContext()) { try { //Obtenemos las ventas uniendo las tablas de vendedor, sucursal y precios //Ya que necesitamos los nombres y no el ID de cada tabla //Cuando ningún campo es nulo var ventas = await context.PdvVenta.Join( context.GlbSucursal, venta => venta.SucId, sucursal => sucursal.SucId, (venta, sucursal) => new { Venta = venta, Sucursal = sucursal } ).Join( context.PdvVendedor, mixVenta => mixVenta.Venta.VndId, vendedor => vendedor.VndId, (mixVenta, vendedor) => new { MixVenta = mixVenta, Vendedor = vendedor } ).Join( context.PdvListaPrecio, mixMixVenta => mixMixVenta.MixVenta.Venta.LipId, lista => lista.LipId, (mixMixVenta, lista) => new { MixMixVenta = mixMixVenta, Lista = lista }).Select(x => new VM_PDV_VENTA() { VtaId = x.MixMixVenta.MixVenta.Venta.VtaId, VtaFolioVenta = x.MixMixVenta.MixVenta.Venta.VtaFolioVenta, VtaFecha = x.MixMixVenta.MixVenta.Venta.VtaFecha, VtaTotal = x.MixMixVenta.MixVenta.Venta.VtaTotal, VtaEstatus = x.MixMixVenta.MixVenta.Venta.VtaEstatus, Sucursal = x.MixMixVenta.MixVenta.Sucursal.SucNombre, ListaPrecios = x.Lista.LipNombre, Vendedor = x.MixMixVenta.Vendedor.VndNombre, VtaAccion = x.MixMixVenta.MixVenta.Venta.VtaAccion }).Where( venta => venta.VtaAccion == 1 && venta.Vendedor != null && venta.ListaPrecios != null) .ToListAsync(); //Tanto vendedor como lista de precios son nulos var ventasSucursal = await context.PdvVenta.Join( context.GlbSucursal, venta => venta.SucId, sucursal => sucursal.SucId, (venta, sucursal) => new { Venta = venta, Sucursal = sucursal } ).Select(x => new VM_PDV_VENTA() { VtaId = x.Venta.VtaId, VtaFolioVenta = x.Venta.VtaFolioVenta, VtaFecha = x.Venta.VtaFecha, VtaTotal = x.Venta.VtaTotal, VtaEstatus = x.Venta.VtaEstatus, Sucursal = x.Sucursal.SucNombre, ListaPrecios = x.Venta.LipId.ToString(), Vendedor = x.Venta.VndId.ToString(), VtaAccion = x.Venta.VtaAccion }).Where( venta => venta.VtaAccion == 1 && venta.Vendedor == null && venta.ListaPrecios == null) .ToListAsync(); //Solamente lista de precios es nula var ventasListaPrecios = await context.PdvVenta.Join( context.GlbSucursal, venta => venta.SucId, sucursal => sucursal.SucId, (venta, sucursal) => new { Venta = venta, Sucursal = sucursal } ).Join( context.PdvVendedor, venta => venta.Venta.VndId, vendedor => vendedor.VndId, (venta, vendedor) => new { Venta = venta, Vendedor = vendedor } ).Select(x => new VM_PDV_VENTA() { VtaId = x.Venta.Venta.VtaId, VtaFolioVenta = x.Venta.Venta.VtaFolioVenta, VtaFecha = x.Venta.Venta.VtaFecha, VtaTotal = x.Venta.Venta.VtaTotal, VtaEstatus = x.Venta.Venta.VtaEstatus, Sucursal = x.Venta.Sucursal.SucNombre, ListaPrecios = x.Venta.Venta.LipId.ToString(), Vendedor = x.Vendedor.VndNombre, VtaAccion = x.Venta.Venta.VtaAccion }).Where( venta => venta.VtaAccion == 1 && venta.Vendedor != null && venta.ListaPrecios == null) .ToListAsync(); //Solamente el vendedor es nulo var ventasListaVendedor = await context.PdvVenta.Join( context.GlbSucursal, venta => venta.SucId, sucursal => sucursal.SucId, (venta, sucursal) => new { Venta = venta, Sucursal = sucursal } ).Join( context.PdvListaPrecio, venta => venta.Venta.LipId, lista => lista.LipId, (venta, lista) => new { Venta = venta, Lista = lista }).Select(x => new VM_PDV_VENTA() { VtaId = x.Venta.Venta.VtaId, VtaFolioVenta = x.Venta.Venta.VtaFolioVenta, VtaFecha = x.Venta.Venta.VtaFecha, VtaTotal = x.Venta.Venta.VtaTotal, VtaEstatus = x.Venta.Venta.VtaEstatus, Sucursal = x.Venta.Sucursal.SucNombre, ListaPrecios = x.Lista.LipNombre, Vendedor = x.Venta.Venta.VndId.ToString(), VtaAccion = x.Venta.Venta.VtaAccion }).Where( venta => venta.VtaAccion == 1 && venta.Vendedor == null && venta.ListaPrecios != null) .ToListAsync(); //Si hay ventas retornamos las ventas, caso contrario valor nulo if (ventasSucursal.Count > 0) { ventas.AddRange(ventasSucursal); } if (ventasListaVendedor.Count > 0) { ventas.AddRange(ventasListaVendedor); } if (ventasListaPrecios.Count > 0) { ventas.AddRange(ventasListaPrecios); } return(ventas); } catch (Exception ex) { Console.WriteLine(ex.Message); //Si ocurrio un error retornamos valor nulo return(null); } } }