Esempio n. 1
0
        /// <summary>
        /// Método para realizar crear una persona
        /// <param name="pPersona">Objeto de tipo E_PERSONA con datos de la persona a insertar</param>
        /// /// <param name="pAcceso">Objeto de tipo E_ACCESO_PERSONA con datos para inicio de sesión</param>
        /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns>
        /// </summary>
        public E_MENSAJE CreaPersona(E_PERSONA pPersona, E_ACCESO_PERSONA pAcceso)
        {
            try
            {
                using (context = new ViajesEntities())
                {
                    ObjectParameter RET_ID_PERSONA    = new ObjectParameter("RET_ID_PERSONA", typeof(string));
                    ObjectParameter RET_NUMEROERROR   = new ObjectParameter("RET_NUMEROERROR", typeof(string));
                    ObjectParameter RET_MENSAJEERROR  = new ObjectParameter("RET_MENSAJEERROR", typeof(string));
                    ObjectParameter RET_VALORDEVUELTO = new ObjectParameter("RET_VALORDEVUELTO", typeof(string));


                    context.SP_PERSONA(pPersona.IdPersona, pPersona.Nombre, pPersona.Telefono, pPersona.Fotografia,
                                       pAcceso.Email, pAcceso.Password, pAcceso.TipoUsuario, pAcceso.TokenFirebase, "U",
                                       null, null, null, null, null, null, null, pAcceso.ClavePassword, "I", pPersona.IdPersonaMod,
                                       RET_ID_PERSONA, RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO);

                    E_MENSAJE vMensaje = new E_MENSAJE {
                        RET_ID_PERSONA = int.Parse(RET_ID_PERSONA.Value.ToString()), RET_NUMEROERROR = int.Parse(RET_NUMEROERROR.Value.ToString()), RET_MENSAJEERROR = RET_MENSAJEERROR.Value.ToString(), RET_VALORDEVUELTO = RET_VALORDEVUELTO.Value.ToString()
                    };
                    return(vMensaje);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Método para consultar agregar conductores
        /// <param name="Entidad">Datos generales del conductor a agregar</param>
        /// <param name="pDatosAcceso">Datos de acceso de conductor</param>
        /// <param name="pDatosExtras">Datos adicionales de conductor</param>
        /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns>
        /// </summary>
        public E_MENSAJE Agregar(E_PERSONA pPersona, E_ACCESO_PERSONA pAcceso, E_CONDUCTOR pDatosExtras)
        {
            try
            {
                using (context = new ViajesEntities())
                {
                    ObjectParameter RET_ID_PERSONA    = new ObjectParameter("RET_ID_PERSONA", typeof(string));
                    ObjectParameter RET_NUMEROERROR   = new ObjectParameter("RET_NUMEROERROR", typeof(string));
                    ObjectParameter RET_MENSAJEERROR  = new ObjectParameter("RET_MENSAJEERROR", typeof(string));
                    ObjectParameter RET_VALORDEVUELTO = new ObjectParameter("RET_VALORDEVUELTO", typeof(string));


                    context.SP_PERSONA(pPersona.IdPersona, pPersona.Nombre, pPersona.Telefono, pPersona.Fotografia,
                                       pAcceso.Email, pAcceso.Password, pAcceso.TipoUsuario, pAcceso.TokenFirebase, pPersona.Sexo,
                                       pDatosExtras.Colonia, pDatosExtras.Calle, pDatosExtras.NoExt, pDatosExtras.NoInt, pDatosExtras.NoLicencia, pDatosExtras.NoPlacas, pDatosExtras.Tipo,
                                       pAcceso.ClavePassword, "I", pPersona.IdPersonaMod, RET_ID_PERSONA, RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO);

                    E_MENSAJE vMensaje = new E_MENSAJE {
                        RET_ID_PERSONA = int.Parse(RET_ID_PERSONA.Value.ToString()), RET_NUMEROERROR = int.Parse(RET_NUMEROERROR.Value.ToString()), RET_MENSAJEERROR = RET_MENSAJEERROR.Value.ToString(), RET_VALORDEVUELTO = RET_VALORDEVUELTO.Value.ToString()
                    };
                    return(vMensaje);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Método para actualizar acceesos de persona
        /// <param name="pPersona">Objeto de tipo E_PERSONA con datos a actualizar</param>
        /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns>
        /// </summary>
        public E_MENSAJE Editar(E_ACCESO_PERSONA pAcceso)
        {
            try
            {
                using (context = new ViajesEntities())
                {
                    ObjectParameter RET_NUMEROERROR   = new ObjectParameter("RET_NUMEROERROR", typeof(string));
                    ObjectParameter RET_MENSAJEERROR  = new ObjectParameter("RET_MENSAJEERROR", typeof(string));
                    ObjectParameter RET_VALORDEVUELTO = new ObjectParameter("RET_VALORDEVUELTO", typeof(string));


                    /*context.SP_PRODUCTO(pProducto.IdProducto, pProducto.Nombre, pProducto.Descripcion, pProducto.Precio,
                     *                   pProducto.Fotografia, pProducto.IdLocal, pProducto.IdPersonaModifica, pProducto.Estatus, "U",
                     *                   RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO);*/

                    E_MENSAJE vMensaje = new E_MENSAJE {
                        RET_NUMEROERROR = int.Parse(RET_NUMEROERROR.Value.ToString()), RET_MENSAJEERROR = RET_MENSAJEERROR.Value.ToString(), RET_VALORDEVUELTO = RET_VALORDEVUELTO.Value.ToString()
                    };
                    return(vMensaje);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 4
0
 /// <summary>
 /// Método para realizar crear una persona
 /// <param name="pPersona">Objeto de tipo E_PERSONA con datos de la persona a insertar</param>
 /// /// <param name="pAcceso">Objeto de tipo E_ACCESO_PERSONA con datos para inicio de sesión</param>
 /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns>
 /// </summary>
 public E_MENSAJE ActualizarPersona(E_PERSONA pPersona, E_ACCESO_PERSONA pAcceso)
 {
     try
     {
         LoginOperaciones pDatos = new LoginOperaciones();
         return(pDatos.CreaPersona(pPersona, pAcceso));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 5
0
 /// <summary>
 /// Método para realizar inicio de sesión
 /// <param name="pAcceso">Objeto de tipo E_ACCESO_PERSONA con datos del inicio de sesión</param>
 /// <returns> Objeto tipo E_LOGIN con los datos del movimiento </returns>
 /// </summary>
 public E_LOGIN Login(E_ACCESO_PERSONA pAccceso)
 {
     try
     {
         LoginOperaciones pDatos = new LoginOperaciones();
         return(pDatos.Login(pAccceso));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 /// <summary>
 /// Método para consultar agregar conductores
 /// <param name="Entidad">Datos generales del conductor a agregar</param>
 /// <param name="pDatosAcceso">Datos de acceso de conductor</param>
 /// <param name="pDatosExtras">Datos adicionales de conductor</param>
 /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns>
 /// </summary>
 public E_MENSAJE Agregar(E_PERSONA Entidad, E_ACCESO_PERSONA pDatosAcceso, E_CONDUCTOR pDatosExtras)
 {
     try
     {
         ConductorOperaciones pDatos = new ConductorOperaciones();
         return(pDatos.Agregar(Entidad, pDatosAcceso, pDatosExtras));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 7
0
        /// <summary>
        /// Método para realizar inicio de sesión
        /// <param name="pAcceso">Objeto de tipo E_ACCESO_PERSONA con datos del inicio de sesión</param>
        /// <returns> Objeto tipo E_LOGIN con los datos del movimiento </returns>
        /// </summary>
        public E_LOGIN Login(E_ACCESO_PERSONA pAcceso)
        {
            try
            {
                var respuesta = new E_LOGIN();
                using (context = new ViajesEntities())
                {
                    ObjectParameter RET_ID_PERSONA    = new ObjectParameter("RET_ID_PERSONA", typeof(string));
                    ObjectParameter RET_NUMEROERROR   = new ObjectParameter("RET_NUMEROERROR", typeof(string));
                    ObjectParameter RET_MENSAJEERROR  = new ObjectParameter("RET_MENSAJEERROR", typeof(string));
                    ObjectParameter RET_VALORDEVUELTO = new ObjectParameter("RET_VALORDEVUELTO", typeof(string));


                    context.SP_LOGIN(pAcceso.Email, pAcceso.Password, pAcceso.TipoUsuario, RET_ID_PERSONA,
                                     RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO);

                    E_MENSAJE vMensaje = new E_MENSAJE {
                        RET_NUMEROERROR = int.Parse(RET_NUMEROERROR.Value.ToString()), RET_MENSAJEERROR = RET_MENSAJEERROR.Value.ToString(), RET_VALORDEVUELTO = RET_VALORDEVUELTO.Value.ToString()
                    };
                    var intIdPersona = int.Parse(RET_ID_PERSONA.Value.ToString());

                    if (vMensaje.RET_NUMEROERROR == 0)
                    {
                        //Login correcto, carga datos de la persona
                        respuesta.CORRECTO = true;
                        respuesta.MENSAJE  = vMensaje.RET_MENSAJEERROR;


                        //var persona = context.CTL_PERSONA.SqlQuery(String.Format("SELECT * FROM dbo.CTL_PERSONA where id_persona", intIdPersona)).ToList();
                        var persona = (from s in context.CTL_PERSONA
                                       where s.id_persona == intIdPersona
                                       select s).ToList <CTL_PERSONA>().FirstOrDefault();
                        respuesta.PERSONA = new E_PERSONA()
                        {
                            IdPersona = persona.id_persona, Nombre = persona.nombre, Fotografia = persona.fotografia, Telefono = persona.telefono
                        };
                    }
                    else
                    {
                        respuesta.CORRECTO = false;
                        respuesta.MENSAJE  = vMensaje.RET_VALORDEVUELTO;
                    }
                    return(respuesta);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <HttpResponseMessage> Login([FromBody] LoginRequest pLoginRequest)
        {
            var respuesta    = new LoginResponse {
            };
            var    strMetodo = "WSViajes - Login ";
            string sid       = Guid.NewGuid().ToString();

            try
            {
                if (pLoginRequest == null)
                {
                    respuesta.Mensaje = "No se recibió usuario.";
                }
                else if (String.IsNullOrEmpty(pLoginRequest.Email))
                {
                    respuesta.Mensaje = "El elemento  <<Email>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pLoginRequest.Password))
                {
                    respuesta.Mensaje = "Debe especificar el <<Password>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pLoginRequest.TipoUsuario.ToString()))
                {
                    respuesta.Mensaje = "Debe especificar el <<TipoUsuario>> no puede estar vacío.";
                }
                else
                {
                    var objAcceso = new E_ACCESO_PERSONA {
                        Email = pLoginRequest.Email, Password = pLoginRequest.Password, TipoUsuario = pLoginRequest.TipoUsuario
                    };
                    var pNegocio       = new LoginNegocio();
                    var respuestaLogin = pNegocio.Login(objAcceso);

                    if (respuestaLogin.CORRECTO)
                    {
                        respuesta.Exito   = true;
                        respuesta.Persona = respuestaLogin.PERSONA;
                        respuesta.Token   = CreateToken(respuesta.Persona);
                        if (pLoginRequest.TipoUsuario == 4)
                        {
                            var local = await new LocalNegocio().ConsultarByIdPersonaResponsable(respuestaLogin.PERSONA.IdPersona);
                            respuesta.IdLocal = local.IdLocal;
                        }
                    }
                    else
                    {
                        respuesta.Mensaje = respuestaLogin.MENSAJE;
                    }
                }
            }
            catch (ServiceException Ex)
            {
                respuesta.CodigoError = Ex.Codigo;
                respuesta.Mensaje     = Ex.Message;
            }
            catch (Exception Ex)
            {
                string strErrGUI  = Guid.NewGuid().ToString();
                string strMensaje = "Error Interno del Servicio [GUID: " + strErrGUI + "].";
                Log.Error(Ex, "[" + strMetodo + "]" + "[SID:" + sid + "]" + strMensaje);

                respuesta.CodigoError = 10001;
                respuesta.Mensaje     = "ERROR INTERNO DEL SERVICIO [" + strErrGUI + "]";
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, respuesta));
        }
        public async Task <HttpResponseMessage> Registrar([FromBody] InsertaPersonaRequest pInsertaPersonaRequest)
        {
            var respuesta    = new InsertaPersonaResponse {
            };
            var    strMetodo = "WSViajes - Registrar ";
            string sid       = Guid.NewGuid().ToString();

            try
            {
                if (pInsertaPersonaRequest == null)
                {
                    respuesta.Mensaje = "No se recibió usuario.";
                }
                else if (String.IsNullOrEmpty(pInsertaPersonaRequest.Nombre))
                {
                    respuesta.Mensaje = "El elemento  <<Nombre>> no puede estar vacío.";
                }

                /*else if (String.IsNullOrEmpty(pInsertaPersonaRequest.ApePaterno))
                 *  respuesta.Mensaje = "El elemento  <<ApePaterno>> no puede estar vacío.";*/
                else if (String.IsNullOrEmpty(pInsertaPersonaRequest.Telefono))
                {
                    respuesta.Mensaje = "El elemento  <<Telefono>> no puede estar vacío.";
                }

                /*else if (String.IsNullOrEmpty(pInsertaPersonaRequest.Fotografia))
                 *  respuesta.Mensaje = "El elemento  <<Fotografia>> no puede estar vacío.";*/
                else if (String.IsNullOrEmpty(pInsertaPersonaRequest.Email))
                {
                    respuesta.Mensaje = "El elemento  <<Email>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pInsertaPersonaRequest.Password))
                {
                    respuesta.Mensaje = "Debe especificar el <<Password>> no puede estar vacío.";
                }
                else if (pInsertaPersonaRequest.TipoUsuario <= 0)
                {
                    respuesta.Mensaje = "Debe especificar el <<TipoUsuario>> no puede estar vacío y debe ser mayor a 0.";
                }
                else
                {
                    var objAcceso = new E_ACCESO_PERSONA {
                        Email = pInsertaPersonaRequest.Email, Password = pInsertaPersonaRequest.Password, TipoUsuario = pInsertaPersonaRequest.TipoUsuario, TokenFirebase = pInsertaPersonaRequest.TokenFirebase
                    };
                    var objPersona = new E_PERSONA {
                        Nombre = pInsertaPersonaRequest.Nombre, Telefono = pInsertaPersonaRequest.Telefono, Fotografia = pInsertaPersonaRequest.Fotografia
                    };
                    var pNegocio = new LoginNegocio();
                    var respuestaCrearPersona = pNegocio.CreaPersona(objPersona, objAcceso);

                    if (respuestaCrearPersona.RET_NUMEROERROR >= 0)
                    {
                        var creaClienteOpen     = new OpenPayFunctions().CreateCustomer(pInsertaPersonaRequest.Nombre, "", pInsertaPersonaRequest.Email);
                        var personaRecienCreada = await new AccesoNegocio().ConsultaPorCorreo(pInsertaPersonaRequest.Email.Trim());
                        new PersonaNegocio().AgregarClienteOpenPay(personaRecienCreada.IdPersona, creaClienteOpen.Id);
                        new Mailer().Send(pInsertaPersonaRequest.Email, "Bienvenido a nuestra plataforma FASTRUN", "Te damos la bienvenida a nuestra plataforma de pedidos y compras a través de tu aplicación. <br/> <b>¡¡Ha empezar a ordenar!!</b><br/><br/><p>Saludos del equipo FastRun.</p>", pInsertaPersonaRequest.Nombre);
                    }

                    respuesta.Exito   = respuestaCrearPersona.RET_NUMEROERROR >= 0;
                    respuesta.Mensaje = respuestaCrearPersona.RET_VALORDEVUELTO;
                }
            }
            catch (ServiceException Ex)
            {
                respuesta.Exito       = false;
                respuesta.CodigoError = Ex.Codigo;
                respuesta.Mensaje     = Ex.Message;
            }
            catch (Exception Ex)
            {
                string strErrGUI  = Guid.NewGuid().ToString();
                string strMensaje = "Error Interno del Servicio [GUID: " + strErrGUI + "].";
                Log.Error(Ex, "[" + strMetodo + "]" + "[SID:" + sid + "]" + strMensaje);

                respuesta.Exito       = false;
                respuesta.CodigoError = 10001;
                respuesta.Mensaje     = "ERROR INTERNO DEL SERVICIO [" + strErrGUI + "]";
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, respuesta));
        }
Esempio n. 10
0
        public async Task <HttpResponseMessage> EditarUsuario(InsertaActualizaUsuarioRequest pRequest)
        {
            var respuesta    = new Respuesta {
            };
            var    strMetodo = "WSViajes - EditarUsuario";
            string sid       = Guid.NewGuid().ToString();

            try
            {
                if (pRequest == null)
                {
                    respuesta.Mensaje = "No se recibió usuario.";
                }
                else if (String.IsNullOrEmpty(pRequest.Nombre))
                {
                    respuesta.Mensaje = "El elemento  <<Nombre>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pRequest.IdPersona.ToString()))
                {
                    respuesta.Mensaje = "El elemento  <<IdPersona>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pRequest.Telefono))
                {
                    respuesta.Mensaje = "El elemento  <<Telefono>> no puede estar vacío.";
                }
                //else if (String.IsNullOrEmpty(pRequest.Fotografia))
                //    respuesta.Mensaje = "El elemento  <<Fotografia>> no puede estar vacío.";
                else if (String.IsNullOrEmpty(pRequest.Email))
                {
                    respuesta.Mensaje = "El elemento  <<Email>> no puede estar vacío.";
                }
                else
                {
                    var usuarioActual = await new PersonaNegocio().ConsultarPorId(pRequest.IdPersona);

                    if (usuarioActual != null)
                    {
                        if (!String.IsNullOrEmpty(pRequest.Fotografia))
                        {
                            Funciones.deleteExistingFile(usuarioActual.Fotografia);
                            var extension  = Funciones.getExtensionImagenBasae64(pRequest.Fotografia);
                            var rutaImagen = Funciones.uploadImagen(pRequest.Fotografia, System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets"),
                                                                    System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets/Img"),
                                                                    string.Empty, extension, System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets/Img/Personas"), "Assets/Img/Personas/");

                            pRequest.Fotografia = $"{Url.Content("~/")}{rutaImagen}";
                        }
                        {
                            pRequest.Fotografia = usuarioActual.Fotografia;
                        }


                        var objAcceso = new E_ACCESO_PERSONA {
                            Email = pRequest.Email, TipoUsuario = pRequest.TipoUsuario
                        };

                        usuarioActual.Sexo         = pRequest.Sexo;
                        usuarioActual.Nombre       = pRequest.Nombre;
                        usuarioActual.Telefono     = pRequest.Telefono;
                        usuarioActual.Fotografia   = pRequest.Fotografia;
                        usuarioActual.Acceso       = objAcceso;
                        usuarioActual.IdPersonaMod = pRequest.IdPersonaMod;
                        var respuestaCreaConductor = new PersonaNegocio().Editar(usuarioActual);

                        respuesta.Exito   = respuestaCreaConductor.RET_NUMEROERROR >= 0;
                        respuesta.Mensaje = respuestaCreaConductor.RET_VALORDEVUELTO;
                    }
                    else
                    {
                        respuesta.Exito   = false;
                        respuesta.Mensaje = "No se ha podido encontrar el usuario solicitado";
                    }
                }
            }
            catch (ServiceException Ex)
            {
                respuesta.CodigoError = Ex.Codigo;
                respuesta.Mensaje     = Ex.Message;
            }
            catch (Exception Ex)
            {
                string strErrGUI  = Guid.NewGuid().ToString();
                string strMensaje = "Error Interno del Servicio [GUID: " + strErrGUI + "].";
                Log.Error(Ex, "[" + strMetodo + "]" + "[SID:" + sid + "]" + strMensaje);
                respuesta.CodigoError = 10001;
                respuesta.Mensaje     = "ERROR INTERNO DEL SERVICIO [" + strErrGUI + "]";
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, respuesta));
        }
Esempio n. 11
0
        public HttpResponseMessage AgregarUsuario(InsertaActualizaUsuarioRequest pRequest)
        {
            var respuesta    = new Respuesta {
            };
            var    strMetodo = "WSViajes - AgregarUsuario ";
            string sid       = Guid.NewGuid().ToString();

            try
            {
                if (pRequest == null)
                {
                    respuesta.Mensaje = "No se recibió usuario.";
                }
                else if (String.IsNullOrEmpty(pRequest.Nombre))
                {
                    respuesta.Mensaje = "El elemento  <<Nombre>> no puede estar vacío.";
                }
                //else if (String.IsNullOrEmpty(pRequest.ApePaterno))
                //    respuesta.Mensaje = "El elemento  <<ApePaterno>> no puede estar vacío.";
                else if (String.IsNullOrEmpty(pRequest.Telefono))
                {
                    respuesta.Mensaje = "El elemento  <<Telefono>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pRequest.Fotografia))
                {
                    respuesta.Mensaje = "El elemento  <<Fotografia>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pRequest.Email))
                {
                    respuesta.Mensaje = "El elemento  <<Email>> no puede estar vacío.";
                }
                else
                {
                    var extension  = Funciones.getExtensionImagenBasae64(pRequest.Fotografia);
                    var rutaImagen = Funciones.uploadImagen(pRequest.Fotografia, System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets"),
                                                            System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets/Img"),
                                                            string.Empty, extension, System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets/Img/Personas"), "Assets/Img/Personas/");

                    if (!string.IsNullOrEmpty(rutaImagen))
                    {
                        pRequest.Fotografia = $"{Url.Content("~/")}{rutaImagen}";

                        var clavePassword = Guid.NewGuid().ToString();

                        var objAcceso = new E_ACCESO_PERSONA {
                            Email = pRequest.Email, Password = "", TipoUsuario = pRequest.TipoUsuario, ClavePassword = clavePassword
                        };
                        var objPersona = new E_PERSONA {
                            Sexo = pRequest.Sexo, Nombre = pRequest.Nombre, Telefono = pRequest.Telefono, Fotografia = pRequest.Fotografia
                        };
                        var respuestaCreaConductor = new LoginNegocio().CreaPersona(objPersona, objAcceso);
                        if (respuestaCreaConductor.RET_NUMEROERROR >= 0)
                        {
                            //var creaClienteOpen = new OpenPayFunctions().CreateCustomer(pInsertaPersonaRequest.Nombre, "", pInsertaPersonaRequest.Email);
                            //var personaRecienCreada = await new AccesoNegocio().ConsultaPorCorreo(pInsertaPersonaRequest.Email.Trim());
                            //new PersonaNegocio().AgregarClienteOpenPay(personaRecienCreada.IdPersona, creaClienteOpen.Id);
                            new Mailer().Send(pRequest.Email,
                                              "Bienvenido a nuestra plataforma FASTRUN",
                                              string.Format("Te damos la bienvenida a nuestra plataforma. Ingresa a la siguiente liga para crear tu contraseña y empezar a utilizar tu cuenta: <a href=\"{0}{1}{2}/{3}\">{0}{1}{2}/{3}</a> <br/> <b>¡¡Bienvenid@!!</b><br/><br/><p>Saludos del equipo FastRun.</p>", ConfigurationManager.AppSettings["URL_FRONT"], ConfigurationManager.AppSettings["URL_CAMBIO_PASSWORD"], respuestaCreaConductor.RET_ID_PERSONA, clavePassword),
                                              pRequest.Nombre);
                        }

                        respuesta.Exito   = respuestaCreaConductor.RET_NUMEROERROR >= 0;
                        respuesta.Mensaje = respuestaCreaConductor.RET_VALORDEVUELTO;
                    }
                    else
                    {
                        respuesta.CodigoError = -3000;
                        respuesta.Mensaje     = "No se pudo crear la imagen, intente más tarde";
                    }
                }
            }
            catch (ServiceException Ex)
            {
                respuesta.CodigoError = Ex.Codigo;
                respuesta.Mensaje     = Ex.Message;
            }
            catch (Exception Ex)
            {
                string strErrGUI  = Guid.NewGuid().ToString();
                string strMensaje = "Error Interno del Servicio [GUID: " + strErrGUI + "].";
                Log.Error(Ex, "[" + strMetodo + "]" + "[SID:" + sid + "]" + strMensaje);
                respuesta.CodigoError = 10001;
                respuesta.Mensaje     = "ERROR INTERNO DEL SERVICIO [" + strErrGUI + "]";
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, respuesta));
        }