Beispiel #1
0
        public bool GuardarNotaDebito(NotaDebitoBe registro, out int nroComprobante, out string totalEnLetras)
        {
            nroComprobante = 0;
            totalEnLetras  = null;
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    int codigoNotaDebito = 0;
                    seGuardo = notaDebitoDa.GuardarNotaDebito(registro, cn, out codigoNotaDebito, out nroComprobante, out totalEnLetras);
                    if (registro.ListaNotaDebitoDetalle != null && seGuardo)
                    {
                        foreach (NotaDebitoDetalleBe item in registro.ListaNotaDebitoDetalle)
                        {
                            if (item.CodigoNotaDebito == 0)
                            {
                                item.CodigoNotaDebito = codigoNotaDebito;
                            }
                            seGuardo = notaDebitoDetalleDa.GuardarNotaDebitoDetalle(item, cn);
                            if (!seGuardo)
                            {
                                break;
                            }
                            else
                            {
                                seGuardo = productoIndividualDa.RegenerarProductoIndividual(item.CodigoProductoIndividual, item.Cantidad, registro.UsuarioModi, cn);
                            }
                        }
                    }

                    if (registro.ListaNotaDebitoDetalleEliminar != null && seGuardo)
                    {
                        foreach (int codigoNotaDebitoDetalle in registro.ListaNotaDebitoDetalleEliminar)
                        {
                            seGuardo = notaDebitoDetalleDa.EliminarNotaDebitoDetalle(codigoNotaDebitoDetalle, registro.UsuarioModi, cn);
                            if (!seGuardo)
                            {
                                break;
                            }
                        }
                    }

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
Beispiel #2
0
        public NotaDebitoBe ObtenerNotaDebito(int codigoNotaDebito, bool withDetalle = false, bool withUnidadMedida = false)
        {
            NotaDebitoBe item = null;

            try
            {
                cn.Open();
                item = notaDebitoDa.ObtenerNotaDebito(codigoNotaDebito, cn);
                if (withDetalle)
                {
                    item.ListaNotaDebitoDetalle = notaDebitoDetalleDa.ListarNotaDebitoDetalle(codigoNotaDebito, cn);
                }
                if (withUnidadMedida)
                {
                    if (item.ListaNotaDebitoDetalle != null)
                    {
                        foreach (var detalle in item.ListaNotaDebitoDetalle)
                        {
                            if (withUnidadMedida)
                            {
                                detalle.UnidadMedida = unidadMedidaDa.ObtenerUnidadMedida(detalle.CodigoUnidadMedida, cn);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(item);
        }
Beispiel #3
0
        public bool GuardarEmisionNotaDebito(NotaDebitoBe registro)
        {
            bool seGuardo = false;

            try
            {
                cn.Open();
                seGuardo = notaDebitoDa.GuardarEmisionNotaDebito(registro, cn);
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
Beispiel #4
0
        public bool GuardarEmisionNotaDebito(NotaDebitoBe registro, SqlConnection cn)
        {
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_notadebito_guardar_emision", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoNotaDebito", registro.CodigoNotaDebito.GetNullable());
                    cmd.Parameters.AddWithValue("@hash", registro.Hash.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoRptaSunat", registro.CodigoRptaSunat.GetNullable());
                    cmd.Parameters.AddWithValue("@descripcionRptaSunat", registro.DescripcionRptaSunat.GetNullable());
                    cmd.Parameters.AddWithValue("@flagEmitido", registro.FlagEmitido.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());
                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(seGuardo);
        }
Beispiel #5
0
        public NotaDebitoBe ObtenerNotaDebito(int codigoNotaDebito, SqlConnection cn)
        {
            NotaDebitoBe item = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_notadebito_obtener", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoNotaDebito", codigoNotaDebito.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            item = new NotaDebitoBe();

                            if (dr.Read())
                            {
                                item.CodigoNotaDebito          = dr.GetData <int>("CodigoNotaDebito");
                                item.CodigoSerie               = dr.GetData <int>("CodigoSerie");
                                item.NroComprobante            = dr.GetData <int>("NroComprobante");
                                item.FechaHoraEmision          = dr.GetData <DateTime>("FechaHoraEmision");
                                item.CodigoCliente             = dr.GetData <int>("CodigoCliente");
                                item.DireccionCliente          = dr.GetData <string>("DireccionCliente");
                                item.NombrePaisCliente         = dr.GetData <string>("NombrePaisCliente");
                                item.NombreDepartamentoCliente = dr.GetData <string>("NombreDepartamentoCliente");
                                item.NombreProvinciaCliente    = dr.GetData <string>("NombreProvinciaCliente");
                                item.NombreDistritoCliente     = dr.GetData <string>("NombreDistritoCliente");
                                item.CodigoDistritoCliente     = dr.GetData <int>("CodigoDistritoCliente");
                                item.CodigoMoneda              = dr.GetData <int>("CodigoMoneda");
                                item.CodigoMotivoNota          = dr.GetData <int>("CodigoMotivoNota");
                                item.CodigoTipoComprobanteRef  = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.CodigoComprobanteRef      = dr.GetData <int>("CodigoComprobanteRef");
                                item.TotalOperacionGravada     = dr.GetData <decimal>("TotalOperacionGravada");
                                item.TotalOperacionInafecta    = dr.GetData <decimal>("TotalOperacionInafecta");
                                item.TotalOperacionExonerada   = dr.GetData <decimal>("TotalOperacionExonerada");
                                item.TotalOperacionExportacion = dr.GetData <decimal>("TotalOperacionExportacion");
                                item.TotalOperacionGratuita    = dr.GetData <decimal>("TotalOperacionGratuita");
                                item.TotalIgv                       = dr.GetData <decimal>("TotalIgv");
                                item.TotalIsc                       = dr.GetData <decimal>("TotalIsc");
                                item.TotalOtrosCargos               = dr.GetData <decimal>("TotalOtrosCargos");
                                item.TotalOtrosTributos             = dr.GetData <decimal>("TotalOtrosTributos");
                                item.TotalIcbper                    = dr.GetData <decimal>("TotalIcbper");
                                item.TotalDescuentoDetallado        = dr.GetData <decimal>("TotalDescuentoDetallado");
                                item.TotalPorcentajeDescuentoGlobal = dr.GetData <decimal>("TotalPorcentajeDescuentoGlobal");
                                item.TotalDescuentoGlobal           = dr.GetData <decimal>("TotalDescuentoGlobal");
                                item.TotalImporte                   = dr.GetData <decimal>("TotalImporte");
                                item.TotalPercepcion                = dr.GetData <decimal>("TotalPercepcion");
                                item.TotalPagar                     = dr.GetData <decimal>("TotalPagar");
                                item.FlagEmitido                    = dr.GetData <bool>("FlagEmitido");
                                item.FlagActivo                     = dr.GetData <bool>("FlagActivo");
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(item);
        }
Beispiel #6
0
        public List <NotaDebitoBe> BuscarNotaDebito(DateTime?fechaEmisionDesde, DateTime?fechaEmisionHasta, int?codigoSerie, string numero, string nroDocIdentidadCliente, string nombresCliente, bool flagActivo, SqlConnection cn)
        {
            List <NotaDebitoBe> resultados = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_notadebito_buscar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@fechaEmisionDesde", fechaEmisionDesde.GetNullable());
                    cmd.Parameters.AddWithValue("@fechaEmisionHasta", fechaEmisionHasta.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoSerie", codigoSerie.GetNullable());
                    cmd.Parameters.AddWithValue("@numero", numero.GetNullable());
                    cmd.Parameters.AddWithValue("@nroDocumentoIdentidadCliente", nroDocIdentidadCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@nombresCliente", nombresCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@flagActivo", flagActivo.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            resultados = new List <NotaDebitoBe>();

                            while (dr.Read())
                            {
                                NotaDebitoBe item = new NotaDebitoBe();
                                item.Fila                  = dr.GetData <int>("Fila");
                                item.CodigoNotaDebito      = dr.GetData <int>("CodigoNotaDebito");
                                item.FechaHoraEmision      = dr.GetData <DateTime>("FechaHoraEmision");
                                item.CodigoSerie           = dr.GetData <int>("CodigoSerie");
                                item.Serie                 = new SerieBe();
                                item.Serie.CodigoSerie     = dr.GetData <int>("CodigoSerie");
                                item.Serie.Serial          = dr.GetData <string>("SerialSerie");
                                item.NroComprobante        = dr.GetData <int>("NroComprobante");
                                item.CodigoCliente         = dr.GetData <int>("CodigoCliente");
                                item.Cliente               = new ClienteBe();
                                item.Cliente.CodigoCliente = dr.GetData <int>("CodigoCliente");
                                item.Cliente.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadCliente");
                                item.Cliente.TipoDocumentoIdentidad       = new TipoDocumentoIdentidadBe();
                                item.Cliente.TipoDocumentoIdentidad.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadCliente");
                                item.Cliente.TipoDocumentoIdentidad.Descripcion = dr.GetData <string>("DescripcionTipoDocumentoIdentidadCliente");
                                item.Cliente.NroDocumentoIdentidad = dr.GetData <string>("NroDocumentoIdentidadCliente");
                                item.Cliente.Nombres                          = dr.GetData <string>("NombresCliente");
                                item.Cliente.FlagActivo                       = dr.GetData <bool>("FlagActivoCliente");
                                item.NroDocumentoIdentidadCliente             = dr.GetData <string>("NroDocumentoIdentidadCliente");
                                item.DescripcionTipoDocumentoIdentidadCliente = dr.GetData <string>("DescripcionTipoDocumentoIdentidadCliente");
                                item.CodigoMoneda                = dr.GetData <int>("CodigoMoneda");
                                item.CodigoMotivoNota            = dr.GetData <int>("CodigoMotivoNota");
                                item.MotivoNota                  = new MotivoNotaBe();
                                item.MotivoNota.CodigoMotivoNota = dr.GetData <int>("CodigoMotivoNota");
                                item.MotivoNota.Descripcion      = dr.GetData <string>("DescripcionMotivoNota");
                                item.CodigoTipoComprobanteRef    = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.TipoComprobanteRef          = new TipoComprobanteBe();
                                item.TipoComprobanteRef.CodigoTipoComprobante = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.TipoComprobanteRef.Nombre        = dr.GetData <string>("NombreTipoComprobanteRef");
                                item.CodigoComprobanteRef             = dr.GetData <int>("CodigoComprobanteRef");
                                item.ComprobanteRef                   = new BaseComprobante();
                                item.ComprobanteRef.CodigoSerie       = dr.GetData <int>("CodigoSerieComprobanteRef");
                                item.ComprobanteRef.Serie             = new SerieBe();
                                item.ComprobanteRef.Serie.CodigoSerie = dr.GetData <int>("CodigoSerieComprobanteRef");
                                item.ComprobanteRef.Serie.Serial      = dr.GetData <string>("SerialSerieComprobanteRef");
                                item.ComprobanteRef.NroComprobante    = dr.GetData <int>("NroComprobanteComprobanteRef");
                                item.ComprobanteRef.FechaHoraEmision  = dr.GetData <DateTime>("FechaHoraEmisionComprobanteRef");
                                item.TotalImporte = dr.GetData <decimal>("TotalImporte");

                                item.FlagEmitido = dr.GetData <bool>("FlagEmitido");
                                item.FlagActivo  = dr.GetData <bool>("FlagActivo");

                                resultados.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(resultados);
        }
Beispiel #7
0
        public bool GuardarNotaDebito(NotaDebitoBe registro, SqlConnection cn, out int codigoNotaDebito, out int nroComprobante, out string totalEnLetras)
        {
            codigoNotaDebito = 0;
            nroComprobante   = 0;
            totalEnLetras    = null;
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_notadebito_guardar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@codigoNotaDebito", Value = registro.CodigoNotaDebito.GetNullable(), Direction = ParameterDirection.InputOutput
                    });
                    cmd.Parameters.AddWithValue("@codigoSerie", registro.CodigoSerie.GetNullable());
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@nroComprobante", Value = registro.NroComprobante.GetNullable(), SqlDbType = SqlDbType.Int, Direction = ParameterDirection.InputOutput
                    });
                    cmd.Parameters.AddWithValue("@fechaHoraEmision", registro.FechaHoraEmision.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoCliente", registro.CodigoCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@direccionCliente", registro.DireccionCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@nombrePaisCliente", registro.NombrePaisCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@nombreDepartamentoCliente", registro.NombreDepartamentoCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@nombreProvinciaCliente", registro.NombreProvinciaCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@nombreDistritoCliente", registro.NombreDistritoCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoDistritoCliente", registro.CodigoDistritoCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoMoneda", registro.CodigoMoneda.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoTipoComprobanteRef", registro.CodigoTipoComprobanteRef.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoComprobanteRef", registro.CodigoComprobanteRef.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoMotivoNota", registro.CodigoMotivoNota.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOperacionGravada", registro.TotalOperacionGravada.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOperacionInafecta", registro.TotalOperacionInafecta.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOperacionExonerada", registro.TotalOperacionExonerada.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOperacionExportacion", registro.TotalOperacionExportacion.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOperacionGratuita", registro.TotalOperacionGratuita.GetNullable());
                    cmd.Parameters.AddWithValue("@totalValorVenta", registro.TotalValorVenta.GetNullable());
                    cmd.Parameters.AddWithValue("@totalIgv", registro.TotalIgv.GetNullable());
                    cmd.Parameters.AddWithValue("@totalIsc", registro.TotalIsc.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOtrosCargos", registro.TotalOtrosCargos.GetNullable());
                    cmd.Parameters.AddWithValue("@totalOtrosTributos", registro.TotalOtrosTributos.GetNullable());
                    cmd.Parameters.AddWithValue("@totalIcbper", registro.TotalIcbper.GetNullable());
                    cmd.Parameters.AddWithValue("@totalDescuentoDetallado", registro.TotalDescuentoDetallado.GetNullable());
                    cmd.Parameters.AddWithValue("@totalPorcentajeDescuentoGlobal", registro.TotalPorcentajeDescuentoGlobal.GetNullable());
                    cmd.Parameters.AddWithValue("@totalDescuentoGlobal", registro.TotalDescuentoGlobal.GetNullable());
                    cmd.Parameters.AddWithValue("@totalPrecioVenta", registro.TotalPrecioVenta.GetNullable());
                    cmd.Parameters.AddWithValue("@totalImporte", registro.TotalImporte.GetNullable());
                    cmd.Parameters.AddWithValue("@totalPercepcion", registro.TotalPercepcion.GetNullable());
                    cmd.Parameters.AddWithValue("@totalPagar", registro.TotalPagar.GetNullable());
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@totalEnLetras", SqlDbType = SqlDbType.NVarChar, Size = -1, Direction = ParameterDirection.Output
                    });
                    cmd.Parameters.AddWithValue("@flagEmitido", registro.FlagEmitido.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());
                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;

                    if (seGuardo)
                    {
                        codigoNotaDebito = (int)cmd.Parameters["@codigoNotaDebito"].Value;
                        nroComprobante   = (int)cmd.Parameters["@nroComprobante"].Value;
                        totalEnLetras    = (string)cmd.Parameters["@totalEnLetras"].Value;
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(seGuardo);
        }