public DtoLib.ResultadoEntidad <decimal> FactorCambioDivisaParaRecibir() { var result = new DtoLib.ResultadoEntidad <decimal>(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { decimal m1 = 0; var cnf = ctx.Database.SqlQuery <string>("select usuario from sistema_configuracion where codigo='GLOBAL48'").FirstOrDefault(); if (cnf == null) { result.Entidad = 0.0m; return(result); } if (cnf.Trim() != "") { var style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands; //var culture = CultureInfo.CreateSpecificCulture("es-ES"); var culture = CultureInfo.CreateSpecificCulture("en-EN"); Decimal.TryParse(cnf, style, culture, out m1); } result.Entidad = m1; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.TasasFiscales.Ficha> TasasFiscales() { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.TasasFiscales.Ficha>(); try { result.Entidad = new DtoLibVenta.TasasFiscales.Ficha(); using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.empresa_tasas.Where(w => w.auto == "0000000001").FirstOrDefault(); if (q != null) { result.Entidad.Tasa1 = q.tasa; } q = cnn.empresa_tasas.Where(w => w.auto == "0000000002").FirstOrDefault(); if (q != null) { result.Entidad.Tasa2 = q.tasa; } q = cnn.empresa_tasas.Where(w => w.auto == "0000000003").FirstOrDefault(); if (q != null) { result.Entidad.Tasa3 = q.tasa; } } return(result); } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <string> Clave_NivelMaximo() { var result = new DtoLib.ResultadoEntidad <string>(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var cnf = ctx.Database.SqlQuery <string>("select usuario from sistema_configuracion where codigo='GLOBAL17'").FirstOrDefault(); if (cnf == null) { result.Entidad = ""; return(result); } if (cnf.Trim() != "") { result.Entidad = cnf.Trim(); } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.MovInventario.Concepto.Ficha> MovInventario_Concepto(string auto) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.MovInventario.Concepto.Ficha>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.productos_conceptos.Find(auto); if (q == null) { result.Mensaje = "[ ID ] Concepto Movimento Inventario No Encontrado"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var r = new DtoLibVenta.MovInventario.Concepto.Ficha() { Auto = q.auto, Codigo = q.codigo, Descripcion = q.nombre, }; result.Entidad = r; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Inventario.Existencia.Resumen> ProductoExistencia(string auto) { var result = new DtoLib.ResultadoLista <DtoLibVenta.Inventario.Existencia.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var list = new List <DtoLibVenta.Inventario.Existencia.Resumen>(); var q = cnn.productos_deposito.Where(w => w.auto_producto == auto).ToList(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var codigoDep = s.empresa_depositos.codigo; var descripcionDep = s.empresa_depositos.nombre; var r = new DtoLibVenta.Inventario.Existencia.Resumen() { autoDeposito = s.auto_deposito, cntDisponible = s.disponible, cntFisica = s.fisica, cntReservada = s.reservada, CodigoDeposito = codigoDep, DescripcionDeposito = descripcionDep, Ubicacion_1 = s.ubicacion_1, Ubicacion_2 = s.ubicacion_2, Ubicacion_3 = s.ubicacion_3, Ubicacion_4 = s.ubicacion_4, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Inventario.Producto.DetalleResumen> ProductoDetalleResumen(string auto) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Inventario.Producto.DetalleResumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.productos.Find(auto); if (q == null) { result.Mensaje = "[ ID ] PRODUCTO NO ENCONTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var ent = new DtoLibVenta.Inventario.Producto.DetalleResumen() { Auto = q.auto, CodigoPrd = q.codigo, Comentarios = q.comentarios, ContenidoEmpCompra = q.contenido_compras, CostoUnidad = q.costo_und, Departamento = q.empresa_departamentos.nombre, DescripcionPrd = "", FechaUltActCosto = q.fecha_ult_costo, FechaUltActPrecio = q.fecha_cambio, FechaUltVenta = q.fecha_ult_venta, Grupo = q.productos_grupo.nombre, IsActivo = q.estatus.Trim().ToUpper() == "ACTIVO"?true:false, IsDivisa = q.estatus_divisa.Trim().ToUpper() == "1"?true:false, IsPesado = q.estatus_pesado.Trim().ToUpper() == "1"?true:false, Marca = q.productos_marca.nombre, Modelo = q.modelo, MontoDivisa = q.divisa, NombreEmpCompra = q.productos_medida2.nombre, NombrePrd = q.nombre, PLU = q.plu, PrecioSugerido = q.precio_sugerido, Referencia = q.referencia, TasaImpuesto = q.tasa, }; result.Entidad = ent; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Permiso.Ficha> Venta_Eliminar_Item(string autoGrupoUsuario) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Permiso.Ficha>(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { permiso cnf = ctx.Database.SqlQuery <permiso>("select estatus, seguridad from usuarios_grupo_permisos where codigo_grupo={0} and codigo_funcion='0801010000'", autoGrupoUsuario).FirstOrDefault(); if (cnf == null) { result.Entidad = new DtoLibVenta.Permiso.Ficha(); return(result); } var nt = new DtoLibVenta.Permiso.Ficha(); if (cnf.estatus.Trim().ToUpper() == "1") { nt.IsHabilitado = true; } switch (cnf.seguridad.Trim().ToUpper()) { case "NINGUNA": nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Niguna; break; case "MINIMA": nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Minima; break; case "MEDIA": nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Media; break; case "MAXIMA": nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Maxima; break; } result.Entidad = nt; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Usuario.Ficha> Usuario(string auto) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Usuario.Ficha>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.usuarios.Find(auto); if (q == null) { result.Mensaje = "[ ID ] USUARIO NO ENCONTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var autoGrupo = q.auto_grupo; var qGrupo = cnn.usuarios_grupo.Find(autoGrupo); if (qGrupo == null) { result.Mensaje = "GRUPO AL CUAL PERTENECE EL USUARIO NO ENCONTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var codigoGrupo = qGrupo.nombre; var descripcionGrupo = ""; var ent = new DtoLibVenta.Usuario.Ficha() { Auto = q.auto, Codigo = q.codigo, Descripcion = q.nombre, AutoGrupo = autoGrupo, CodigoGrupo = codigoGrupo, DescripcionGrupo = descripcionGrupo }; result.Entidad = ent; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Series.Resumen> SeriesLista() { var result = new DtoLib.ResultadoLista <DtoLibVenta.Series.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var list = new List <DtoLibVenta.Series.Resumen>(); var q = cnn.empresa_series_fiscales.ToList(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var isActivo = s.estatus.Trim().ToUpper() == "ACTIVO" ? true : false; var r = new DtoLibVenta.Series.Resumen() { Auto = s.auto, Descripcion = s.serie, Control = s.control, Correlativo = s.correlativo, IsActivo = isActivo, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Sistema.Enumerados.enumPreferenciaBusquedaProducto> PreferenciaBusquedaProducto() { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Sistema.Enumerados.enumPreferenciaBusquedaProducto>(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var prf = DtoLibVenta.Sistema.Enumerados.enumPreferenciaBusquedaProducto.SinDefinir; var cnf = ctx.Database.SqlQuery <string>("select usuario from sistema_configuracion where codigo='GLOBAL03'").FirstOrDefault(); if (cnf == null) { result.Entidad = prf; return(result); } if (cnf.Trim() != "") { switch (cnf.Trim().ToUpper()) { case "CÓDIGO": prf = DtoLibVenta.Sistema.Enumerados.enumPreferenciaBusquedaProducto.Codigo; break; case "NOMBRE": prf = DtoLibVenta.Sistema.Enumerados.enumPreferenciaBusquedaProducto.Nombre; break; case "REFERENCIA": prf = DtoLibVenta.Sistema.Enumerados.enumPreferenciaBusquedaProducto.Referencia; break; } } result.Entidad = prf; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.MedioCobro.Resumen> MedioCobroLista() { var result = new DtoLib.ResultadoLista <DtoLibVenta.MedioCobro.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var list = new List <DtoLibVenta.MedioCobro.Resumen>(); var q = cnn.empresa_medios.Where(w => w.estatus_cobro == "1").ToList(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var r = new DtoLibVenta.MedioCobro.Resumen() { Auto = s.auto, Codigo = s.codigo, Descripcion = s.nombre, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Transporte.Resumen> TransporteLista() { var result = new DtoLib.ResultadoLista <DtoLibVenta.Transporte.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var list = new List <DtoLibVenta.Transporte.Resumen>(); var q = cnn.empresa_transporte.ToList(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var r = new DtoLibVenta.Transporte.Resumen() { Auto = s.auto, Codigo = s.codigo, Nombre = s.nombre, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Inventario.Existencia.Resumen> Existencia(string autoProducto, string autoDeposito) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Inventario.Existencia.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.productos_deposito.FirstOrDefault(w => w.auto_producto == autoProducto && w.auto_deposito == autoDeposito); if (q == null) { result.Result = DtoLib.Enumerados.EnumResult.isError; result.Mensaje = "ENTIDAD [ DEPOSITO ] NO ENCONTRADA"; return(result); } var codigoDep = q.empresa_depositos.codigo; var descripcionDep = q.empresa_depositos.nombre; var r = new DtoLibVenta.Inventario.Existencia.Resumen() { autoDeposito = q.auto_deposito, cntDisponible = q.disponible, cntFisica = q.fisica, cntReservada = q.reservada, CodigoDeposito = codigoDep, DescripcionDeposito = descripcionDep, Ubicacion_1 = q.ubicacion_1, Ubicacion_2 = q.ubicacion_2, Ubicacion_3 = q.ubicacion_3, Ubicacion_4 = q.ubicacion_4, }; result.Entidad = r; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Sistema.Enumerados.enumMetodoCalculoUtilidad> MetodoCalculoUtilidad() { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Sistema.Enumerados.enumMetodoCalculoUtilidad>(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var prf = DtoLibVenta.Sistema.Enumerados.enumMetodoCalculoUtilidad.SinDefinir; var cnf = ctx.Database.SqlQuery <string>("select usuario from sistema_configuracion where codigo='GLOBAL13'").FirstOrDefault(); if (cnf == null) { result.Entidad = prf; return(result); } if (cnf.Trim() != "") { switch (cnf.Trim().ToUpper()) { case "LINEAL": prf = DtoLibVenta.Sistema.Enumerados.enumMetodoCalculoUtilidad.Lineal; break; case "FINANCIERO": prf = DtoLibVenta.Sistema.Enumerados.enumMetodoCalculoUtilidad.Financiero; break; } } result.Entidad = prf; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DateTime> FechaServidor() { var result = new DtoLib.ResultadoEntidad <DateTime>(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var fechaSistema = ctx.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); result.Entidad = fechaSistema.Date; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <bool> HabilitarAlertaPorExistenciaEnNegativa() { var result = new DtoLib.ResultadoEntidad <bool>(); try { var rt = false; using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var cnf = ctx.Database.SqlQuery <string>("select usuario from sistema_configuracion where codigo='GLOBAL31'").FirstOrDefault(); if (cnf == null) { result.Entidad = true; return(result); } if (cnf.Trim() != "") { switch (cnf.Trim().ToUpper()) { case "SI": rt = true; break; case "NO": rt = false; break; } } result.Entidad = rt; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Venta.Resumen> VentaLista(DtoLibVenta.Venta.Filtro filtro) { var result = new DtoLib.ResultadoLista <DtoLibVenta.Venta.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.ventas.ToList(); if (filtro.segun_FechaEmisionDesde.HasValue) { q = q.Where(w => w.fecha >= filtro.segun_FechaEmisionDesde.Value).ToList(); } if (filtro.segun_FechaEmisionHasta.HasValue) { q = q.Where(w => w.fecha >= filtro.segun_FechaEmisionHasta.Value).ToList(); } var list = new List <DtoLibVenta.Venta.Resumen>(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var isAnulado = s.estatus_anulado == "1" ? true : false; var isCerradoContable = s.estatus_cierre_contable == "1" ? true : false; var tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.SinDefinir; var isCredito = s.condicion_pago.Trim().ToUpper() == "CREDITO" ? true : false; switch (s.tipo.Trim().ToUpper()) { case "01": tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.Factura; break; case "02": tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.NotaDebito; break; case "03": tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.NotaCredito; break; case "04": tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.NotaEntrega; break; case "05": tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.Pedido; break; case "06": tipoDoc = DtoLibVenta.Venta.Enumerados.enumTipoDocumento.Presupuesto; break; } var r = new DtoLibVenta.Venta.Resumen() { Auto = s.auto, CodigoSucursal = s.codigo_sucursal, ControlNro = s.control, DocumentoNro = s.documento, EntidadNombre = s.razon_social, EntidadRif = s.ci_rif, FechaEmision = s.fecha, FechaRegistro = s.fecha_registro, IsAnulado = isAnulado, IsCredito = isCredito, TipoDocumento = tipoDoc, Total = s.total, Notas = s.nota, Signo = s.signo, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Inventario.Precio.Resumen> ProductoPrecios(string auto) { var result = new DtoLib.ResultadoLista <DtoLibVenta.Inventario.Precio.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var list = new List <DtoLibVenta.Inventario.Precio.Resumen>(); var q = cnn.productos.Find(auto); if (q != null) { var p1 = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "1", PrecioNeto = q.precio_1, ContEmpVenta = q.contenido_1, DescEmpVenta = q.productos_medida3.nombre, UtilidadMargen = q.utilidad_1, Decimales = q.productos_medida3.decimales, }; var p2 = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "2", PrecioNeto = q.precio_2, ContEmpVenta = q.contenido_2, DescEmpVenta = q.productos_medida4.nombre, UtilidadMargen = q.utilidad_2, Decimales = q.productos_medida4.decimales, }; var p3 = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "3", PrecioNeto = q.precio_3, ContEmpVenta = q.contenido_3, DescEmpVenta = q.productos_medida5.nombre, UtilidadMargen = q.utilidad_3, Decimales = q.productos_medida5.decimales, }; var p4 = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "4", PrecioNeto = q.precio_4, ContEmpVenta = q.contenido_4, DescEmpVenta = q.productos_medida.nombre, UtilidadMargen = q.utilidad_4, Decimales = q.productos_medida.decimales, }; var p5 = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "5", PrecioNeto = q.precio_pto, ContEmpVenta = q.contenido_pto, DescEmpVenta = q.productos_medida1.nombre, UtilidadMargen = q.utilidad_pto, Decimales = q.productos_medida1.decimales, }; list.Add(p1); list.Add(p2); list.Add(p3); list.Add(p4); list.Add(p5); result.Lista = list; } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Inventario.Precio.Resumen> Precio(string autoProducto, string idPrecio) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Inventario.Precio.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.productos.Find(autoProducto); if (q == null) { result.Result = DtoLib.Enumerados.EnumResult.isError; result.Mensaje = "[ ID ] PRODUCTO NO ENCONTRADO"; return(result); } DtoLibVenta.Inventario.Precio.Resumen p = null; switch (idPrecio.Trim().ToUpper()) { case "1": p = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "1", PrecioNeto = q.precio_1, ContEmpVenta = q.contenido_1, DescEmpVenta = q.productos_medida3.nombre, UtilidadMargen = q.utilidad_1, Decimales = q.productos_medida3.decimales, }; break; case "2": p = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "2", PrecioNeto = q.precio_2, ContEmpVenta = q.contenido_2, DescEmpVenta = q.productos_medida4.nombre, UtilidadMargen = q.utilidad_2, Decimales = q.productos_medida4.decimales, }; break; case "3": p = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "3", PrecioNeto = q.precio_3, ContEmpVenta = q.contenido_3, DescEmpVenta = q.productos_medida5.nombre, UtilidadMargen = q.utilidad_3, Decimales = q.productos_medida5.decimales, }; break; case "4": p = new DtoLibVenta.Inventario.Precio.Resumen() { Id = "4", PrecioNeto = q.precio_4, ContEmpVenta = q.contenido_4, DescEmpVenta = q.productos_medida.nombre, UtilidadMargen = q.utilidad_4, Decimales = q.productos_medida.decimales, }; break; default: result.Mensaje = "[ ID ] PRECIO NO ENCONTRADO/DEFINIDO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } result.Entidad = p; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Inventario.Producto.Resumen> ProductoLista(DtoLibVenta.Inventario.Producto.Filtro filtro) { var result = new DtoLib.ResultadoLista <DtoLibVenta.Inventario.Producto.Resumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.productos.ToList(); if (filtro.cadena != "") { if (filtro.preferenciaBusqueda == DtoLibVenta.Inventario.Enumerados.enumPreferenciaBusqueda.Codigo) { var cad = filtro.cadena.Trim().ToUpper(); if (cad.Substring(0, 1) == "*") { cad = cad.Substring(1); q = q.Where(w => w.codigo.Contains(cad)).ToList(); } else { q = q.Where(w => { var r = w.codigo.Trim().ToUpper(); if (r.Length >= cad.Length && r.Substring(0, cad.Length) == cad) { return(true); } else { return(false); } }).ToList(); } } if (filtro.preferenciaBusqueda == DtoLibVenta.Inventario.Enumerados.enumPreferenciaBusqueda.Nombre) { var cad = filtro.cadena.Trim().ToUpper(); if (cad.Substring(0, 1) == "*") { cad = cad.Substring(1); q = q.Where(w => w.nombre.Contains(cad)).ToList(); } else { q = q.Where(w => { var r = w.nombre.Trim().ToUpper(); if (r.Length >= cad.Length && r.Substring(0, cad.Length) == cad) { return(true); } else { return(false); } }).ToList(); } } if (filtro.preferenciaBusqueda == DtoLibVenta.Inventario.Enumerados.enumPreferenciaBusqueda.Referencia) { var cad = filtro.cadena.Trim().ToUpper(); if (cad.Substring(0, 1) == "*") { cad = cad.Substring(1); q = q.Where(w => w.referencia.Contains(cad)).ToList(); } else { q = q.Where(w => { var r = w.referencia.Trim().ToUpper(); if (r.Length >= cad.Length && r.Substring(0, cad.Length) == cad) { return(true); } else { return(false); } }).ToList(); } } } var list = new List <DtoLibVenta.Inventario.Producto.Resumen>(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var isActivo = s.estatus.Trim().ToUpper() == "ACTIVO" ? true : false; var r = new DtoLibVenta.Inventario.Producto.Resumen() { Auto = s.auto, CodigoPrd = s.codigo, NombrePrd = s.nombre, DescripcionPrd = s.nombre, ReferenciaPrd = s.referencia, IsActivo = isActivo, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoAuto ClienteAgregarEventual(DtoLibVenta.Cliente.AgregarEventual ficha) { var result = new DtoLib.ResultadoAuto(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { using (var ts = new TransactionScope()) { var r = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_clientes=a_clientes+1"); if (r == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE CLIENTE"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var fechaSistema = ctx.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var cntCliente = ctx.Database.SqlQuery <int>("select a_clientes from sistema_contadores").FirstOrDefault(); var AutoCliente = cntCliente.ToString().Trim().PadLeft(10, '0'); var ent = new LibEntityVentas.clientes() { auto = AutoCliente, auto_grupo = "0000000001", auto_zona = "0000000001", auto_estado = "0000000001", auto_agencia = "0000000001", auto_cobrador = "0000000001", auto_vendedor = "0000000001", auto_codigo_anticipos = "0000000001", auto_codigo_cobrar = "0000000001", auto_codigo_ingresos = "0000000001", ci_rif = ficha.CiRif, razon_social = ficha.NombreRazonSocial, dir_fiscal = ficha.DireccionFiscal, telefono = ficha.Telefono, estatus = "Activo", estatus_credito = "0", categoria = "Eventual", tarifa = " ", dias_credito = 0, limite_credito = 0, doc_pendientes = 0, pais = "VZLA", fecha_alta = fechaSistema.Date, denominacion_fiscal = "No Contribuyente", codigo = "", nombre = "", dir_despacho = "", contacto = "", email = "", website = "", codigo_postal = "", retencion_iva = 0.0m, retencion_islr = 0.0m, descuento = 0.0m, recargo = 0.0m, estatus_morosidad = "0", estatus_lunes = "0", estatus_martes = "0", estatus_miercoles = "0", estatus_jueves = "0", estatus_viernes = "0", estatus_sabado = "0", estatus_domingo = "0", fecha_baja = new DateTime(2000, 01, 01), fecha_ult_pago = new DateTime(2000, 01, 01), fecha_ult_venta = new DateTime(2000, 01, 01), anticipos = 0.0m, debitos = 0.0m, creditos = 0.0m, saldo = 0.0m, disponible = 0.0m, memo = "", aviso = "", cuenta = "", iban = "", swit = "", dir_banco = "", descuento_pronto_pago = 0.0m, importe_ult_pago = 0.0m, importe_ult_venta = 0.0m, telefono2 = "", fax = "", celular = "", abc = " ", }; ctx.clientes.Add(ent); ctx.SaveChanges(); ts.Complete(); result.Auto = AutoCliente; } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoEntidad <DtoLibVenta.Cliente.DetalleResumen> ClienteDetalleResumen(string auto) { var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Cliente.DetalleResumen>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.clientes.Find(auto); if (q == null) { result.Mensaje = "[ ID ] CLIENTE NO ENCONTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var tarifa = DtoLibVenta.Cliente.Enumerados.enumTarifaPrecio.SinDefinir; var isActivo = q.estatus.Trim().ToUpper() == "ACTIVO"?true:false; var categoria = DtoLibVenta.Cliente.Enumerados.enumCategoria.SinDefinir; var isCreditoHabilitado = q.estatus_credito.Trim().ToUpper() == "1"?true:false; var denominacionFiscal = DtoLibVenta.Cliente.Enumerados.enumDenominacionFiscal.SinDefinir; switch (q.categoria.Trim().ToUpper()) { case "EVENTUAL": categoria = DtoLibVenta.Cliente.Enumerados.enumCategoria.Eventual; break; case "ADMINISTRATIVO": categoria = DtoLibVenta.Cliente.Enumerados.enumCategoria.Administrativo; break; } switch (q.tarifa.Trim().ToUpper()) { case "1": tarifa = DtoLibVenta.Cliente.Enumerados.enumTarifaPrecio.Tarifa_1; break; case "2": tarifa = DtoLibVenta.Cliente.Enumerados.enumTarifaPrecio.Tarifa_2; break; case "3": tarifa = DtoLibVenta.Cliente.Enumerados.enumTarifaPrecio.Tarifa_3; break; case "4": tarifa = DtoLibVenta.Cliente.Enumerados.enumTarifaPrecio.Tarifa_4; break; } switch (q.denominacion_fiscal.Trim().ToUpper()) { case "NO CONTRIBUYENTE": denominacionFiscal = DtoLibVenta.Cliente.Enumerados.enumDenominacionFiscal.NoContribuyente; break; case "CONTRIBUYENTE": denominacionFiscal = DtoLibVenta.Cliente.Enumerados.enumDenominacionFiscal.Contribuyente; break; } var ent = new DtoLibVenta.Cliente.DetalleResumen() { Auto = q.auto, AutoGrupo = q.auto_grupo, AutoCobrador = q.auto_cobrador, AutoVendedor = q.auto_vendedor, AutoEstado = q.auto_estado, AutoZona = q.auto_zona, Codigo = q.codigo, Nombre = q.razon_social, CiRif = q.ci_rif, DireccionFiscal = q.dir_fiscal, Contacto = q.contacto, Tarifa = tarifa, PorctDescuento = q.descuento, PorctRecargo = q.recargo, IsCreditoHabilitado = isCreditoHabilitado, DiasCredito = q.dias_credito, Categoria = categoria, LimitePorDocumento = q.doc_pendientes, LimitePorMonto = q.limite_credito, Notas = q.memo, Aviso = q.aviso, IsActivo = isActivo, Email = q.email, Telefono_1 = q.telefono, Telefono_2 = q.telefono2, Celular = q.celular, GrupoCodigo = q.clientes_grupo.codigo, GrupoDescripcion = q.clientes_grupo.nombre, ZonaCodigo = q.clientes_zonas.codigo, ZonaDescripcion = q.clientes_zonas.nombre, CobradorCodigo = q.empresa_cobradores.codigo, CobradorNombre = q.empresa_cobradores.nombre, VendedorCodigo = q.vendedores.codigo, VendedorNombre = q.vendedores.nombre, EstadoDescripcion = q.clientes_zonas.nombre, DenominacionFiscal = denominacionFiscal, }; result.Entidad = ent; } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoLista <DtoLibVenta.Cliente.PendientePorCobrar> ClienteDocPendientePorCobrar(string auto) { var result = new DtoLib.ResultadoLista <DtoLibVenta.Cliente.PendientePorCobrar>(); try { using (var cnn = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { var q = cnn.cxc.Where(w => w.auto_cliente == auto && w.tipo_documento.Trim().ToUpper() != "PAG").ToList(); q = q.Where(w => w.estatus_cancelado == "0").ToList(); q = q.Where(w => w.estatus_anulado == "0").ToList(); var list = new List <DtoLibVenta.Cliente.PendientePorCobrar>(); if (q != null) { if (q.Count() > 0) { result.Lista = q.Select(s => { var isAdministrativo = s.auto_documento == s.auto ? true : false; var tipoDocumento = DtoLibVenta.Cliente.Enumerados.enumTipoDocumentoPorCobrar.SinDefinir; switch (s.tipo_documento.Trim().ToUpper()) { case "FAC": tipoDocumento = DtoLibVenta.Cliente.Enumerados.enumTipoDocumentoPorCobrar.Factura; break; case "NCR": tipoDocumento = DtoLibVenta.Cliente.Enumerados.enumTipoDocumentoPorCobrar.NotaCredito; break; case "NDB": tipoDocumento = DtoLibVenta.Cliente.Enumerados.enumTipoDocumentoPorCobrar.NotaDebito; break; } var r = new DtoLibVenta.Cliente.PendientePorCobrar() { Abonado = s.acumulado, AutoDocumento = s.auto_documento, Documento = s.documento, FechaEmision = s.fecha, MontoDocumento = Math.Abs(s.importe), Signo = s.signo, TipoDocumento = tipoDocumento, IsAdministrativo = isAdministrativo, }; return(r); }).ToList(); } else { result.Lista = list; } } else { result.Lista = list; } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoAuto VentaAgregar(DtoLibVenta.Venta.Agregar ficha) { var result = new DtoLib.ResultadoAuto(); try { using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString)) { using (var ts = new TransactionScope()) { var r1 = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_ventas=a_ventas+1"); if (r1 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE VENTAS"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var r2 = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_cxc=a_cxc+1"); if (r2 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE CXC "; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var cntVenta = ctx.Database.SqlQuery <int>("select a_ventas from sistema_contadores").FirstOrDefault(); var cntCxC = ctx.Database.SqlQuery <int>("select a_cxc from sistema_contadores").FirstOrDefault(); var autoVenta = cntVenta.ToString().Trim().PadLeft(10, '0'); var autoCxC = cntCxC.ToString().Trim().PadLeft(10, '0'); var autoCxcPago = ""; var autoCxcRecibo = ""; var autoCxcReciboNumero = ""; if (ficha.CondicionPago == DtoLibVenta.Venta.Enumerados.enumCondicionPago.Contado) { var r3 = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_cxc_recibo=a_cxc_recibo+1"); if (r3 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE CXC RECIBO "; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var r4 = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_cxc_recibo_numero=a_cxc_recibo_numero+1"); if (r4 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE CXC RECIBO NUMERO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var r5 = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_cxc=a_cxc+1"); if (r5 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE CXC PAGO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var cntCxcRecibo = ctx.Database.SqlQuery <int>("select a_cxc_recibo from sistema_contadores").FirstOrDefault(); var cntCxcReciboNumero = ctx.Database.SqlQuery <int>("select a_cxc_recibo_numero from sistema_contadores").FirstOrDefault(); var cntCxcPago = ctx.Database.SqlQuery <int>("select a_cxc from sistema_contadores").FirstOrDefault(); autoCxcRecibo = cntCxcRecibo.ToString().Trim().PadLeft(10, '0'); autoCxcReciboNumero = cntCxcReciboNumero.ToString().Trim().PadLeft(10, '0'); autoCxcPago = cntCxcPago.ToString().Trim().PadLeft(10, '0'); } //VALORES A PROCESAR var fechaSistema = ctx.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var documentoVenta = ""; var fechaVencimiento = fechaSistema.AddDays(ficha.DiasCredito); var entVenta = new LibEntityVentas.ventas() { auto = autoVenta, documento = documentoVenta, fecha = fechaSistema.Date, fecha_vencimiento = fechaVencimiento, razon_social = ficha.ClienteNombre, dir_fiscal = ficha.ClienteDirFiscal, ci_rif = ficha.ClienteCiRif, tipo = ficha.DocumentoCodigo, exento = ficha.AgregarTotales.MontoExento, base1 = ficha.AgregarTotales.MontoBase1, base2 = ficha.AgregarTotales.MontoBase2, base3 = ficha.AgregarTotales.MontoBase3, impuesto1 = ficha.AgregarTotales.MontoImp1, impuesto2 = ficha.AgregarTotales.MontoImp2, impuesto3 = ficha.AgregarTotales.MontoImp3, @base = ficha.AgregarTotales.MontoBase, impuesto = ficha.AgregarTotales.MontoImpuesto, total = ficha.AgregarTotales.MontoTotal, tasa1 = ficha.AgregarTotales.Tasa1, tasa2 = ficha.AgregarTotales.Tasa2, tasa3 = ficha.AgregarTotales.Tasa3, nota = ficha.Notas, tasa_retencion_islr = 0.0m, tasa_retencion_iva = 0.0m, retencion_iva = 0.0m, retencion_islr = 0.0m, auto_cliente = ficha.AutoCliente, codigo_cliente = ficha.ClienteCodigo, mes_relacion = ficha.MesRelacion, control = ficha.SerialFiscal, fecha_registro = fechaSistema.Date, orden_compra = ficha.AgregarEncabezado.OrdenCompra, dias = ficha.DiasCredito, descuento1 = ficha.AgregarTotales.DescuentoMonto_1, descuento2 = ficha.AgregarTotales.DescuentoMonto_2, cargos = ficha.AgregarTotales.CargoMonto, descuento1p = ficha.AgregarTotales.DescuentoPorct_1, descuento2p = ficha.AgregarTotales.DescuentoPorct_2, cargosp = ficha.AgregarTotales.CargoPorct, columna = "1", estatus_anulado = "0", aplica = "", comprobante_retencion = "", subtotal_neto = ficha.AgregarTotales.SubTotalNeto, telefono = ficha.ClienteTelefono, factor_cambio = ficha.FactorCambio, codigo_vendedor = ficha.VendedorCodigo, vendedor = ficha.VendedorNombre, auto_vendedor = ficha.AutoVendedor, fecha_pedido = ficha.AgregarEncabezado.FechaPedido, pedido = ficha.AgregarEncabezado.Pedido, condicion_pago = ficha.CondicionPagoDescripcion, usuario = ficha.UsuarioNombre, codigo_usuario = ficha.UsuarioCodigo, codigo_sucursal = ficha.CodigoSucursal, hora = fechaSistema.ToShortTimeString(), transporte = ficha.TransporteNombre, codigo_transporte = ficha.TransporteCodigo, monto_divisa = ficha.AgregarTotales.MontoDivisa, despachado = ficha.AgregarEncabezado.DepachadoPor, dir_despacho = ficha.AgregarEncabezado.DireccionDespacho, estacion = ficha.Estacion, auto_recibo = autoCxcRecibo, recibo = autoCxcReciboNumero, renglones = ficha.Renglones, saldo_pendiente = ficha.AgregarTotales.SaldoPendiente, ano_relacion = ficha.AnoRelacion, comprobante_retencion_islr = "", dias_validez = 0, auto_usuario = ficha.AutoUsuario, auto_transporte = ficha.AutoTransporte, situacion = ficha.DocumentoSituacion, signo = ficha.DocumentoSigno, serie = ficha.AgregarEncabezado.Serie, tarifa = ficha.ClienteTarifa, tipo_remision = ficha.AgregarEncabezado.TipoRemision, documento_remision = ficha.AgregarEncabezado.DocumentoRemision, auto_remision = ficha.AgregarEncabezado.AutoRemision, documento_nombre = ficha.DocumentoNombre, subtotal_impuesto = ficha.AgregarTotales.MontoImpuesto, subtotal = ficha.AgregarTotales.SubTotal, auto_cxc = autoCxC, tipo_cliente = "", planilla = "", expediente = "", anticipo_iva = 0.0m, terceros_iva = 0.0m, neto = ficha.AgregarTotales.VentaNeta, costo = ficha.AgregarTotales.CostoVenta, utilidad = ficha.AgregarTotales.Utilidad, utilidadp = ficha.AgregarTotales.UtilidadPorc, documento_tipo = ficha.DocumentoTipo, ci_titular = "", nombre_titular = "", ci_beneficiario = "", nombre_beneficiario = "", clave = "", denominacion_fiscal = ficha.ClienteDenominacionFiscal, cambio = ficha.CambioDar, estatus_validado = "0", cierre = "", fecha_retencion = new DateTime(2000, 01, 01), estatus_cierre_contable = "0", }; ctx.ventas.Add(entVenta); ctx.SaveChanges(); var sql = @"INSERT INTO ventas_detalle (auto_documento, auto_producto, codigo, nombre, auto_departamento, auto_grupo, auto_subgrupo, auto_deposito, cantidad, empaque, precio_neto, descuento1p, descuento2p, descuento3p, descuento1, descuento2, descuento3, costo_venta, total_neto, tasa, impuesto, total, auto, estatus_anulado, fecha, tipo, deposito, signo, precio_final, auto_cliente, decimales, contenido_empaque, cantidad_und, precio_und, costo_und, utilidad, utilidadp, precio_item, estatus_garantia, estatus_serial, codigo_deposito, dias_garantia, detalle, precio_sugerido, auto_tasa, estatus_corte, x, y, z, corte, categoria, cobranzap, ventasp, cobranzap_vendedor, ventasp_vendedor, cobranza, ventas, cobranza_vendedor, ventas_vendedor, costo_promedio_und, costo_compra, estatus_checked, tarifa, total_descuento, codigo_vendedor, auto_vendedor, hora) Values ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, {20}, {21}, {22}, {23}, {24}, {25}, {26}, {27}, {28}, {29}, {30}, {31}, {32}, {33}, {34}, {35}, {36}, {37}, {38}, {39}, {40}, {41}, {42}, {43}, {44}, {45}, {46}, {47}, {48}, {49}, {50}, {51}, {52}, {53}, {54}, {55}, {56}, {57}, {58}, {59}, {60}, {61}, {62}, {63}, {64}, {65}, {66})"; //CUERPO DEL DOCUMENTO => ITEMS var item = 0; foreach (var dt in ficha.AgregarCuerpo) { item += 1; var autoItem = item.ToString().Trim().PadLeft(10, '0'); var isGarantia = dt.IsGarantia ? "1" : "0"; var isSerial = dt.IsSerial ? "1" : "0"; var vd = ctx.Database.ExecuteSqlCommand(sql, autoVenta, dt.AutoProducto, dt.CodigoPrd, dt.NombrePrd, dt.AutoDepartamento, dt.AutoGrupo, dt.AutoSubGrupo, dt.AutoDeposito, dt.Cantidad, dt.Empaque, dt.PrecioNeto, dt.DescuentoPorc_1, dt.DescuentoPorc_2, dt.DescuentoPorc_3, dt.DescuentoMonto_1, dt.DescuentoMonto_2, dt.DescuentoMonto_3, dt.CostoVenta, dt.TotalNeto, dt.TasaIva, dt.MontoImpuesto, dt.MontoTotal, autoItem, "0", fechaSistema.Date, dt.Tipo, dt.DepositoDescripcion, dt.Signo, dt.PrecioFinal, dt.AutoCliente, dt.Decimales, dt.EmpaqueContenido, dt.CantidadUnd, dt.PrecioUnd, dt.CostoUnd, dt.UtilidadMonto, dt.UtilidadPorc, dt.PrecioItem, isGarantia, isSerial, dt.DepositoCodigo, dt.DiasGarantia, dt.Notas, 0.0m, dt.AutoTasaImpuesto, "0", 0.0m, 0.0m, 0.0m, "", dt.Categoria, 0.0m, 0.0m, 0.0m, 0.0m, 0.0m, 0.0m, 0.0m, 0.0m, dt.CostoPromedioUnd, dt.CostoPromedioCompra, "1", dt.TarifaPrecio, dt.MontoDescuento, dt.VendedorCodigo, dt.AutoVendedor, fechaSistema.ToShortTimeString()); if (vd == 0) { result.Mensaje = "PROBLEMA AL REGISTRAR ITEM [ " + Environment.NewLine + dt.NombrePrd + " ]"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } //DEPOSITO ACTUALIZAR foreach (var dt in ficha.AgregarActProductoDeposito) { var entPrdDeposito = ctx.productos_deposito.FirstOrDefault(w => w.auto_producto == dt.AutoProducto && w.auto_deposito == dt.AutoDeposito); if (entPrdDeposito == null) { result.Mensaje = "PROBLEMA AL ACTUALIZAR DEPOSITO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } entPrdDeposito.fisica -= dt.TotalUnd; entPrdDeposito.disponible -= dt.TotalUnd; ctx.SaveChanges(); } var sql2 = @"INSERT INTO productos_kardex (auto_producto,total,auto_deposito,auto_concepto,auto_documento, fecha,hora,documento,modulo,entidad,signo,cantidad,cantidad_bono,cantidad_und,costo_und,estatus_anulado, nota,precio_und,codigo,siglas) VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15},{16}, {17}, {18}, {19})"; //KARDEX MOV=> ITEMS foreach (var dt in ficha.AgregarKardex) { var vk = ctx.Database.ExecuteSqlCommand(sql2, dt.AutoProducto, dt.TotalCostoVenta, dt.AutoDeposito, dt.AutoConcepto, autoVenta, fechaSistema.Date, fechaSistema.ToShortTimeString(), documentoVenta, dt.Modulo, dt.Entidad, dt.Signo, dt.Cantidad, 0.0m, dt.CantidadUnd, dt.CostoPromedioUnd, "0", dt.Notas, dt.PrecioUnd, dt.Codigo, dt.Siglas); if (vk == 0) { result.Mensaje = "PROBLEMA AL REGISTRAR MOVIMIENTO KARDEX [ " + Environment.NewLine + dt.AutoProducto + " ]"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } ; //REGISTRA MOVIMIENTO DE CXC var entCxC = new LibEntityVentas.cxc() { auto = autoCxC, c_cobranza = 0.0m, c_cobranzap = 0.0m, fecha = fechaSistema.Date, tipo_documento = ficha.AgregarCxc.DocumentoVentaTipo, // "FAC", documento = documentoVenta, fecha_vencimiento = fechaVencimiento, nota = ficha.AgregarCxc.Notas, //"", importe = ficha.AgregarCxc.MontoImporteTotal, //.AgregarTotales.MontoTotal, acumulado = ficha.AgregarCxc.MontoAcumulado, // acumulado, auto_cliente = ficha.AgregarCxc.AutoCliente, // ficha.AutoCliente, cliente = ficha.AgregarCxc.ClienteNombre, // ficha.ClienteNombre, ci_rif = ficha.AgregarCxc.ClienteCiRif, // ficha.ClienteCiRif, codigo_cliente = ficha.AgregarCxc.ClienteCodigo, //ficha.ClienteCodigo, estatus_cancelado = ficha.AgregarCxc.IsCancelado?"1":"0", // estatusCancelado, resta = ficha.AgregarCxc.MontoResta, //resta, estatus_anulado = "0", auto_documento = autoVenta, numero = "", auto_agencia = "0000000001", agencia = "", signo = ficha.AgregarCxc.Signo, // 1, auto_vendedor = ficha.AgregarCxc.AutoVendedor, // ficha.AutoVendedor, c_departamento = 0.0m, c_ventas = 0.0m, c_ventasp = 0.0m, serie = ficha.AgregarCxc.DocumentoVentaSerie, // ficha.AgregarEncabezado.Serie, importe_neto = ficha.AgregarCxc.MontoImporteNeto, // ficha.AgregarTotales.SubTotalNeto, dias = 0, castigop = 0.0m, }; ctx.cxc.Add(entCxC); ctx.SaveChanges(); //SI LA FORMA DE PAGO ES CONTADO, GENERA MOVIMIENTO DE PAGO if (ficha.CondicionPago == DtoLibVenta.Venta.Enumerados.enumCondicionPago.Contado) { var entCliente = ctx.clientes.Find(ficha.AutoCliente); if (entCliente == null) { result.Mensaje = "PROBLEMA AL ACTUALIZAR ENTIDAD [ CLIENTE ]"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } entCliente.fecha_ult_venta = fechaSistema; ctx.SaveChanges(); var entCxcPago = new LibEntityVentas.cxc() { auto = autoCxcPago, c_cobranza = 0.0m, c_cobranzap = 0.0m, fecha = fechaSistema.Date, tipo_documento = "PAG", //EL PAGO HACE REFENCIA AL RECIBO GENERADO DE CXC documento = autoCxcReciboNumero, //EL PAGO HACE REFENCIA AL RECIBO GENERADO DE CXC fecha_vencimiento = fechaVencimiento, nota = ficha.Notas, importe = ficha.AgregarTotales.MontoTotal, acumulado = 0, auto_cliente = ficha.AutoCliente, cliente = ficha.ClienteNombre, ci_rif = ficha.ClienteCiRif, codigo_cliente = ficha.ClienteCodigo, estatus_cancelado = "0", resta = 0.0m, estatus_anulado = "0", auto_documento = autoCxcRecibo, //EL PAGO HACE REFENCIA AL RECIBO GENERADO DE CXC numero = "", auto_agencia = "0000000001", agencia = "", signo = -1, auto_vendedor = ficha.AutoVendedor, c_departamento = 0.0m, c_ventas = 0.0m, c_ventasp = 0.0m, serie = "", importe_neto = 0.0m, dias = 0, castigop = 0.0m, }; ctx.cxc.Add(entCxcPago); ctx.SaveChanges(); var entCxcRecibo = new LibEntityVentas.cxc_recibos() { auto = autoCxcRecibo, documento = autoCxcReciboNumero, fecha = fechaSistema, auto_usuario = ficha.AutoUsuario, importe = ficha.AgregarTotales.MontoTotal, usuario = ficha.UsuarioNombre, monto_recibido = ficha.MontoRecibido, cobrador = ficha.CobradorNombre, auto_cliente = ficha.AutoCliente, cliente = ficha.ClienteNombre, ci_rif = ficha.ClienteCiRif, codigo = ficha.ClienteCodigo, estatus_anulado = "0", direccion = ficha.ClienteDirFiscal, telefono = ficha.ClienteTelefono, auto_cobrador = ficha.AutoCobrador, anticipos = 0.0m, cambio = ficha.CambioDar, nota = ficha.Notas, codigo_cobrador = ficha.CobradorCodigo, auto_cxc = autoCxC, retenciones = 0.0m, descuentos = 0.0m, hora = "", cierre = "", }; ctx.cxc_recibos.Add(entCxcRecibo); ctx.SaveChanges(); var entCxcDocumento = new LibEntityVentas.cxc_documentos() { id = 1, fecha = fechaSistema.Date, tipo_documento = "FAC", documento = documentoVenta, importe = ficha.AgregarTotales.MontoTotal, operacion = "Pago", auto_cxc = autoCxC, auto_cxc_pago = autoCxcPago, auto_cxc_recibo = autoCxcRecibo, numero_recibo = autoCxcReciboNumero, fecha_recepcion = new DateTime(2000, 01, 01), dias = 0, castigop = 0.0m, comisionp = 0.0m, }; ctx.cxc_documentos.Add(entCxcDocumento); ctx.SaveChanges(); foreach (var fp in ficha.AgregarFormaPago) { var entCxcMedioPago = new LibEntityVentas.cxc_medio_pago() { auto_recibo = autoCxcRecibo, auto_medio_pago = fp.AutoMedioPago, auto_agencia = fp.AutoAgencia, medio = fp.MedioPagoDescripcion, codigo = fp.MedioPagoCodigo, monto_recibido = fp.MontoRecibido, fecha = fechaSistema, estatus_anulado = "0", numero = fp.NumeroRef, agencia = fp.AgenciaDescripcion, auto_usuario = ficha.AutoUsuario, lote = fp.Lote, referencia = fp.Referencia, auto_cobrador = ficha.AutoCobrador, cierre = "", fecha_agencia = new DateTime(2001, 01, 01), }; ctx.cxc_medio_pago.Add(entCxcMedioPago); ctx.SaveChanges(); } } else { var entCliente = ctx.clientes.Find(ficha.AutoCliente); if (entCliente == null) { result.Mensaje = "PROBLEMA AL ACTUALIZAR ENTIDAD [ CLIENTE ]"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } entCliente.fecha_ult_venta = fechaSistema; entCliente.saldo += ficha.AgregarTotales.MontoTotal; entCliente.disponible -= ficha.AgregarTotales.MontoTotal; ctx.SaveChanges(); } ts.Complete(); result.Auto = autoVenta; } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { var msg = ""; foreach (var eve in e.Entries) { //msg += eve.m; foreach (var ve in eve.CurrentValues.PropertyNames) { msg += ve.ToString(); } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }