Ejemplo n.º 1
0
        /// <summary>
        /// Editar
        /// </summary>
        private void Editar()
        {
            oFactura = new MedDAL.DAL.facturas();
            oblFacturas = new MedNeg.Facturas.BlFacturas();
            oFactura.idFactura = int.Parse(dgvDatos.SelectedDataKey.Value.ToString());
            oFactura.Estatus = cmbEstatus.SelectedValue.ToString();


            if (oblFacturas.EditarRegistro(oFactura))
            {
                //Datos de la bitacora
                string sDatosBitacora = string.Empty;
                sDatosBitacora += "Tipo:" + cmbTipoFactura.SelectedValue.ToString() + " ";
                sDatosBitacora += "Folio:" + txbFolio.Text + " ";
                sDatosBitacora += "Fecha:" + txbFecha.Text + " ";
                sDatosBitacora += "Estatus:" + cmbEstatus.SelectedItem.ToString() + " ";
                sDatosBitacora += "Cliente:" + txbCliente.Text + " ";

                oblFacturas = new MedNeg.Facturas.BlFacturas();
                if (oblFacturas.EliminarFacturaPartida(oFactura.idFactura))
                {
                    bool bRegistroFallido = false;

                    //Recorrer el objeto de sesion lstDetallePartida que contiene los datos de la partida
                    foreach (MedNeg.Facturas.BlDetallePartida facturaDetalle in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"])
                    {
                        oblFacturas = new MedNeg.Facturas.BlFacturas();
                        MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

                        oFacturaPartida.idFactura = oFactura.idFactura;
                        oFacturaPartida.idProducto = facturaDetalle.iIdProducto;
                        oFacturaPartida.Cantidad = facturaDetalle.dCantidad;
                        oFacturaPartida.IEPS = facturaDetalle.dIeps;
                        oFacturaPartida.Iva = facturaDetalle.dIva;
                        oFacturaPartida.Precio = facturaDetalle.dPrecio;

                        //Registrar el detalle del pedido
                        if (!oblFacturas.NuevoDetallePartida(oFacturaPartida))
                        {
                            bRegistroFallido = true;
                        }
                        else
                        {
                            sDatosBitacora += "Producto:" + facturaDetalle.iIdProducto.ToString() + " ";
                            sDatosBitacora += "Cant:" + facturaDetalle.dCantidad.ToString() + " ";
                            sDatosBitacora += "IEPS:" + facturaDetalle.dIeps.ToString() + " ";
                            sDatosBitacora += "Iva:" + facturaDetalle.dIva.ToString() + " ";
                            sDatosBitacora += "Precio:" + facturaDetalle.dPrecio.ToString() + " ";
                            sDatosBitacora += "Total:" + Convert.ToDecimal((facturaDetalle.dCantidad * facturaDetalle.dPrecio) + facturaDetalle.dIeps + facturaDetalle.dIva) + ", ";
                        }
                    }


                    //Anotar en la bitacora la modificación al pedido
                    oBitacora = new MedDAL.DAL.bitacora();
                    oblBitacora = new MedNeg.Bitacora.BlBitacora();
                    oBitacora.FechaEntradaSrv = DateTime.Now;
                    oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal
                    oBitacora.Modulo = "Facturas";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Edición de Factura";
                    oBitacora.Descripcion = sDatosBitacora;
                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        lblDatos.Text = "El evento no pudo ser registrado en la bitácora";
                    }
                }


            }

        }
Ejemplo n.º 2
0
        private void Eliminar(int iIdFactura)
        {

            //Eliminar primero la partida para la integridad referencial
            oblFacturas = new MedNeg.Facturas.BlFacturas();
            string sDatosBitacora = string.Empty;

            //Guardar los datos del pedido para la bitacora
            oFactura = new MedDAL.DAL.facturas();
            oFactura = oblFacturas.BuscarFactura(iIdFactura);

            sDatosBitacora += "Folio:" + oFactura.Folio.ToString() + " ";
            sDatosBitacora += "Fecha:" + oFactura.Fecha.ToShortDateString() + " ";
            switch (oFactura.Estatus)
            {
                case "1":
                    sDatosBitacora += "Estatus:Pedido ";
                    break;
                case "2":
                    sDatosBitacora += "Estatus:Remitido ";
                    break;
                case "3":
                    sDatosBitacora += "Estatus:Emitida ";
                    break;
                case "4":
                    sDatosBitacora += "Estatus:Cobrada ";
                    break;
                case "5":
                    sDatosBitacora += "Estatus:Cancelada ";
                    break;
            }

            //Recuperar la partida del pedido
            oblFacturas = new MedNeg.Facturas.BlFacturas();
            var oQuery = oblFacturas.RecuperarPartidaFactura(iIdFactura);
            //Recorrer el resultado y meterlo al datagridview
            foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery)
            {
                sDatosBitacora += "Producto:" + oDetalle.productos.Nombre.ToString() + " ";
                sDatosBitacora += "Cantidad:" + oDetalle.Cantidad.ToString() + " ";
                sDatosBitacora += "IEPS:" + oDetalle.IEPS.ToString() + " ";
                sDatosBitacora += "Iva:" + oDetalle.Iva.ToString() + " ";
                sDatosBitacora += "Precio:" + oDetalle.Precio.ToString() + " ";
                sDatosBitacora += "Total:" + Convert.ToDecimal((oDetalle.Cantidad * oDetalle.Precio) + oDetalle.IEPS + oDetalle.Iva) + ", ";

            }


            if (oblFacturas.EliminarFacturaPartida(iIdFactura))
            {
                oblFacturas = new MedNeg.Facturas.BlFacturas();
                if (oblFacturas.EliminarRegistro(iIdFactura))
                {
                    //lblAviso.Text = "El usuario se ha eliminado con éxito";
                    MedDAL.DAL.bitacora oBitacora = new MedDAL.DAL.bitacora();
                    MedNeg.Bitacora.BlBitacora oblBitacora = new MedNeg.Bitacora.BlBitacora();
                    oBitacora.FechaEntradaSrv = DateTime.Now;
                    oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal
                    oBitacora.Modulo = "Facturas";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Eliminación de Factura";
                    oBitacora.Descripcion = sDatosBitacora;

                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        lblDatos.Text = "El evento no pudo ser registrado en la bitácora";
                    }
                }
                else
                {
                    //lblAviso.Text = "El usuario no pudo ser eliminado, es posible que tenga datos relacionados";
                }

            }
            else
            {
                //lblAviso.Text = "El usuario no pudo ser eliminado, es posible que tenga datos relacionados";
            }

        }
Ejemplo n.º 3
0
        /// <summary>
        /// Editar
        /// </summary>
        private void Editar()
        {
            oFactura = new MedDAL.DAL.facturas();
            oblFacturas = new MedNeg.Facturas.BlFacturas();
            //oFactura.idFactura = int.Parse(dgvDatos.SelectedDataKey.Value.ToString());
            oFactura = oblFacturas.BuscarFacturasFolio(txbFolio.Text);
            oFactura.Estatus = cmbEstatus.SelectedValue.ToString();

            oblFacturas = new MedNeg.Facturas.BlFacturas();
            if(oblFacturas.EditarRegistro(oFactura))
            {
                //Datos de la bitacora
                string sDatosBitacora = string.Empty;
                sDatosBitacora += "Tipo:" + cmbTipoFactura.SelectedValue.ToString() + " ";
                sDatosBitacora += "Folio:" + txbFolio.Text + " ";
                sDatosBitacora += "Fecha:" + txbFecha.Text + " ";
                sDatosBitacora += "Estatus:" + cmbEstatus.SelectedItem.ToString() + " ";
                sDatosBitacora += "Cliente:" + txbCliente.Text + " ";

                oblFacturas = new MedNeg.Facturas.BlFacturas();
                if (oblFacturas.EliminarFacturaPartida(oFactura.idFactura))
                {
                    bool bRegistroFallido = false;

                    //Recorrer el objeto de sesion lstDetallePartida que contiene los datos de la partida
                    foreach (MedNeg.Facturas.BlDetallePartida facturaDetalle in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"])
                    {
                        //Saber si es un ensamble el que se esta registrando
                        if (facturaDetalle.bEsEnsamble == true)
                        {
                            AgregarDetalleEnsamble(facturaDetalle, oFactura.idFactura);
                        }
                        else
                        {
                            oblFacturas = new MedNeg.Facturas.BlFacturas();
                            MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

                            oFacturaPartida.idFactura = oFactura.idFactura;
                            oFacturaPartida.idProducto = facturaDetalle.iIdProducto;
                            oFacturaPartida.Cantidad = facturaDetalle.dCantidad;
                            oFacturaPartida.IEPS = facturaDetalle.dIeps;
                            oFacturaPartida.Iva = facturaDetalle.dIva;
                            oFacturaPartida.Precio = facturaDetalle.dPrecio;

                            //Registrar el detalle del pedido
                            if (!oblFacturas.NuevoDetallePartida(oFacturaPartida))
                            {
                                bRegistroFallido = true;
                            }
                            else
                            {
                                sDatosBitacora += "Producto:" + facturaDetalle.iIdProducto.ToString() + " ";
                                sDatosBitacora += "Cant:" + facturaDetalle.dCantidad.ToString() + " ";
                                sDatosBitacora += "IEPS:" + facturaDetalle.dIeps.ToString() + " ";
                                sDatosBitacora += "Iva:" + facturaDetalle.dIva.ToString() + " ";
                                sDatosBitacora += "Precio:" + facturaDetalle.dPrecio.ToString() + " ";
                                sDatosBitacora += "Total:" + Convert.ToDecimal((facturaDetalle.dCantidad * facturaDetalle.dPrecio) + facturaDetalle.dIeps + facturaDetalle.dIva) + ", ";
                            }
                        }
                    }
                    
                    /****** GT: Modificar las existencias de los productos nuevos ***************/

                    MedNeg.Usuarios.BlUsuarios oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();

                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());

                    //oblRemision = new MedNeg.Remisiones.BlRemisiones();
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    foreach (MedNeg.Facturas.BlDetallePartida remisionDetalleNuevos in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstremisionespartidaedicion"])
                    {
                        oblFacturas.ModificarExistenciaProducto(oUsuario.idAlmacen, remisionDetalleNuevos.iIdProducto, remisionDetalleNuevos.dCantidad, 1);

                    }

                    /****** GT: Modificar las existencias de los productos nuevos ***************/


                    //Anotar en la bitacora la modificación a la factura
                    oBitacora = new MedDAL.DAL.bitacora();
                    oblBitacora = new MedNeg.Bitacora.BlBitacora();
                    oBitacora.FechaEntradaSrv = DateTime.Now;
                    oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal
                    oBitacora.Modulo = "Facturas";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Edición de Factura";
                    oBitacora.Descripcion = sDatosBitacora;
                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        lblDatos.Text = "El evento no pudo ser registrado en la bitácora";
                    }

                    if (oFactura.Estatus == "5")
                    {
                        string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
                        string sRutaCertificados = Server.MapPath("~/Archivos/");
                        string[] sUUID = new string[1];
                        string sMensaje = "";
                        bool bEncontrado = false;

                        XmlTextReader oXMLReader = new XmlTextReader(sRutaCertificados + "/FacturasElectronicasTimbradas/FacturaE-" + oFactura.Folio + ".xml");
                        while (oXMLReader.Read())
                        {
                            switch (oXMLReader.NodeType)
                            {
                                case XmlNodeType.Element:
                                    if (oXMLReader.Name == "tfd:TimbreFiscalDigital")
                                    {
                                        sUUID[0] = oXMLReader.GetAttribute("UUID");
                                        bEncontrado = true;
                                        break;
                                    }
                                    break;
                            }
                        }

                        if (bEncontrado)
                        {
                            int iResultado = oblFacturas.CancelarFacturaElectronica(sUUID, sRutaCertificados, out sMensaje);

                            if (iResultado == 0)
                            {
                                ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarCancelacionFacturas(0);", true);

                                System.IO.FileInfo fFactura = new System.IO.FileInfo(Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + sUUID[0] + ".xml"));

                                Response.Clear();
                                Response.AddHeader("Content-Disposition", "attachment; filename=" + fFactura.Name);
                                Response.AddHeader("Content-Length", fFactura.Length.ToString());
                                Response.ContentType = "application/....";
                                Response.WriteFile(fFactura.FullName);
                                Response.End();
                            }
                            else if (iResultado == 1)
                            {
                                ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarCancelacionFacturas(1);", true);
                            }
                        }
                    }
                }
            }

        }