//VENDEDORES
        public OOB.Resultado.ResultadoLista <OOB.Reportes.CtaxCobrar.Vendedores.Documento> Reporte_CtaxCobrar_Vendedores_Documentos(OOB.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
        {
            var result = new OOB.Resultado.ResultadoLista <OOB.Reportes.CtaxCobrar.Vendedores.Documento>();

            try
            {
                var filtrosDTO = new DTO.Reportes.CtaxCobrar.Vendedores.Filtro();
                filtrosDTO.Desde = filtros.Desde;
                filtrosDTO.Hasta = filtros.Hasta;
                if (filtros.Vendedor != null)
                {
                    filtrosDTO.IdVendedor = filtros.Vendedor.IdAuto;
                }

                var resultDTO = _servicio.Reporte_CtaxCobrar_Vendedores_Documentos(filtrosDTO);
                if (resultDTO.Result == DTO.EnumResult.isError)
                {
                    throw new Exception(resultDTO.Mensaje);
                }

                if (resultDTO.Lista != null)
                {
                    result.cntRegistro = resultDTO.cntRegistro;
                    result.Lista       = resultDTO.Lista.Select(it =>
                    {
                        return(new OOB.Reportes.CtaxCobrar.Vendedores.Documento()
                        {
                            DocFechaEmision = it.DocFechaEmision,
                            DocSerie = it.DocSerie,
                            DocNumero = it.DocNumero,
                            DocTipo = (OOB.Reportes.CtaxCobrar.Enumerados.DocVenta)it.DocTipo,
                            DocCondicionPago = (OOB.Reportes.CtaxCobrar.Enumerados.CondicionPago)it.DocCondicionPago,
                            DocDiasCredito = it.DocDiasCredito,
                            DocSubtotal = it.DocSubtotal,
                            DocTotal = it.DocTotal,
                            DocSigno = it.DocSigno,
                            ClienteCodigo = it.ClienteCodigo,
                            ClienteNombre = it.ClienteNombre,
                            ClienteRif = it.ClienteRif,
                            VendedorCodigo = it.VendedorCodigo,
                            VendedorNombre = it.VendedorNombre,
                            VendedorId = it.VendedorId,
                        });
                    }).ToList();
                }
                else
                {
                    result.Lista = new List <OOB.Reportes.CtaxCobrar.Vendedores.Documento>();
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = OOB.Resultado.EnumResult.isError;
            }
            return(result);
        }
        public OOB.Resultado.ResultadoLista <OOB.Reportes.CtaxCobrar.Vendedores.Consolidado> Reporte_CtaxCobrar_Vendedores_Consolidado(OOB.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
        {
            var result = new OOB.Resultado.ResultadoLista <OOB.Reportes.CtaxCobrar.Vendedores.Consolidado>();

            try
            {
                var filtrosDTO = new DTO.Reportes.CtaxCobrar.Vendedores.Filtro();
                filtrosDTO.Desde = filtros.Desde;
                filtrosDTO.Hasta = filtros.Hasta;
                if (filtros.Vendedor != null)
                {
                    filtrosDTO.IdVendedor = filtros.Vendedor.IdAuto;
                }

                var resultDTO = _servicio.Reporte_CtaxCobrar_Vendedores_Consolidado(filtrosDTO);
                if (resultDTO.Result == DTO.EnumResult.isError)
                {
                    throw new Exception(resultDTO.Mensaje);
                }

                if (resultDTO.Lista != null)
                {
                    result.cntRegistro = resultDTO.cntRegistro;
                    result.Lista       = resultDTO.Lista.Select(it =>
                    {
                        return(new OOB.Reportes.CtaxCobrar.Vendedores.Consolidado()
                        {
                            VendedorCodigo = it.VendedorCodigo,
                            VendedorNombre = it.VendedorNombre,
                            VendedorId = it.VendedorId,
                            MontoBaseVenta = it.MontoBaseVenta,
                            MontoExcentoVenta = it.MontoExcentoVenta,
                            MontoImpuestoVenta = it.MontoImpuestoVenta,
                            MontoBaseNcr = it.MontoBaseNcr,
                            MontoImpuestoNcr = it.MontoImpuestoNcr,
                            MontoTotalNcr = it.MontoTotalNcr,
                            MontoTotalVenta = it.MontoTotalVenta,
                        });
                    }).ToList();
                }
                else
                {
                    result.Lista = new List <OOB.Reportes.CtaxCobrar.Vendedores.Consolidado>();
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = OOB.Resultado.EnumResult.isError;
            }
            return(result);
        }
        public OOB.Resultado.ResultadoLista <OOB.Reportes.CtaxCobrar.Vendedores.ComisionPagar> Reporte_CtaxCobrar_Vendedores_ComisionesPagar(OOB.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
        {
            var result = new OOB.Resultado.ResultadoLista <OOB.Reportes.CtaxCobrar.Vendedores.ComisionPagar>();

            try
            {
                var filtrosDTO = new DTO.Reportes.CtaxCobrar.Vendedores.Filtro();
                var resultDTO  = _servicio.Reporte_CtaxCobrar_Vendedores_ComisionesPagar(filtrosDTO);
                if (resultDTO.Result == DTO.EnumResult.isError)
                {
                    throw new Exception(resultDTO.Mensaje);
                }

                if (resultDTO.Lista != null)
                {
                    result.cntRegistro = resultDTO.cntRegistro;
                    result.Lista       = resultDTO.Lista.Select(it =>
                    {
                        return(new OOB.Reportes.CtaxCobrar.Vendedores.ComisionPagar()
                        {
                            ClienteCodigo = it.ClienteCodigo,
                            DocPagoNumero = it.DocPagoNumero,
                            DocVentaNumero = it.DocVentaNumero,
                            FechaRecepcionMerc = it.FechaRecepcionMerc,
                            FechaMovPago = it.FechaMovPago,
                            DiasTranscurrido = it.DiasTranscurrido,
                            BaseComision = it.BaseComision,
                            ComisionPorc = it.ComisionPorc,
                            ComisionCastigo = it.ComisionCastigo,
                            AplicaCastigo = it.AplicaCastigo,
                            Importe = it.Importe,
                            VendedorCodigo = it.VendedorCodigo,
                            VendedorNombre = it.VendedorNombre,
                            VendedorId = it.VendedorId,
                        });
                    }).ToList();
                }
                else
                {
                    result.Lista = new List <OOB.Reportes.CtaxCobrar.Vendedores.ComisionPagar>();
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = OOB.Resultado.EnumResult.isError;
            }
            return(result);
        }
 public DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.ComisionesPagar> Reporte_CtaxCobrar_Vendedores_ComisionesPagar(DTO.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
 {
     return(provider.Reporte_CtaxCobrar_Vendedores_ComisionesPagar(filtros));
 }
 public DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.Consolidado> Reporte_CtaxCobrar_Vendedores_Consolidado(DTO.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
 {
     return(provider.Reporte_CtaxCobrar_Vendedores_Consolidado(filtros));
 }
 // VENDEDORES
 public DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.Documentos> Reporte_CtaxCobrar_Vendedores_Documentos(DTO.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
 {
     return(provider.Reporte_CtaxCobrar_Vendedores_Documentos(filtros));
 }
        //VENDEDORES
        public DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.Documentos> Reporte_CtaxCobrar_Vendedores_Documentos(DTO.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
        {
            var result = new DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.Documentos>();

            try
            {
                using (var ctx = new dBEntities(_cn.ConnectionString))
                {
                    var q = ctx.ventas.
                            Where(d => d.tipo == "01" || d.tipo == "02" || d.tipo == "03").
                            Where(d => d.estatus_anulado == "0").
                            ToList();

                    if (filtros.Desde.HasValue)
                    {
                        q = q.Where(d => d.fecha >= filtros.Desde.Value).ToList();
                    }
                    if (filtros.Hasta.HasValue)
                    {
                        q = q.Where(d => d.fecha <= filtros.Hasta.Value).ToList();
                    }
                    if (!string.IsNullOrEmpty(filtros.IdVendedor))
                    {
                        q = q.Where(d => d.auto_vendedor == filtros.IdVendedor).ToList();
                    }

                    if (q.Count > 0)
                    {
                        var list = q.Select(d =>
                        {
                            var tipo = DTO.Reportes.CtaxCobrar.Enumerados.DocVenta.SinDefinir;
                            switch (d.tipo.Trim().ToUpper())
                            {
                            case "01":
                                tipo = DTO.Reportes.CtaxCobrar.Enumerados.DocVenta.Factura;
                                break;

                            case "02":
                                tipo = DTO.Reportes.CtaxCobrar.Enumerados.DocVenta.NtDebito;
                                break;

                            case "03":
                                tipo = DTO.Reportes.CtaxCobrar.Enumerados.DocVenta.NtCredito;
                                break;
                            }
                            return(new DTO.Reportes.CtaxCobrar.Vendedores.Documentos()
                            {
                                DocFechaEmision = d.fecha,
                                DocSerie = d.serie,
                                DocNumero = d.documento,
                                DocTipo = tipo,
                                DocCondicionPago = (d.condicion_pago.Trim().ToUpper() == "CONTADO"?
                                                    DTO.Reportes.CtaxCobrar.Enumerados.CondicionPago.Contado:
                                                    DTO.Reportes.CtaxCobrar.Enumerados.CondicionPago.Credito),
                                DocDiasCredito = d.dias,
                                DocSubtotal = (d.total - d.impuesto),
                                DocTotal = d.total,
                                DocSigno = d.signo,
                                ClienteRif = d.ci_rif,
                                ClienteCodigo = d.codigo_cliente,
                                ClienteNombre = d.razon_social,
                                VendedorId = d.auto_vendedor,
                                VendedorCodigo = d.codigo_vendedor,
                                VendedorNombre = d.vendedor,
                            });
                        }).ToList();
                        result.cntRegistro = list.Count();
                        result.Lista       = list;
                    }
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DTO.EnumResult.isError;
            }

            return(result);
        }
        public DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.ComisionesPagar> Reporte_CtaxCobrar_Vendedores_ComisionesPagar(DTO.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
        {
            var result = new DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.ComisionesPagar>();

            //try
            //{
            //    using (var ctx = new dBEntities(_cn.ConnectionString))
            //    {
            //        var q = ctx.vendedores_comisiones.
            //            Where(d => d.estatus_anulado == "0").
            //            ToList();

            //        if (filtros.Desde.HasValue)
            //        {
            //            q = q.Where(d => d.fecha >= filtros.Desde.Value).ToList();
            //        }
            //        if (filtros.Hasta.HasValue)
            //        {
            //            q = q.Where(d => d.fecha <= filtros.Hasta.Value).ToList();
            //        }
            //        if (!string.IsNullOrEmpty(filtros.IdVendedor))
            //        {
            //            q = q.Where(d => d.auto_vendedor == filtros.IdVendedor).ToList();
            //        }

            //        if (q.Count > 0)
            //        {
            //            var list = q.Select(d =>
            //            {
            //                var docPagoNumero="";
            //                var entCxC = ctx.cxc.Find(d.auto_cxc);
            //                //var entMedioPago=ctx.cxc_medio_pago.FirstOrDefault(t=>t.id==d.idCxcMedioPago);
            //                //if (entMedioPago!=null)
            //                //{
            //                //    var entRecibo = ctx.cxc_recibos.Find(entMedioPago.auto_recibo);
            //                //    if (entRecibo!=null)
            //                //    {
            //                //        docPagoNumero=entRecibo.documento;
            //                //    }
            //                //}
            //                return new DTO.Reportes.CtaxCobrar.Vendedores.ComisionesPagar()
            //                {
            //                    ClienteCodigo=entCxC.codigo_cliente,
            //                    DocPagoNumero=docPagoNumero,
            //                    DocVentaNumero=entCxC.documento,
            //                    FechaRecepcionMerc=d.fecha_recepcion,
            //                    FechaMovPago=d.fecha_agencia,
            //                    DiasTranscurrido=d.dias_transcurridos,
            //                    BaseComision=d.base_comision,
            //                    ComisionPorc=d.comisionp,
            //                    ComisionCastigo=d.castigop,
            //                    AplicaCastigo=d.estatus_castigo=="1"?true:false,
            //                    Importe=d.importe,
            //                    VendedorId = d.auto_vendedor,
            //                    VendedorCodigo = d.codigo_vendedor,
            //                    VendedorNombre = d.vendedor,
            //                };
            //            }).ToList();
            //            result.cntRegistro = list.Count();
            //            result.Lista = list;
            //        }
            //    }
            //}
            //catch (Exception e)
            //{
            //    result.Mensaje = e.Message;
            //    result.Result = DTO.EnumResult.isError;
            //}

            return(result);
        }
        public DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.Consolidado> Reporte_CtaxCobrar_Vendedores_Consolidado(DTO.Reportes.CtaxCobrar.Vendedores.Filtro filtros)
        {
            var result = new DTO.ResultadoLista <DTO.Reportes.CtaxCobrar.Vendedores.Consolidado>();

            try
            {
                using (var ctx = new dBEntities(_cn.ConnectionString))
                {
                    var q = ctx.ventas.
                            Where(d => d.estatus_anulado == "0").
                            Where(d => d.tipo == "01" || d.tipo == "03").
                            ToList();

                    if (filtros.Desde.HasValue)
                    {
                        q = q.Where(d => d.fecha >= filtros.Desde.Value).ToList();
                    }
                    if (filtros.Hasta.HasValue)
                    {
                        q = q.Where(d => d.fecha <= filtros.Hasta.Value).ToList();
                    }
                    if (!string.IsNullOrEmpty(filtros.IdVendedor))
                    {
                        q = q.Where(d => d.auto_vendedor == filtros.IdVendedor).ToList();
                    }

                    if (q.Count > 0)
                    {
                        var list = q.Select(d =>
                        {
                            var xbaseVta     = 0.0m;
                            var ximpuestoVta = 0.0m;
                            var xexcentoVta  = 0.0m;
                            var xbaseNcr     = 0.0m;
                            var ximpuestoNcr = 0.0m;
                            var xtotalVta    = 0.0m;
                            var xtotalNcr    = 0.0m;

                            var tipo = DTO.Reportes.CtaxCobrar.Enumerados.DocVenta.SinDefinir;
                            switch (d.tipo.Trim().ToUpper())
                            {
                            case "01":
                                xbaseVta     = d.mbase;
                                ximpuestoVta = d.impuesto;
                                xexcentoVta  = d.exento;
                                xtotalVta    = d.total;
                                break;

                            case "03":
                                xbaseNcr     = d.mbase;
                                ximpuestoNcr = d.impuesto;
                                xtotalNcr    = d.total;
                                break;
                            }
                            return(new DTO.Reportes.CtaxCobrar.Vendedores.Consolidado()
                            {
                                VendedorId = d.auto_vendedor,
                                VendedorCodigo = d.codigo_vendedor,
                                VendedorNombre = d.vendedor,
                                MontoBaseVenta = xbaseVta,
                                MontoExcentoVenta = xexcentoVta,
                                MontoImpuestoVenta = ximpuestoVta,
                                MontoBaseNcr = xbaseNcr,
                                MontoImpuestoNcr = ximpuestoNcr,
                                MontoTotalNcr = xtotalNcr,
                                MontoTotalVenta = xtotalVta,
                            });
                        }).ToList();

                        result.cntRegistro = list.Count();
                        result.Lista       = list;
                    }
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DTO.EnumResult.isError;
            }

            return(result);
        }