Beispiel #1
0
        private void btnAnular_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult Opcion;
                Opcion = MessageBox.Show("Realmente Desea Anular los Registros", "Sistema de Ventas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                if (Opcion == DialogResult.OK)
                {
                    string Codigo;
                    string Rpta = "";

                    foreach (DataGridViewRow row in dataListado.Rows)
                    {
                        if (Convert.ToBoolean(row.Cells[0].Value))
                        {
                            Codigo = Convert.ToString(row.Cells[1].Value);
                            Rpta   = VentaBL.Anular(Convert.ToInt32(Codigo));
                        }
                        //Se evalua si se anuló el registro
                        if (Rpta.Equals("OK"))
                        {
                            this.MensajeOk("Se Anuló Correctamente el registro");
                        }
                        else
                        {
                            this.MensajeError(Rpta);
                        }
                    }
                    //this.Mostrar();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
Beispiel #2
0
        public IHttpActionResult GetAnular(string usuario, int idCliente, int idVenta)
        {
            EDEComunicacionBaja        objEDEComunicacionBajaResponse;
            EDEDocumentoElectronico    objEDEDocumentoElectronico;
            EDEEnviarDocumentoResponse objEDERespuesta;
            FacturacionElectronicaBL   oFacturaElectronicaBL = new FacturacionElectronicaBL();

            try
            {
                VentaBL     oVentaBL = new VentaBL(idCliente);
                RespuestaBE rpta     = new RespuestaBE();
                VentaBE     obe      = new VentaBE();
                rpta = oVentaBL.Anular(usuario, idCliente, idVenta, out obe);

                if (rpta.codigo == 1 & rpta.isFactOnline)
                {
                    DateTime       fecha = DateTime.Now;
                    List <VentaBE> lobe  = new List <VentaBE>();
                    lobe.Add(obe);
                    //Generar Estructura Comunicación de Baja
                    objEDEComunicacionBajaResponse = new EDEComunicacionBaja();
                    objEDEDocumentoElectronico     = new EDEDocumentoElectronico();
                    objEDEComunicacionBajaResponse = oFacturaElectronicaBL.GenerarEstructuraComunicacionBaja(lobe, fecha);
                    //Procesar Comunicación de Baja
                    HelperLog.PutLine("Inicio proceso Facturacion Electronica Comunicación de Baja");
                    objEDEDocumentoElectronico.RUC            = obe.RUC;
                    objEDEDocumentoElectronico.UsuarioSOL     = obe.UsuarioSOL;
                    objEDEDocumentoElectronico.ClaveSOL       = obe.ClaveSOL;
                    objEDEDocumentoElectronico.URLCertificado = obe.URLCertificado;
                    objEDEDocumentoElectronico.ClaveDigital   = obe.ClaveDigital;
                    objEDERespuesta = oFacturaElectronicaBL.ProcesarComunicacionBaja(objEDEComunicacionBajaResponse, objEDEDocumentoElectronico);
                    string msg = "";
                    if (objEDERespuesta.Exito)
                    {
                        msg = "Se envío a SUNAT Correctamente.";
                        if (objEDERespuesta.Procesado)
                        {
                            HelperLog.PutLine(string.Format("Se han actualizado el registro."));
                        }
                        else
                        {
                            HelperLog.PutLine(string.Format("No existen registros para actualizar."));
                        }
                    }
                    else
                    {
                        msg = "Ocurrío un error al enviar a SUNAT.";
                        HelperLog.PutLineError(string.Format(string.Format("Se ha generado el siguiente error: {0}", objEDERespuesta.MensajeError)));
                    }
                    //Actualizar respuesta
                    //ActualizarRespuesta(objEDERespuesta);
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion + " " + msg)));
                }
                else if (rpta.codigo == 1) //FACTURA - BOLETA (SIN FACTURACION ELECTRONICA)
                {
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion)));
                }
                else if (rpta.codigo == 2) //NOTA DE VENTA
                {
                    return(Ok(Models.Util.GetBodyResponse(200, rpta.descripcion)));
                }
                else
                {
                    return(Ok(Models.Util.GetBodyResponse(300, "No se encontraron registros.")));
                }
            }
            catch (Exception ex)
            {
                /*LogSA.GrabarLogError("SOL TR", user, "GetListarOrdOtrs", ex);*/
                return(Ok(Models.Util.GetBodyResponse(400, ex.Message)));
            }
        }