public static void Send_Test(string securityURL, string targetUrl, string userCode, string userPwd, string toCode, string dataStr, ActionType actionType) { try { UserSecurityImpl imp = new UserSecurityImpl(securityURL); UUserToken _token = imp.authenticate(userCode, userPwd); UExchangeTransportImpl iet = new UExchangeTransportImpl(targetUrl); string[] toAddress = new string[] { toCode }; //接收者地址 //string actionType = "LOGINK_CN_TRANSPORT_PREBOOKING"; //接收者地址 int sendType = 2; //定义好发送事件类型 1:简单值(即键值对)(类型为 Dictionary ) 2: xml文档,类型为 string string sendData = dataStr; //定义好数据信息 sendData 类型参照 sendType 的定义(即1为 Dictionary, 2为 string); USendRequest sendRequest = new USendRequest(toAddress); sendRequest.addSendEvent(actionType.ToString(), sendType, sendData); String eventId = sendRequest.getExchangeEvent().getEventId(); USendResponse sendResponse = iet.send(_token, sendRequest); if (!sendResponse.SendResult) { throw new Exception(string.Format("发送失败[事件编号:{0} 异常代码:{1} 异常消息:{2} 接收者编号:{3}]", eventId, sendResponse.Fault.getCodeField().Trim(), sendResponse.Fault.getErrorMessageField().Trim(), toCode)); } } catch (Exception ex) { throw new Exception("接收者编号:[" + toCode + "] 发送出错[" + ex.Message + "]"); } }
//private string encriptar(string input) //{ // SHA256CryptoServiceProvider provider = new SHA256CryptoServiceProvider(); // byte[] inputBytes = Encoding.UTF8.GetBytes(input); // byte[] hashedBytes = provider.ComputeHash(inputBytes); // StringBuilder output = new StringBuilder(); // for (int i = 0; i < hashedBytes.Length; i++) // output.Append(hashedBytes[i].ToString("x2").ToLower()); // return output.ToString(); //} public int Recuperar(int x, string y) { DUser user = new DUser(); UUserToken token = new UUserToken(); int sesion = 0; if (x > 0) { DataTable info = user.obtenerUsusarioToken(y); if (int.Parse(info.Rows[0][0].ToString()) == -1) { token.Url = "<script type='text/javascript'>alert('El Token es invalido. Genere uno nuevo');window.location=\"Loggin.aspx\"</script>"; } else if (int.Parse(info.Rows[0][0].ToString()) == -1) { token.Url = "<script type='text/javascript'>alert('El Token esta vencido. Genere uno nuevo');window.location=\"Loggin.aspx\"</script>"; } else { sesion = int.Parse(info.Rows[0][0].ToString()); } } else { token.Url = "Inicio.aspx"; } return(sesion); }
protected void Guardar_new_pass_Click(object sender, EventArgs e) { LUser user = new LUser(); UUserToken datos = new UUserToken(); int x = int.Parse(Session["user_id"].ToString()); string y = TB_newPass.Text; user.guardarcontra(x, y); }
protected void Aceptar_Click(object sender, EventArgs e) { LUser Lau = new LUser(); UUserToken user = new UUserToken(); user = Lau.GenerarToken(TB_generar_token.Text); L_Mensaje.Text = (user.Mensaje); this.RegisterStartupScript("mensaje", user.Url); }
public void guardarcontra(int x, string y) { UUserToken datos = new UUserToken(); DUser user = new DUser(); datos.User_id = x; datos.Clave = y; user.actualziarContrasena(datos); datos.Url = "<script type='text/javascript'>alert('Su Contraseña ha sido actualizada.');window.location=\"Loggin.aspx\"</script>"; }
public UReserva Reserva(UReserva datos) { DUser data = new DUser(); UReserva user = new UReserva(); if (datos.Nombre != null) { data.InsertReserva(datos); System.Data.DataTable validez1 = data.obtenerReserva(datos.Id_usuario); user.Id_reserva = int.Parse(validez1.Rows[0]["id_reserva"].ToString()); System.Data.DataTable validez = data.generarTokenReserva(user.Id_reserva); if (int.Parse(validez.Rows[0]["id_usuario"].ToString()) > 0) { UUserToken token = new UUserToken(); token.Id = int.Parse(validez.Rows[0]["id_reserva"].ToString()); token.Id_usuario = int.Parse(validez.Rows[0]["id_usuario"].ToString()); token.Id_Mesa = int.Parse(validez.Rows[0]["id_mesa"].ToString()); token.Estado = int.Parse(validez.Rows[0]["estado"].ToString()); token.Correo = validez.Rows[0]["email"].ToString(); token.Fecha = DateTime.Now.ToFileTimeUtc(); String userToken = encriptar(JsonConvert.SerializeObject(token)); data.almacenarTokenReserva(userToken, token.Id); CorreoR correo = new CorreoR(); String mensaje = "su link de acceso es: " + "http://52.14.131.2/View/pago.aspx?" + userToken; correo.enviarCorreo(token.Correo, userToken, mensaje); //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('Para Confirmar su reseva por favor pague el valor de la reserva');</script>"); user.Mensaje = "<script type='text/javascript'>alert('Para Confirmar su reseva,por favor pague el valor de la reserva');window.location=\"Resrvas.aspx\"</script>"; } else if (int.Parse(validez.Rows[0]["id_usuario"].ToString()) == -2) { user.Mensaje = "<script type='text/javascript'>alert('Ya existe un token, por favor verifique su correo.');</script>"; } else { user.Mensaje = "<script type='text/javascript'>alert('La Reserva no existe');</script>"; } } else { user.Mensaje = "<script type='text/javascript'>alert('No puede reservas si no esta Logueado');window.location=\"Loggin.aspx\"</script>"; //this.RegisterStartupScript("mensaje", "<script type='text/javascript'>alert('No puede reservas si no esta Logueado');window.location=\"Loggin.aspx\"</script>"); //cm.RegisterClientScriptBlock(this.GetType(), "", "<script type='text/javascript'>alert('No puede reservas si no esta Logueado');</script>"); ////Response.Redirect("Loggin.aspx"); } return(user); }
public UUserToken GenerarToken(String user_name) { DUser data = new DUser(); DataTable validez = data.generarToken(user_name); UUserToken token = new UUserToken(); if (int.Parse(validez.Rows[0]["id_usuario"].ToString()) > 0) { token.Id = int.Parse(validez.Rows[0]["id_usuario"].ToString()); token.Nombre = validez.Rows[0]["nombre"].ToString(); token.Apellido = validez.Rows[0]["apellido"].ToString(); token.Correo = validez.Rows[0]["email"].ToString(); token.Telefono = validez.Rows[0]["telefono"].ToString(); token.Cedula = validez.Rows[0]["cedula"].ToString(); token.Puntos = validez.Rows[0]["puntos"].ToString(); token.Id_rol = validez.Rows[0]["id_rol"].ToString(); token.User_name = validez.Rows[0]["user_name"].ToString(); token.Clave = validez.Rows[0]["clave"].ToString(); token.Session = validez.Rows[0]["session"].ToString(); token.Estado = int.Parse(validez.Rows[0]["estado"].ToString()); token.Fecha = DateTime.Now.ToFileTimeUtc(); String userToken = encriptar(JsonConvert.SerializeObject(token)); data.almacenarToken(userToken, token.Id); Correo correo = new Correo(); String mensaje = "su link de acceso es: " + "http://18.216.35.197/View/Recuperar_Contraseña.aspx?" + userToken; correo.enviarCorreo(token.Correo, userToken, mensaje); token.Url = "<script type='text/javascript'>alert('Su nueva contraseña ha sido enviada exitosamente a su correo');window.location=\"Loggin.aspx\"</script>"; } else if (int.Parse(validez.Rows[0]["id_usuario"].ToString()) == -2) { token.Mensaje = "Ya existe un token, por favor verifique su correo."; } else { token.Mensaje = "El usurio digitado no existe"; } return(token); }
public static bool Confirm_Test(UReceiveResponse response, string targetUrl, UUserToken _token) { try { UExchangeTransportImpl ueti = new UExchangeTransportImpl(targetUrl); UConfirmReceiveResponse ConfirmResponse = ueti.confirm(_token, response.getConfirmReceiveRequest()); if (ConfirmResponse != null) { if (ConfirmResponse.getConfirmResultField() == "true") { return(true); } } } catch (UCommonFaultType ex) { throw new Exception(string.Format("接收确认失败[失败代码:{0} 失败内容:{1}]", ex.getCodeField().Trim(), ex.getErrorMessageField().Trim())); } catch (Exception ex) { throw new Exception("调用接收确认异常:" + ex.GetBaseException()); } return(false); }
/// <summary> /// 运管平台订单同步 测试环境 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _bw_DoWork_Logink_Test(object sender, DoWorkEventArgs e) { DateTime dtNow = DateTime.Now; string msg = dtNow.ToString() + ":【同步TMS运单】 "; UReceiveResponse response = null; UUserToken _token = null; int handelCount = 0; try { List <string> senderCodeList = TMSOrderServer.GetAllLoginkSenderCode(); if (senderCodeList.Count == 0) { msg += "没有配置通过运管平台交换数据的上游发货单位"; return; } response = LoginkHelp.Receive_Test(Utility._SecurityURL, Utility._TransportURL, Utility._MyCode, Utility._MyPwd, ref _token); if (response == null || response.getEventReceiverList() == null || (response != null && response.getEventReceiverList() != null && response.getEventReceiverList().Count == 0)) { msg += "没有数据接收"; return; } UEventReceiver evevnt = response.getEventReceiverList()[0]; string sendCode = evevnt.getEventsender(); //如果返回内容中有键值对,则保存到错误日志中 if (evevnt.getSimpledata() != null) { StringBuilder dicStr = new StringBuilder(); foreach (KeyValuePair <string, string> item in evevnt.getSimpledata()) { dicStr.AppendLine(string.Format("key={0},value={1}", item.Key, item.Value)); } handelCount = 1; Utility.SaveErrLog(dicStr.ToString(), "Order"); msg += "接收到的数据存在字典,已保存到ErrLog目录中"; } //接收到的是附件 if (evevnt.getAttachmentData() != null) { handelCount = 1; //保存附件到c盘 FileUtil.writeFile(evevnt.getAttachmentData(), "ErrLog/" + dtNow.ToString("yyyyMMdd_HH:mm:ss") + "_" + sendCode + evevnt.getFilename()); msg += "接收到的数据存在附件,已保存到ErrLog目录中"; } if (evevnt.getXmlcontent() != null) { if (!senderCodeList.Contains(sendCode)) { handelCount = 1; msg += "[Code:" + sendCode + "]没有加入系统,不保存此订单数据"; string filePath = Utility.SaveXMLFile(evevnt.getXmlcontent(), dtNow, sendCode); msg += " 已保存XML数据到[" + filePath + "]"; Utility.SaveErrLog(msg, "Order"); return; } try { List <M_TMSOrder> orders = Utility.ParseXMLToObjec <List <M_TMSOrder> >(evevnt.getXmlcontent()); TMSOrderServer.AddTMSOrders_Logink(orders, sendCode); handelCount = 1; Utility.SaveXMLRequestAndRespond(evevnt.getXmlcontent(), string.Empty, "Order", orders.Count.ToString()); msg += "成功同步" + orders.Count + "条数据 Sender[" + sendCode + "]"; } catch (Exception ex) { string filePath = Utility.SaveXMLFile(evevnt.getXmlcontent(), dtNow, sendCode); msg += ex.Message + " ,已保存XML数据到[" + filePath + "]"; SendEmail(new Exception(msg), filePath); } } } catch (Exception ex) { msg += ex.Message + " "; Utility.SaveErrLog(ex.Message, "Order"); } finally { if (response != null && response.getEventReceiverList() != null && response.getEventReceiverList().Count > 0 && handelCount > 0) { try { if (LoginkHelp.Confirm_Test(response, Utility._TransportURL, _token)) { msg += " 接收确认成功"; } else { msg += " 接收确认失败"; } } catch (Exception ex) { msg += " " + ex.Message; } } Console.WriteLine(msg.Replace("\n", "")); } }
/// <summary> /// 固定接收一条数据 /// </summary> /// <param name="securityURL"></param> /// <param name="targetUrl"></param> /// <param name="userCode"></param> /// <param name="userPwd"></param> /// <returns></returns> public static UReceiveResponse Receive_Test(string securityURL, string targetUrl, string userCode, string userPwd, ref UUserToken _token) { try { UserSecurityImpl imp = new UserSecurityImpl(securityURL); _token = imp.authenticate(userCode, userPwd); UExchangeTransportImpl ueti = new UExchangeTransportImpl(targetUrl); UReceiveRequest receiveRequest = new UReceiveRequest(userCode, 1); try { UReceiveResponse response = ueti.receive(_token, receiveRequest); return(response); } catch (UCommonFaultType ex) { throw new Exception(string.Format("接收失败[失败代码:{0} 失败内容:{1}]", ex.getCodeField().Trim(), ex.getErrorMessageField().Trim())); } catch (Exception ex) { throw new Exception("接收出现错误或者没有数据接收:" + ex.GetBaseException()); } } catch (Exception ex) { throw new Exception("接收出错[" + ex.Message + "]"); } }