public List <Cancelacion> GetAllCancelaciones(int Estado) { System.Data.SqlClient.SqlConnection conn; SqlCommand command; SqlDataReader read; var conString = System.Configuration. ConfigurationManager.ConnectionStrings["HorasBecaAPI"]; string strConnString = conString.ConnectionString; conn = new SqlConnection(strConnString); conn.Open(); List <Cancelacion> ListSolicitud = new List <Cancelacion>(); command = new SqlCommand("select S.IdSolicitud ,S.IdCarnet , S.Observacion, TB.Nombre, E.primer_nombre, E.segundo_nombre , E.primer_apellido, E.segundo_apellido from Solicitud as S inner join estudiantes as E on E.carne = S.IdCarnet inner join Formulario as F on S.IdFormulario = F.IdFormulario inner join TipoBeca as TB on TB.IdTipoBeca = F.IdTipoBeca where S.[Delete] = 0 and S.IdEstado = " + Estado.ToString(), conn); read = command.ExecuteReader(); while (read.Read()) { Cancelacion sol = new Cancelacion(); sol.IdCarnet = read["IdCarnet"].ToString(); sol.TBNombre = read["Nombre"].ToString(); sol.Nombre1 = read["primer_nombre"].ToString(); sol.Nombre2 = read["segundo_nombre"].ToString(); sol.Apellido1 = read["primer_apellido"].ToString(); sol.Apellido2 = read["segundo_apellido"].ToString(); sol.Observacion = read["Observacion"].ToString(); sol.IdSolicitud = Convert.ToInt32(read["IdSolicitud"]); ListSolicitud.Add(sol); } read.Close(); conn.Close(); return(ListSolicitud); }
protected void DataListFotosDanos_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName == "elimina") { lblError.Text = ""; try { string[] valores = e.CommandArgument.ToString().Split(';'); string id_producto = Convert.ToString(valores[0]); int id_imagen = Convert.ToInt32(valores[1]); Cancelacion elm = new Cancelacion(); bool eliminado = elm.eliminaAdjunto(id_producto, id_imagen); if (eliminado) { DataListFotosDanos.DataBind(); } else { lblError.Text = "La imagen no se logro eliminar, verifique su conexión e intentelo nuevamente mas tarde"; } } catch (Exception x) { lblError.Text = "La carga de las imagenes no se logró por un error inesperado: " + x.Message; } } }
private void procesaCancelacionPieza(Cancelacion cancelacion, string[] argumentos) { try { bool cancelado = false; try { cancelado = Convert.ToBoolean(Session["completado"]); } catch (Exception ex) { cancelado = true; lblError.Text = "Error: " + ex.Message; } if (!cancelado) { cancelacion.agregaCancelacionPieza(argumentos); if (Convert.ToBoolean(cancelacion.retorno[0])) { lblError.Text = "Cancelacion realizada. No. de Cancelación: " + Convert.ToInt32(cancelacion.retorno[1]); } else { lblError.Text = "No se pudo realizar la cancelación: " + cancelacion.retorno[1].ToString(); } } else { lblError.Text = "Este producto ya fue cancelado con anterioridad"; } } catch (Exception ex) { lblError.Text = "No se pudo realizar la cancelación: " + ex.Message; } finally { lblErrorCantidad.Text = ""; RadCantidadCancela.Value = 0; PanelMask.Visible = pnlTicket.Visible = false; } }
public async Task <IActionResult> Edit(int id, [Bind("IdRazonCancelacion,IdOrden,IdCancelacion,Glosa,Estado")] Cancelacion cancelacion) { if (id != cancelacion.IdRazonCancelacion) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cancelacion); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CancelacionExists(cancelacion.IdRazonCancelacion)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdCancelacion"] = new SelectList(_context.RazonCancelacion, "IdRazonCancelacion", "Nombre", cancelacion.IdCancelacion); ViewData["IdOrden"] = new SelectList(_context.Orden, "IdOrden", "IdOrden", cancelacion.IdOrden); return(View(cancelacion)); }
public ActionResult DeleteConfirmed(int id) { Cancelacion cancelacion = db.Cancelacion.Find(id); db.Cancelacion.Remove(cancelacion); db.SaveChanges(); return(RedirectToAction("Index")); }
internal void ActualizarEstadoReservaACancelada(Usuario usuario, Cancelacion cancelacion) { var query = String.Format(@"UPDATE GD2C2014.LA_REVANCHA.RESERVA " + "SET RES_ESTRES_CODIGO = '{0}' " + "WHERE RES_CODIGO = '{1}'", usuario.tipo == "CLIENTE" ? new Decimal(4003) : new Decimal(4002), cancelacion.codigoReserva); SQLUtils.EjecutarConsultaConEfectoDeLado(query); }
public ActionResult Edit([Bind(Include = "Id,turno_id,detalle_cancel,fecha_cancel,tipo_cancel_id,createdon,createdby,changedon,changedby")] Cancelacion cancelacion) { if (ModelState.IsValid) { db.Entry(cancelacion).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.tipo_cancel_id = new SelectList(db.TipoCancelacion, "Id", "descripcion", cancelacion.tipo_cancel_id); ViewBag.turno_id = new SelectList(db.Turno, "Id", "Observaciones", cancelacion.turno_id); return(View(cancelacion)); }
// GET: Cancelacion/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Cancelacion cancelacion = db.Cancelacion.Find(id); if (cancelacion == null) { return(HttpNotFound()); } return(View(cancelacion)); }
public IResultado <Cancelacion> Cancelar(Cancelacion c) { Resultado <Cancelacion> resultado = new Resultado <Cancelacion>(); try { _dal.RegistrarCancelacion(c); resultado.Retorno = c; } catch (Exception ex) { resultado.Correcto = false; resultado.Mensajes.Add(ex.Message); } return(resultado); }
// GET: Cancelacion/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Cancelacion cancelacion = db.Cancelacion.Find(id); if (cancelacion == null) { return(HttpNotFound()); } ViewBag.tipo_cancel_id = new SelectList(db.TipoCancelacion, "Id", "descripcion", cancelacion.tipo_cancel_id); ViewBag.turno_id = new SelectList(db.Turno, "Id", "Observaciones", cancelacion.turno_id); return(View(cancelacion)); }
/// <summary> /// Cancela un comprobante con el PAC /// </summary> /// <param name="url">URL del PAC (produccion o pruebas)</param> /// <param name="token">Token definido para la empresa (produccion o pruebas)</param> /// <param name="postBody">Información en JSON a emitir al PAC</param> /// <param name="produccion">Ambiente de producción (true) o de pruebas (false)</param> /// <param name="idefac">Id de la factura a cancelar</param> /// <returns>El objeto coteniendo los valores de cancelacion</returns> private async Task <Cancelacion> ProcesarCancelacion(string url, string token, string postBody, bool produccion, string idefac) { var httpClient = new HttpClient(); Cancelacion cancelacion = null; var response = ""; try { httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Add("Token", token); var wcfResponse = await httpClient.PostAsync(url, new StringContent(postBody, Encoding.UTF8, "application/json")).ConfigureAwait(false); response = await wcfResponse.Content.ReadAsStringAsync(); Log("ProcesarCancelacion-response=" + response); var result = (Dictionary <string, object>) new JavaScriptSerializer().DeserializeObject(response); if (wcfResponse.IsSuccessStatusCode) { cancelacion = new Cancelacion { Uuid = result["uuid"].ToString(), AnioMes = result["anioMes"].ToString(), Ambiente = produccion, IdFactura = idefac }; Log("ProcesarCancelacion-comprobante-Uuid=" + cancelacion.Uuid); Log("ProcesarCancelacion-comprobante-AnioMes=" + cancelacion.AnioMes); cancelacion.MonitoreaStatus(); } else { LastError = result["mensaje"].ToString(); Log("ProcesarCancelacion-LastError=" + LastError); } } catch { var result = (object[])new JavaScriptSerializer().DeserializeObject(response); LastError = ((Dictionary <string, object>)result.First())["mensaje"].ToString(); Log("ProcesarCancelacion-LastError=" + LastError); } finally { httpClient.Dispose(); } return(cancelacion); }
public void generaCancelacionCompleta(Cancelacion cancelacion, System.Data.DataTable dtd) { int entFolioID = -1; string respuesta = ""; try { SqlConnection sqlConn = ConeccSql(); using (sqlConn) { sqlConn.Open(); using (SqlCommand sqlComm = new SqlCommand("cancelaciones", sqlConn)) { sqlComm.CommandType = CommandType.StoredProcedure; sqlComm.Parameters.AddWithValue("@idAlmacen", cancelacion.punto).DbType = DbType.Int16; sqlComm.Parameters.AddWithValue("@idPunto", cancelacion.punto).DbType = DbType.Int16; sqlComm.Parameters.AddWithValue("@caja", cancelacion.caja).DbType = DbType.Int32; sqlComm.Parameters.AddWithValue("@ticket", cancelacion.ticket).DbType = DbType.Int32; sqlComm.Parameters.AddWithValue("@usuario", cancelacion.usuario).DbType = DbType.String; sqlComm.Parameters.AddWithValue("@cajaTicket", cancelacion.cajaTicket).DbType = DbType.Int32; sqlComm.Parameters.AddWithValue("@fecha", fechas.obtieneFechaLocal().ToString("yyyy-MM-dd HH:mm:ss")).DbType = DbType.String; sqlComm.Parameters.AddWithValue("@datos", dtd); sqlComm.Parameters.Add("@respuesta", SqlDbType.VarChar, 200).Direction = ParameterDirection.Output; sqlComm.ExecuteNonQuery(); try { entFolioID = Convert.ToInt32(sqlComm.Parameters["@respuesta"].Value); respuesta = entFolioID.ToString(); retorno[0] = true; retorno[1] = respuesta; } catch (Exception) { respuesta = Convert.ToString(sqlComm.Parameters["@respuesta"].Value); retorno[0] = false; retorno[1] = respuesta; } } } sqlConn.Close(); } catch (Exception e) { respuesta = e.Message; retorno[0] = false; retorno[1] = respuesta; } }
private static void VerificarReservaCancelada(Decimal codReserva, Usuario user) { Cancelacion cancel = RepositorioReserva.Instance.VerificarCancelacion(codReserva, user); if (cancel.codigo != -1) { MessageBox.Show("No se ha encontrado la Reserva correspondiente\n" + "al Código de Usuario ingresado.\n" + "Por favor, verifique los datos ingresados.", "Atención", MessageBoxButtons.OK); } else { MessageBox.Show("La reserva ya ha sido cancelada el día: " + cancel.fechaCancelacion.ToString() + "\nEl código de cancelación es: " + cancel.codigo.ToString() + "." , "Atención", MessageBoxButtons.OK); } }
public async Task <IActionResult> Create([Bind("IdRazonCancelacion,IdOrden,IdCancelacion,Glosa,Estado")] Cancelacion cancelacion) { if (ModelState.IsValid) { var ordenCancelada = _context.Orden.Where(orden => orden.IdOrden == cancelacion.IdOrden).First(); ordenCancelada.Estado = (int)Orden.Estados.Cancelado; _context.Update(ordenCancelada); _context.Add(cancelacion); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["IdCancelacion"] = new SelectList(_context.RazonCancelacion, "IdRazonCancelacion", "Nombre", cancelacion.IdCancelacion); ViewData["IdOrden"] = new SelectList(_context.Orden, "IdOrden", "IdOrden", cancelacion.IdOrden); return(View(cancelacion)); }
internal Cancelacion VerificarCancelacion(Decimal cod, Usuario user) { var query = String.Format(@"SELECT * FROM GD2C2014.LA_REVANCHA.CANCELACION " + "WHERE CANC_COD_RESERVA = '{0}' AND CANC_COD_RESERVA IN " + "(SELECT RESUSU_COD_RESERVA FROM GD2C2014.LA_REVANCHA.RESERVA_USUARIO " + "WHERE RESUSU_CODUSU_HUESPED = '{1}')", cod, user.codigo); DataRowCollection dataRow = SQLUtils.EjecutarConsultaSimple(query, "GD2C2014.LA_REVANCHA.CANCELACION"); Cancelacion cancelacion = new Cancelacion(-1); if (dataRow.Count > 0) { cancelacion = (dataRow.ToList <Cancelacion>(this.dataRowToCancelacion)).First(); } return(cancelacion); }
internal void RealizarCancelacion(Cancelacion cancelacion) { var query = String.Format(@"INSERT INTO GD2C2014.LA_REVANCHA.CANCELACION " + "(CANC_COD_RESERVA, CANC_MOTIVO, CANC_FECHA, CANC_COD_USUARIO) " + "VALUES ('{0}', '{1}', '{2}', '{3}')", cancelacion.codigoReserva, cancelacion.motivo, DBTypeConverter.ToSQLDateTime(FechaSistema.Instance.fecha), cancelacion.codigoUsuario); SQLUtils.EjecutarConsultaConEfectoDeLado(query); var consultaCodigoCancelacion = String.Format(@"SELECT TOP 1 CANC_CODIGO FROM GD2C2014.LA_REVANCHA.CANCELACION " + "ORDER BY CANC_CODIGO DESC"); DataRowCollection dataRow = SQLUtils.EjecutarConsultaSimple(consultaCodigoCancelacion, "GD2C2014.LA_REVANCHA.CANCELACION"); cancelacion.codigo = (dataRow.ToList <Decimal>(row => Decimal.Parse(row["CANC_CODIGO"].ToString()))).First(); }
private void AceptarBoton_Click(object sender, EventArgs e) { if (this.MotivoRichTextBox.Text != "") { Cancelacion cancelacion = new Cancelacion(this.MotivoRichTextBox.Text, reserva.identificador, usuario.codigo); RepositorioReserva.Instance.RealizarCancelacion(cancelacion); RepositorioReserva.Instance.ActualizarEstadoReservaACancelada(usuario, cancelacion); MessageBox.Show("Su código de cancelación es: " + cancelacion.codigo.ToString(), "Informe", MessageBoxButtons.OK); RepositorioHabitacion.Instance.CancelarReserva(reserva); this.Close(); } else MessageBox.Show("Debe ingresar un motivo\n" + "por el cual realiza la cancelacion.", "Atención", MessageBoxButtons.OK); }
private void VerificarQueNoEsteCancelada() { Decimal codigoReserva = Decimal.Parse(this.codigoReservaTextBox.Text); Cancelacion cancel = RepositorioReserva.Instance.VerificarCancelacion(codigoReserva, usuario); if (cancel.codigo < 0) { MessageBox.Show("La reserva no ha sido encontrada o usted no es el responsable de la misma.\n" + "Asegurese de ingresar el código correctamente.\n", "Atención", MessageBoxButtons.OK); } else { MessageBox.Show("La reserva ya ha sido cancelada el día: " + cancel.fechaCancelacion.ToString() + "\nEl código de cancelación es: " + cancel.codigo.ToString() + "." , "Atención", MessageBoxButtons.OK); this.Close(); } }
protected void lnkAceptarCant_Click(object sender, EventArgs e) { lblErrorCantidad.Text = ""; try { decimal cantidad = 0; Cancelacion cancelacion = (Cancelacion)Session["cancelacion"]; string[] argumentos = (string[])Session["argumentosCancela"]; if (RadCantidadCancela.Value == 0) { lblErrorCantidad.Text = "La cantidad no puede ser cero"; } else { cantidad = Convert.ToDecimal(RadCantidadCancela.Value); argumentos[2] = cantidad.ToString(); procesaCancelacionPieza(cancelacion, argumentos); } } catch (Exception ex) { lblErrorCantidad.Text = "Error: " + ex.Message; } }
private void AceptarBoton_Click(object sender, EventArgs e) { if (this.MotivoRichTextBox.Text != "") { Cancelacion cancelacion = new Cancelacion(this.MotivoRichTextBox.Text, reserva.identificador, usuario.codigo); RepositorioReserva.Instance.RealizarCancelacion(cancelacion); RepositorioReserva.Instance.ActualizarEstadoReservaACancelada(usuario, cancelacion); MessageBox.Show("Su código de cancelación es: " + cancelacion.codigo.ToString(), "Informe", MessageBoxButtons.OK); RepositorioHabitacion.Instance.CancelarReserva(reserva); this.Close(); } else { MessageBox.Show("Debe ingresar un motivo\n" + "por el cual realiza la cancelacion.", "Atención", MessageBoxButtons.OK); } }
private void CancelarTurnos() { IValidador vMotivo = new ValidadorString(textBox2, 1, 255); if (vMotivo.Validar()) { StringBuilder sb = new StringBuilder("Se cancelaran los siguientes días: ").Append(Environment.NewLine); for (DateTime dia = monthCalendar1.SelectionStart; dia <= monthCalendar1.SelectionEnd; dia = dia.AddDays(1)) { sb.Append(FechaHelper.Format(dia, FechaHelper.DateFormat)).Append(Environment.NewLine); } DialogResult ds = MensajePorPantalla.MensajeInterrogativo(this, sb.ToString(), MessageBoxButtons.YesNo); if (ds == DialogResult.Yes) { for (DateTime dia = monthCalendar1.SelectionStart; dia <= monthCalendar1.SelectionEnd; dia = dia.AddDays(1)) { IList <Turno> turnosDelDia = _domain.BuscarTurnos(_profesional.IdProfesional, dia).Retorno; foreach (Turno turno in turnosDelDia) { Cancelacion c = new Cancelacion(); c.CanceladoPor = 'P'; c.Fecha = FechaHelper.Ahora(); c.IdTipoCancelacion = ((TipoCancelacion)cbTipo.SelectedItem).IdTipoCancelacion; c.IdTurno = turno.IdTurno; c.Motivo = textBox2.Text; IResultado <Cancelacion> resultado = _domain.Cancelar(c); if (!resultado.Correcto) { throw new ResultadoIncorrectoException <Cancelacion>(resultado); } } } MensajePorPantalla.MensajeInformativo(this, "Se han cancelado los turnos"); this.Close(); } } }
private void button3_Click(object sender, EventArgs e) { try { Cancelacion c = new Cancelacion(); c.Fecha = FechaHelper.Ahora(); c.IdTipoCancelacion = ((TipoCancelacion)cbTipo.SelectedItem).IdTipoCancelacion; c.IdTurno = _turno.IdTurno; c.Motivo = tbMotivo.Text; c.CanceladoPor = 'A'; IResultado <Cancelacion> resultado = _domain.Cancelar(c); if (!resultado.Correcto) { throw new ResultadoIncorrectoException <Cancelacion>(resultado); } MensajePorPantalla.MensajeInformativo(this, "Su turno ha sido cancelado con éxito."); this.Close(); } catch (Exception ex) { MensajePorPantalla.MensajeError(this, ex.Message); } }
/// <summary> /// creates the cancelacion xml /// </summary> /// <param name="cancelDocumentParams"></param> /// <param name="cancelacion"></param> /// <returns></returns> private string createCancelationXML(CancelDocumentParams cancelDocumentParams, Cancelacion cancelacion) { //get FiscalInformation X509Certificate2 x509Certificate2 = new X509Certificate2(cancelDocumentParams.CertificateCER); //get cancelacion xml string xml = SerializerXml.SerializeObject(cancelacion); System.Security.Cryptography.Xml.Signature signature = new Cotorra.DigitalSign.DigitalSign().ApplySignature(cancelDocumentParams.CertificateKey, cancelDocumentParams.Password, xml); cancelacion.Signature = new SignatureType(); cancelacion.Signature.SignedInfo = new SignedInfoType(); cancelacion.Signature.SignedInfo.CanonicalizationMethod = new CanonicalizationMethodType(); cancelacion.Signature.SignedInfo.CanonicalizationMethod.Algorithm = signature.SignedInfo.CanonicalizationMethodObject.Algorithm; cancelacion.Signature.SignedInfo.SignatureMethod = new SignatureMethodType(); cancelacion.Signature.SignedInfo.SignatureMethod.Algorithm = signature.SignedInfo.SignatureMethod; cancelacion.Signature.SignedInfo.Reference = new ReferenceType(); Reference reference = (Reference)signature.SignedInfo.References[0]; cancelacion.Signature.SignedInfo.Reference.URI = reference.Uri; cancelacion.Signature.SignedInfo.Reference.Transforms = new List <TransformType>() { new TransformType() { Algorithm = ALGORITHM_TRANSFORMATION } }.ToArray(); cancelacion.Signature.SignedInfo.Reference.DigestMethod = new DigestMethodType(); cancelacion.Signature.SignedInfo.Reference.DigestMethod.Algorithm = reference.DigestMethod; cancelacion.Signature.SignedInfo.Reference.DigestValue = reference.DigestValue; cancelacion.Signature.SignatureValue = signature.SignatureValue; cancelacion.Signature.KeyInfo = new KeyInfoType(); cancelacion.Signature.KeyInfo.X509Data = new X509DataType(); cancelacion.Signature.SignedInfo.Reference.DigestValue = reference.DigestValue; cancelacion.Signature.SignatureValue = signature.SignatureValue; cancelacion.Signature.KeyInfo = new KeyInfoType(); cancelacion.Signature.KeyInfo.X509Data = new X509DataType(); cancelacion.Signature.KeyInfo.X509Data.X509IssuerSerial = new X509IssuerSerialType(); cancelacion.Signature.KeyInfo.X509Data.X509IssuerSerial.X509IssuerName = x509Certificate2.Issuer; cancelacion.Signature.KeyInfo.X509Data.X509IssuerSerial.X509SerialNumber = x509Certificate2.GetSerialNumberString(); cancelacion.Signature.KeyInfo.X509Data.X509Certificate = x509Certificate2.GetRawCertData(); //get xml cancelacion string xmlCancelacion = SerializerXml.SerializeObject(cancelacion); return(xmlCancelacion); }
protected void lnkCancelacionVenta_Click(object sender, EventArgs e) { lblError.Text = ""; try { DataTable dt = new DataTable(); dt.Columns.Add("renglon"); dt.Columns.Add("id_refacciones"); dt.Columns.Add("descripcion"); dt.Columns.Add("cantidad"); dt.Columns.Add("precio_unitario"); dt.Columns.Add("importe"); dt.Columns.Add("cantidad_restante"); Cancelacion cancelacion = new Cancelacion(); cancelacion.punto = Convert.ToInt32(Request.QueryString["p"]); cancelacion.caja = Convert.ToInt32(Request.QueryString["c"]); cancelacion.ticket = Convert.ToInt32(radTicket.Value); cancelacion.usuario = Request.QueryString["u"]; int caja = 0; cancelacion.obtieneCajaTicket(); try { if (Convert.ToBoolean(cancelacion.retorno[0])) { caja = Convert.ToInt32(cancelacion.retorno[1]); } else { caja = 0; } } catch (Exception ex) { caja = 0; } if (caja != 0) { cancelacion.cajaTicket = caja; cancelacion.obtieneInfoTicket(); if (Convert.ToBoolean(cancelacion.retorno[0])) { DataSet info = (DataSet)cancelacion.retorno[1]; int i = 0; foreach (DataRow r in info.Tables[0].Rows) { DataRow dr = dt.NewRow(); dr[0] = r[0]; dr[1] = r[1]; dr[2] = r[2]; dr[3] = r[3]; dr[4] = r[4]; dr[5] = r[7]; dr[6] = r[9]; dt.Rows.Add(dr); i++; } if (i != 0) { cancelacion.generaCancelacionCompleta(cancelacion, dt); if (Convert.ToBoolean(cancelacion.retorno[0])) { lblError.Text = "Se ha realizado la cancelacion de la venta. No. de cancelacion: " + Convert.ToInt32(cancelacion.retorno[1]); } else { lblError.Text = "No se pudo realizar la cancelacion de la venta. " + Convert.ToString(cancelacion.retorno[1]); } } else { lblError.Text = "Ya se a realizado la cancelación de la venta con anterioridad"; } } else { lblError.Text = "Error al intentar hacer la cancelacion. " + cancelacion.retorno[1].ToString(); } } else { lblError.Text = "El ticket indicado no existe o no es el correcto"; } } catch (Exception ex) { lblError.Text = "Error: " + ex.Message; } }
protected void btnCancelar_Click(object sender, EventArgs e) { lblError.Text = ""; LinkButton btn = (LinkButton)sender; string[] argumentos = btn.CommandArgument.Split(new char[] { ';' }); Producto prd = new Producto(); prd.ClaveProducto = argumentos[1]; Cancelacion cancelacion = new Cancelacion(); cancelacion.punto = Convert.ToInt32(Request.QueryString["p"]); cancelacion.caja = Convert.ToInt32(Request.QueryString["c"]); cancelacion.ticket = Convert.ToInt32(radTicket.Value); cancelacion.usuario = Request.QueryString["u"]; int caja = 0; cancelacion.obtieneCajaTicket(); try { if (Convert.ToBoolean(cancelacion.retorno[0])) { caja = Convert.ToInt32(cancelacion.retorno[1]); } else { caja = 0; } } catch (Exception ex) { caja = 0; } if (caja != 0) { cancelacion.cajaTicket = caja; decimal cantidad = Convert.ToDecimal(argumentos[2]); if (cantidad > 0) { if (chkCancelacion.Checked) { } else { if (cantidad > 1) { lblProductoCancelar.Text = argumentos[1] + " - " + argumentos[3]; decimal cantidadPrevia = 0; decimal cantidadFaltante = 0; cancelacion.cantidadCancelacionPrevia(argumentos[1], caja); if (Convert.ToBoolean(cancelacion.retorno[0])) { cantidadPrevia = Convert.ToDecimal(cancelacion.retorno[1]); if (cantidadPrevia >= cantidad) { Session["completado"] = true; lblError.Text = "El producto ya fue cancelado en su totalidad"; } else if (cantidadPrevia != 0) { cantidadFaltante = cantidad - cantidadPrevia; RadCantidadCancela.MaxValue = Convert.ToDouble(cantidadFaltante); RadCantidadCancela.Value = Convert.ToDouble(cantidadFaltante); Session["argumentosCancela"] = argumentos; Session["cancelacion"] = cancelacion; PanelMask.Visible = pnlTicket.Visible = true; Session["completado"] = false; } else if (cantidadPrevia == 0) { RadCantidadCancela.MaxValue = Convert.ToDouble(cantidad); RadCantidadCancela.Value = Convert.ToDouble(cantidad); Session["argumentosCancela"] = argumentos; Session["cancelacion"] = cancelacion; PanelMask.Visible = pnlTicket.Visible = true; Session["completado"] = false; } } else { lblError.Text = "Error al obtener informacion previa de cancelaciones. " + Convert.ToString(cancelacion.retorno[1]); } } else if (cantidad <= 1) { Session["completado"] = true; procesaCancelacionPieza(cancelacion, argumentos); } } } else { lblError.Text = "No es posible realizar la cancelacion del producto ya que no tiene cantidad registrada"; } } else { lblError.Text = "No se encuentra el ticket indicado"; } }
public string CancelarBloqueCfdi(string directorioLog, string directorioAcuse, Encabezado encLMetadata, string strPPrivada, string pass, string strCertificado, ref SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse cAcuse) { string result; try { AccesoServicios.Logger.Info("Privada: " + strPPrivada); AccesoServicios.Logger.Info("Certificado: " + strCertificado); AccesoServicios.Logger.Info("rfc:" + encLMetadata.RfcEmisor); AccesoServicios.Logger.Info("fecha:" + encLMetadata.Fecha); AccesoServicios.Logger.Info("uuid:" + encLMetadata.LisMListaFolios[0].ToString()); string strPXmlFirmado = ""; if (File.Exists(strPPrivada + ".pem")) { strPPrivada += ".pem"; } string ext = Path.GetExtension(strPPrivada); AccesoServicios.SignXmlFile(this.ArmarXmlPreFirma(encLMetadata), ref strPXmlFirmado, OpensslKey.DecodePrivateKey(File.ReadAllBytes(strPPrivada), pass, ext)); AccesoServicios.Logger.Info(strPXmlFirmado); SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignatureType a = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignatureType(); SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.ReferenceType reference = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.ReferenceType { URI = "" }; XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform(); a.SignedInfo = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignedInfoType { Reference = reference }; string hex = strPXmlFirmado.Substring(strPXmlFirmado.IndexOf("<DigestValue>") + 13, strPXmlFirmado.IndexOf("</DigestValue>") - strPXmlFirmado.IndexOf("<DigestValue>") - 13); a.SignedInfo.Reference.DigestValue = Convert.FromBase64String(hex); a.SignedInfo.Reference.DigestMethod = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.DigestMethodType { Algorithm = "http://www.w3.org/2000/09/xmldsig#sha1" }; a.SignedInfo.Reference.Transforms = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.TransformType[] { new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.TransformType() }; a.SignedInfo.Reference.Transforms[0].Algorithm = "http://www.w3.org/2000/09/xmldsig#enveloped-signature"; a.SignedInfo.CanonicalizationMethod = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.CanonicalizationMethodType { Algorithm = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" }; a.SignedInfo.SignatureMethod = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.SignatureMethodType { Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" }; a.SignatureValue = Convert.FromBase64String(strPXmlFirmado.Substring(strPXmlFirmado.IndexOf("<SignatureValue>") + 16, strPXmlFirmado.IndexOf("</SignatureValue>") - strPXmlFirmado.IndexOf("<SignatureValue>") - 16)); X509Certificate2 x509 = new X509Certificate2(strCertificado); a.KeyInfo = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.KeyInfoType(); a.KeyInfo.X509Data = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.X509DataType(); a.KeyInfo.X509Data.X509IssuerSerial = new SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.X509IssuerSerialType(); a.KeyInfo.X509Data.X509IssuerSerial.X509IssuerName = x509.IssuerName.Name.ToString(); a.KeyInfo.X509Data.X509IssuerSerial.X509SerialNumber = x509.SerialNumber; a.KeyInfo.X509Data.X509Certificate = File.ReadAllBytes(strCertificado); Console.WriteLine("Enviando Cancelación..."); string a2 = a.ToString(); Cancelacion mensajeCancelacion = new Cancelacion { RfcEmisor = encLMetadata.RfcEmisor, Fecha = Convert.ToDateTime(encLMetadata.Fecha), Signature = a }; mensajeCancelacion.Folios = new CancelacionFolios[encLMetadata.LisMListaFolios.Count]; for (int i = 0; i < encLMetadata.LisMListaFolios.Count; i++) { mensajeCancelacion.Folios[i] = new CancelacionFolios { UUID = encLMetadata.LisMListaFolios[i].ToString() }; } if (mensajeCancelacion.Folios.Count <CancelacionFolios>() > 0) { Console.WriteLine("Autenticando..."); HttpRequestMessageProperty tokenAutenticacion = this.AutenticaServicio(); using (new OperationContextScope(this.ClienteCancelacion.InnerChannel)) { OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = tokenAutenticacion; Console.WriteLine("Cancelando..."); SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse acuseCancelacion = this.ClienteCancelacion.CancelaCFD(mensajeCancelacion); MemoryStream acuseStream = new MemoryStream(); XmlSerializer xmlSerializer = new XmlSerializer(typeof(SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse)); xmlSerializer.Serialize(acuseStream, acuseCancelacion); acuseStream.Seek(0L, SeekOrigin.Begin); StreamReader acuseReader = new StreamReader(acuseStream); AccesoServicios.Log.Info("Terminando el proceso..."); cAcuse = acuseCancelacion; result = acuseReader.ReadToEnd(); return(result); } } result = string.Empty; return(result); } catch (Exception exception) { AccesoServicios.Log.Error("(CancelarBloqueCfdi) Error al cancelar los CFDI's " + exception.ToString()); } result = ""; return(result); }
protected void lnkAdjuntarID_Click(object sender, EventArgs e) { LinkButton aut = (LinkButton)sender; string[] argumentos = aut.CommandArgument.ToString().Split(new char[] { ';' }); string OC = Convert.ToString(argumentos[0]); lblError.Text = ""; lblError.CssClass = "errores"; string ruta = Server.MapPath("~/TMP"); byte[] imagen = null; // Si el directorio no existe, crearlo if (!Directory.Exists(ruta)) { Directory.CreateDirectory(ruta); } int archivos = 0, archivosCargado = 0; try { string filename = ""; int documentos = rauAdjuntoID.UploadedFiles.Count; archivos = documentos; for (int i = 0; i < documentos; i++) { filename = rauAdjuntoID.UploadedFiles[i].FileName; string[] segmenatado = filename.Split(new char[] { '.' }); bool archivoValido = validaArchivo(segmenatado[1]); string extension = segmenatado[1]; string archivo = String.Format("{0}\\{1}", ruta, filename); try { FileInfo file = new FileInfo(archivo); // Verificar que el archivo no exista if (File.Exists(archivo)) { file.Delete(); } switch (extension.ToLower()) { case "jpeg": System.Drawing.Image img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream); img.Save(archivo); imagen = Imagen_A_Bytes(archivo); break; case "jpg": img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream); img.Save(archivo); imagen = Imagen_A_Bytes(archivo); break; case "png": img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream); img.Save(archivo); imagen = Imagen_A_Bytes(archivo); break; case "gif": img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream); img.Save(archivo); imagen = Imagen_A_Bytes(archivo); break; case "bmp": img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream); img.Save(archivo); imagen = Imagen_A_Bytes(archivo); break; case "tiff": img = System.Drawing.Image.FromStream(rauAdjuntoID.UploadedFiles[i].InputStream); img.Save(archivo); imagen = Imagen_A_Bytes(archivo); break; default: Telerik.Web.UI.UploadedFile up = rauAdjuntoID.UploadedFiles[i]; up.SaveAs(archivo); imagen = File.ReadAllBytes(archivo); break; } } catch (Exception) { imagen = null; } if (imagen != null) { Cancelacion docto = new Cancelacion(); string id = Convert.ToString(txtid.Text); docto.id_producto = id; docto.adjunto = imagen; docto.nombreAdjunto = segmenatado[0]; docto.extension = segmenatado[1].ToLower(); docto.agregaAdjuntoRP(); if (Convert.ToBoolean(docto.retorno[0])) { docto.ActualizatieneId(); lblError.Text = "Se han guardardado " + archivosCargado + " de " + archivos + " seleccionados"; rauAdjuntoID.Visible = false; lnkAdjuntarID.Visible = false; } else { lblErrorFotoID.Text = "Error al guardar " + archivosCargado + " de " + archivos + " seleccionados"; } object[] retorno = docto.retorno; if (Convert.ToBoolean(retorno[0])) { archivosCargado++; } } } } catch (Exception) { imagen = null; lblErrorFotoID.Text = "Favor de cargar algun adjunto"; } finally { string id = Convert.ToString(txtid.Text); dataimg.SelectCommand = "select * from fotografias_productos where id_producto = '" + id + "'"; DataListFotosDanos.DataBind(); rauAdjuntoID.DataBind(); } }
public SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse CancelaCfdi(Cancelacion cancelacion) { HttpRequestMessageProperty tokenAutenticacion = this.AutenticaServicio(); CancelaCFDBindingClient clienteCancelacion = new CancelaCFDBindingClient(); SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse result; using (new OperationContextScope(clienteCancelacion.InnerChannel)) { OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = tokenAutenticacion; SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse acuseCancelacion = clienteCancelacion.CancelaCFD(cancelacion); result = acuseCancelacion; } return(result); }
/// <summary> /// CancelDocumetAsync /// </summary> /// <returns></returns> public async Task <CancelPayrollStampingResult> CancelDocumetAsync(CancelDocumentParams cancelDocumentParams) { var cancelPayrollStampingResult = new CancelPayrollStampingResult(); try { //Get datetime from ZipCode of Employer var zipCodeManager = new ZipCodeManager(cancelDocumentParams.ZipCodes); (var zipcode, var datetimeFromZipCode) = await zipCodeManager.GetZipCode(cancelDocumentParams.IssuerZipCode); //Fill the cancelation object Cancelacion cancelacion = new Cancelacion(); cancelacion.RfcEmisor = cancelDocumentParams.IssuerRFC; cancelacion.Fecha = DateTime.Parse(string.Format("{0:s}", datetimeFromZipCode), CultureInfo.InvariantCulture); var cancelacionFolios = new List <CancelacionFolios>(); var uuids = cancelDocumentParams.CancelDocumentParamsDetails.Select(p => p.UUID).ToList(); uuids.ForEach(p => cancelacionFolios.Add(new CancelacionFolios() { UUID = p.ToString().ToLower() })); cancelacion.Folios = cancelacionFolios.ToArray(); //Creates the cancelationXML var xmlCancelation = createCancelationXML(cancelDocumentParams, cancelacion); //Call PAC for cancelation var stampResult = new CancelDocumentResult <ICFDINomProvider>(); stampResult.CancelationXML = xmlCancelation; stampResult.InstanceID = cancelDocumentParams.InstanceID; IPACProvider pACProvider = FactoryPACProvider.CreateInstanceFromConfig(); var cancelationPACResult = await pACProvider.CancelStampingDocumentAsync(stampResult); if (cancelationPACResult.WithErrors) { cancelPayrollStampingResult.WithErrors = true; cancelPayrollStampingResult.Message = cancelationPACResult.Details; } else { cancelPayrollStampingResult.WithErrors = false; cancelPayrollStampingResult.CancelacionXMLRequest = cancelationPACResult.CancelationXML; cancelPayrollStampingResult.CancelacionXMLAcknowledgeResponse = cancelationPACResult.CancelationAcknowledgmentReceipt; //Fill each UUID with the proper status var acuse = SerializerXml.DeserializeObject <Acuse>(cancelationPACResult.CancelationAcknowledgmentReceipt); acuse.Folios.ForEach(p => { var detail = new CancelPayrollStampingResultDetail(); /* * 201 - El folio se ha cancelado con éxito. * 202 - El CFDI ya había sido cancelado previamente. * 203 - UUID no corresponde al emisor. * 204 - El CFDI no aplica para cancelación. * 205 - El UUID no existe o no ha sido procesado por el SAT. * 402 - El Contribuyente no se encuentra el la LCO o la validez de obligaciones se reporta como negativa. */ if (p.EstatusUUID == "201" || p.EstatusUUID == "202") //estatus good { statusCancelationCodes.TryGetValue(p.EstatusUUID, out string message); detail.Message = $"{p.EstatusUUID} : {message}"; detail.UUID = Guid.Parse(p.UUID); detail.PayrollStampingResultStatus = PayrollStampingResultStatus.Success; } else { statusCancelationCodes.TryGetValue(p.EstatusUUID, out string message); detail.Message = $"Error al cancelar {p.EstatusUUID} : {message}"; detail.UUID = Guid.Parse(p.UUID); detail.PayrollStampingResultStatus = PayrollStampingResultStatus.Fail; } cancelPayrollStampingResult.CancelPayrollStampingResultDetails.Add(detail); }); } } catch (Exception ex) { cancelPayrollStampingResult.WithErrors = true; cancelPayrollStampingResult.Message = $"Ocurrió un error no controlado en la cancelación: {ex.Message}"; } return(cancelPayrollStampingResult); }
public List<Cancelacion> ReporteCancelaciones(int idCooperativa, string fechaInicio, string fechaFin) { InicializaConexion(); List<Cancelacion> listaTmp = new List<Cancelacion>(); sqlDataAdapter.SelectCommand = new SqlCommand("Cancelaciones", sqlConnection); sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; if (idCooperativa == 0) //REPORTE PRYBE { sqlDataAdapter.SelectCommand.Parameters.Add("@ID", SqlDbType.Int).Value = DBNull.Value; sqlDataAdapter.SelectCommand.Parameters["@ID"].Direction = ParameterDirection.Input; sqlDataAdapter.SelectCommand.Parameters.Add("@Oper", SqlDbType.Int).Value = 3; sqlDataAdapter.SelectCommand.Parameters["@Oper"].Direction = ParameterDirection.Input; } else //REPORTE POR COOPERATIVA ESPECIFICADA EN EL ID COOPERATIVA { sqlDataAdapter.SelectCommand.Parameters.Add("@ID", SqlDbType.Int).Value = idCooperativa; sqlDataAdapter.SelectCommand.Parameters["@ID"].Direction = ParameterDirection.Input; sqlDataAdapter.SelectCommand.Parameters.Add("@Oper", SqlDbType.Int).Value = 2; sqlDataAdapter.SelectCommand.Parameters["@Oper"].Direction = ParameterDirection.Input; } if (fechaInicio == "") { sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Ini", SqlDbType.DateTime).Value = DBNull.Value; sqlDataAdapter.SelectCommand.Parameters["@Fecha_Ini"].Direction = ParameterDirection.Input; } else { sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Ini", SqlDbType.DateTime).Value = fechaInicio; sqlDataAdapter.SelectCommand.Parameters["@Fecha_Ini"].Direction = ParameterDirection.Input; } if (fechaFin == "") { sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Fin", SqlDbType.DateTime).Value = DBNull.Value; sqlDataAdapter.SelectCommand.Parameters["@Fecha_Fin"].Direction = ParameterDirection.Input; } else { sqlDataAdapter.SelectCommand.Parameters.Add("@Fecha_Fin", SqlDbType.DateTime).Value = fechaFin; sqlDataAdapter.SelectCommand.Parameters["@Fecha_Fin"].Direction = ParameterDirection.Input; } sqlDataAdapter.Fill(ds, "Cancelaciones"); foreach (DataRow dr in ds.Tables["Cancelaciones"].Rows) { Cancelacion tmp = new Cancelacion(); tmp.Socio = Convert.ToString(dr["Socio"]); tmp.Coop = Convert.ToString(dr["Coop"]); tmp.Plaza = Convert.ToString(dr["Plaza"]); tmp.Sucursal = Convert.ToString(dr["Sucursal"]); tmp.NoPoliza = Convert.ToString(dr["Poliza"]); tmp.FechaSolicitud = Convert.ToString(dr["Fecha_Soc_Can"]); tmp.FechaCancelacion = Convert.ToString(dr["Fecha_Endoso"]); tmp.PrimasNoDevengadas = Convert.ToString(dr["Primas_No_Dev"]); tmp.Status = Convert.ToString(dr["Estado"]); listaTmp.Add(tmp); } FinalizaConexion(); return listaTmp; }
private void devolucionButton_Click(object sender, EventArgs e) { int pasajesCount = this.pasajesDatagrid.SelectedRows.Count; int paquetesCount = this.paquetesDatagrid.SelectedRows.Count; if (pasajesCount == 0 && paquetesCount == 0) { MessageBox.Show("Debe elegir por lo menos un pasaje o una encomienda para iniciar la cancelación.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } DialogResult result = MessageBox.Show(this.buildConfirmMsg(pasajesCount, paquetesCount), "Advertencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (result != DialogResult.OK) { return; } DAO.connect(); DataGridViewRow d = this.pasajesDatagrid.SelectedRows[0]; decimal cod = (decimal)d.Cells[0].Value; Pasaje p = DAO.selectOne <Pasaje>(new[] { "codigo = " + cod.ToString() }); Compra_Pasaje cpp = DAO.selectOne <Compra_Pasaje>(new[] { "pasaje_id = " + p.Id }); Models.Compra referencia = DAO.selectOne <Models.Compra>(new[] { "id = " + cpp.Compra_Id }); Cancelacion cancelacion = new Cancelacion(); cancelacion.Fecha = Config.SystemConfig.systemDate; cancelacion.Motivo = this.motivoTextbox.Text; cancelacion.Numero_Compra = referencia.PNR; int cancelacion_id = DAO.insert <Cancelacion>(cancelacion); foreach (DataGridViewRow pasaje in this.pasajesDatagrid.SelectedRows) { decimal codigo = (decimal)pasaje.Cells[0].Value; Pasaje pasaje_cancelado = DAO.selectOne <Pasaje>(new[] { "codigo = " + codigo.ToString() }); Cancelacion_Pasaje cp = new Cancelacion_Pasaje(); cp.Cancelacion_Id = cancelacion_id; cp.Pasaje_Id = pasaje_cancelado.Id; pasaje_cancelado.Activo = false; DAO.insert <Cancelacion_Pasaje>(cp); DAO.update <Pasaje>(pasaje_cancelado); } foreach (DataGridViewRow paquete in this.paquetesDatagrid.SelectedRows) { decimal codigo = (decimal)paquete.Cells[0].Value; Paquete paquete_cancelado = DAO.selectOne <Paquete>(new[] { "codigo = " + codigo.ToString() }); Cancelacion_Paquete cp = new Cancelacion_Paquete(); cp.Cancelacion_Id = cancelacion_id; cp.Paquete_Id = paquete_cancelado.Id; paquete_cancelado.Activo = false; DAO.insert <Cancelacion_Paquete>(cp); DAO.update <Paquete>(paquete_cancelado); } DAO.closeConnection(); MessageBox.Show("Baja concretada.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); }