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 + "]");
     }
 }
Beispiel #2
0
        //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);
        }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
        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>";
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
 }
Beispiel #9
0
        /// <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", ""));
            }
        }
Beispiel #10
0
 /// <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 + "]");
     }
 }