示例#1
0
        public ComprobanteCompraBe ObtenerComprobanteCompra(int codigoComprobanteCompra, bool withDetalle = false, bool withProductoIndividual = false)
        {
            ComprobanteCompraBe item = null;

            try
            {
                cn.Open();
                item = comprobanteCompraDa.ObtenerComprobanteCompra(codigoComprobanteCompra, cn);
                if (withDetalle)
                {
                    item.ListaComprobanteCompraDetalle = comprobanteCompraDetalleDa.ListarComprobanteCompraDetalle(codigoComprobanteCompra, cn);
                }
                if (withProductoIndividual)
                {
                    item.ListaProductoIndividual = productoIndividualDa.ListarProductoIndividualPorComprobanteCompra(codigoComprobanteCompra, cn);
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(item);
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool estaValidado = ValidarFormulario();

            if (!estaValidado)
            {
                return;
            }

            ComprobanteCompraBe registro = new ComprobanteCompraBe();

            if (codigoComprobanteCompra.HasValue)
            {
                registro.CodigoComprobanteCompra = codigoComprobanteCompra.Value;
            }
            registro.FechaHoraRegistro     = dtpFechaHoraRegistro.Value;
            registro.CodigoTipoComprobante = (int)cbbCodigoTipoComprobante.SelectedValue;
            registro.Serie           = txtSerie.Text.Trim();
            registro.Numero          = int.Parse(txtNumero.Text.Trim());
            registro.FechaCompra     = dtpFechaCompra.Value;
            registro.SerieGuia       = txtSerieGuia.Text.Trim();
            registro.NumeroGuia      = int.Parse(txtNumeroGuia.Text.Trim());
            registro.CodigoProveedor = codigoProveedor.Value;
            registro.ListaComprobanteCompraDetalle         = listaDetalle;
            registro.ListaComprobanteCompraDetalleEliminar = listaDetalleInicial == null ? null : listaDetalleInicial.Where(x => listaDetalle.Count(y => y.CodigoComprobanteCompraDetalle == x.CodigoComprobanteCompraDetalle) == 0).Select(x => x.CodigoComprobanteCompraDetalle).ToArray();
            registro.ListaProductoIndividual = listaProductoIndividual;
            registro.FlagCompleto            = listaDetalle.Count == listaDetalle.Count(x => x.FlagCompleto);
            registro.TotalImporte            = listaDetalle.Sum(x => x.ImporteTotal);

            bool seGuardoRegistro = comprobanteCompraBl.GuardarComprobanteCompra(registro);

            if (seGuardoRegistro)
            {
                DialogResult = MessageBox.Show("¡El registro se guardó correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
            else
            {
                MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        void CargarComprobanteCompra()
        {
            ComprobanteCompraBe item = comprobanteCompraBl.ObtenerComprobanteCompra(codigoComprobanteCompra.Value, true, true);

            dtpFechaHoraRegistro.Value             = item.FechaHoraRegistro;
            cbbCodigoTipoComprobante.SelectedValue = item.CodigoTipoComprobante;
            txtSerie.Text          = item.Serie;
            txtNumero.Text         = item.Numero.ToString("00000000");
            dtpFechaCompra.MinDate = new DateTime(item.FechaHoraRegistro.Year, item.FechaHoraRegistro.Month, item.FechaHoraRegistro.Day);
            dtpFechaCompra.Value   = item.FechaCompra;
            txtSerieGuia.Text      = item.SerieGuia;
            txtNumeroGuia.Text     = item.NumeroGuia.ToString("00000000");

            codigoProveedor = item.CodigoProveedor;
            CargarProveedor(codigoProveedor);

            listaDetalleInicial     = item.ListaComprobanteCompraDetalle;
            listaDetalle            = item.ListaComprobanteCompraDetalle;
            listaProductoIndividual = item.ListaProductoIndividual ?? new List <ProductoIndividualBe>();
            ListarComprobanteCompraDetalle();
        }
示例#4
0
        public ComprobanteCompraBe ObtenerComprobanteCompra(int codigoComprobanteCompra, SqlConnection cn)
        {
            ComprobanteCompraBe item = null;

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

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

                            if (dr.Read())
                            {
                                item.CodigoComprobanteCompra = dr.GetData <int>("CodigoComprobanteCompra");
                                item.FechaHoraRegistro       = dr.GetData <DateTime>("FechaHoraRegistro");
                                item.FechaCompra             = dr.GetData <DateTime>("FechaCompra");
                                item.CodigoTipoComprobante   = dr.GetData <int>("CodigoTipoComprobante");
                                item.Serie           = dr.GetData <string>("Serie");
                                item.Numero          = dr.GetData <int>("Numero");
                                item.CodigoProveedor = dr.GetData <int>("CodigoProveedor");
                                item.SerieGuia       = dr.GetData <string>("SerieGuia");
                                item.NumeroGuia      = dr.GetData <int>("NumeroGuia");
                                item.TotalImporte    = dr.GetData <decimal>("TotalImporte");
                                item.FlagActivo      = dr.GetData <bool>("FlagActivo");
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(item);
        }
示例#5
0
        public bool GuardarComprobanteCompra(ComprobanteCompraBe registro, SqlConnection cn, out int codigoComprobanteCompra, out int nroComprobante)
        {
            codigoComprobanteCompra = 0;
            nroComprobante          = 0;
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_comprobantecompra_guardar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@codigoComprobanteCompra", Value = registro.CodigoComprobanteCompra.GetNullable(), Direction = ParameterDirection.InputOutput
                    });
                    cmd.Parameters.AddWithValue("@fechaHoraRegistro", registro.FechaHoraRegistro.GetNullable());
                    cmd.Parameters.AddWithValue("@fechaCompra", registro.FechaCompra.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoTipoComprobante", registro.CodigoTipoComprobante.GetNullable());
                    cmd.Parameters.AddWithValue("@serie", registro.Serie.GetNullable());
                    cmd.Parameters.AddWithValue("@numero", registro.Numero.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoProveedor", registro.CodigoProveedor.GetNullable());
                    cmd.Parameters.AddWithValue("@serieGuia", registro.SerieGuia.GetNullable());
                    cmd.Parameters.AddWithValue("@numeroGuia", registro.NumeroGuia.GetNullable());
                    cmd.Parameters.AddWithValue("@totalImporte", registro.TotalImporte.GetNullable());
                    cmd.Parameters.AddWithValue("@flagCompleto", registro.FlagCompleto.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());
                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;

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

            return(seGuardo);
        }
示例#6
0
        public List <ComprobanteCompraBe> BuscarComprobanteCompra(DateTime?fechaCompraDesde, DateTime?fechaCompraHasta, string serie, string numero, string nroDocIdentidadProveedor, string nombresProveedor, bool flagActivo, SqlConnection cn)
        {
            List <ComprobanteCompraBe> resultados = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_comprobantecompra_buscar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@fechaCompraDesde", fechaCompraDesde.GetNullable());
                    cmd.Parameters.AddWithValue("@fechaCompraHasta", fechaCompraHasta.GetNullable());
                    cmd.Parameters.AddWithValue("@serie", serie.GetNullable());
                    cmd.Parameters.AddWithValue("@numero", numero.GetNullable());
                    cmd.Parameters.AddWithValue("@nroDocumentoIdentidadProveedor", nroDocIdentidadProveedor.GetNullable());
                    cmd.Parameters.AddWithValue("@nombresProveedor", nombresProveedor.GetNullable());
                    cmd.Parameters.AddWithValue("@flagActivo", flagActivo.GetNullable());

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

                            while (dr.Read())
                            {
                                ComprobanteCompraBe item = new ComprobanteCompraBe();
                                item.Fila = dr.GetData <int>("Fila");
                                item.CodigoComprobanteCompra = dr.GetData <int>("CodigoComprobanteCompra");
                                item.FechaHoraRegistro       = dr.GetData <DateTime>("FechaHoraRegistro");
                                item.FechaCompra             = dr.GetData <DateTime>("FechaCompra");
                                item.CodigoTipoComprobante   = dr.GetData <int>("CodigoTipoComprobante");
                                item.TipoComprobante         = new TipoComprobanteBe();
                                item.TipoComprobante.CodigoTipoComprobante = dr.GetData <int>("CodigoTipoComprobante");
                                item.TipoComprobante.Nombre = dr.GetData <string>("NombreTipoComprobante");
                                item.Serie                     = dr.GetData <string>("Serie");
                                item.Numero                    = dr.GetData <int>("Numero");
                                item.CodigoProveedor           = dr.GetData <int>("CodigoProveedor");
                                item.Proveedor                 = new ProveedorBe();
                                item.Proveedor.CodigoProveedor = dr.GetData <int>("CodigoProveedor");
                                item.Proveedor.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadProveedor");
                                item.Proveedor.TipoDocumentoIdentidad       = new TipoDocumentoIdentidadBe();
                                item.Proveedor.TipoDocumentoIdentidad.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadProveedor");
                                item.Proveedor.TipoDocumentoIdentidad.Descripcion = dr.GetData <string>("DescripcionTipoDocumentoIdentidadProveedor");
                                item.Proveedor.NroDocumentoIdentidad = dr.GetData <string>("NroDocumentoIdentidadProveedor");
                                item.Proveedor.Nombres    = dr.GetData <string>("NombresProveedor");
                                item.Proveedor.FlagActivo = dr.GetData <bool>("FlagActivoProveedor");
                                item.DescripcionTipoDocumentoIdentidadProveedor = dr.GetData <string>("DescripcionTipoDocumentoIdentidadProveedor");
                                item.NroDocumentoIdentidadProveedor             = dr.GetData <string>("NroDocumentoIdentidadProveedor");
                                item.SerieGuia    = dr.GetData <string>("SerieGuia");
                                item.NumeroGuia   = dr.GetData <int>("NumeroGuia");
                                item.TotalImporte = dr.GetData <decimal>("TotalImporte");
                                item.FlagCompleto = dr.GetData <bool>("FlagCompleto");
                                item.FlagActivo   = dr.GetData <bool>("FlagActivo");

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

            return(resultados);
        }
示例#7
0
        public bool GuardarComprobanteCompra(ComprobanteCompraBe registro)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    int codigoComprobanteCompra = 0, nroComprobante = 0;
                    seGuardo = comprobanteCompraDa.GuardarComprobanteCompra(registro, cn, out codigoComprobanteCompra, out nroComprobante);
                    if (registro.ListaComprobanteCompraDetalle != null && seGuardo)
                    {
                        foreach (ComprobanteCompraDetalleBe item in registro.ListaComprobanteCompraDetalle)
                        {
                            if (item.CodigoComprobanteCompra == 0)
                            {
                                item.CodigoComprobanteCompra = codigoComprobanteCompra;
                            }
                            if (!seGuardo)
                            {
                                break;
                            }
                            seGuardo = comprobanteCompraDetalleDa.GuardarComprobanteCompraDetalle(item, cn);
                            if (!seGuardo)
                            {
                                break;
                            }
                        }
                    }

                    if (registro.ListaComprobanteCompraDetalleEliminar != null && seGuardo)
                    {
                        foreach (int codigoComprobanteCompraDetalle in registro.ListaComprobanteCompraDetalleEliminar)
                        {
                            seGuardo = comprobanteCompraDetalleDa.EliminarComprobanteCompraDetalle(codigoComprobanteCompraDetalle, registro.UsuarioModi, cn);
                            if (!seGuardo)
                            {
                                break;
                            }
                        }
                    }

                    if (registro.ListaProductoIndividual != null && seGuardo)
                    {
                        foreach (ProductoIndividualBe productoIndividual in registro.ListaProductoIndividual)
                        {
                            productoIndividual.CodigoComprobanteCompra = codigoComprobanteCompra;
                            int codigoProductoIndividual = 0;
                            seGuardo = productoIndividualDa.GuardarProductoIndividual(productoIndividual, out codigoProductoIndividual, cn);
                        }
                    }

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

            return(seGuardo);
        }