public static object CrearUsuario(string NombresI, string NombresII, string ApellidosI, string ApellidosII, int TIPO_IDENTIFICACION, string NUMERO_IDENTIFICACION,

        int MunExpedicion, string fechaExpedicion, string Genero, string fechaNacimiento, int MunNacimiento, int Nacionalidad, int munResidencia, string DireccionResidencia,

        string telefono,
       string Email, string passwordQuestion, string SecurityAnswer)
    {
        string PERFILP = "USUARIOS";
        string Retorno = "";
        string status = "";
        Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();
        Centralizador.Entity.Usuario nuevoUsuario = new Centralizador.Entity.Usuario();

        nuevoUsuario.primerNombre = NombresI;
        nuevoUsuario.segundoNombre = NombresII;
        nuevoUsuario.segundoApellido = ApellidosII;
        nuevoUsuario.primerApellido = ApellidosI;
        nuevoUsuario.idTipoIdentificacion = TIPO_IDENTIFICACION;
        nuevoUsuario.numeroIdentificacion = NUMERO_IDENTIFICACION;
        nuevoUsuario.idMunicipioExpedicionDocumento = MunExpedicion;

        nuevoUsuario.fechaExpedicion = Convert.ToDateTime(fechaExpedicion,CultureInfo.InvariantCulture);
        nuevoUsuario.genero = Genero;
        nuevoUsuario.fechaNacimiento = Convert.ToDateTime(fechaNacimiento,CultureInfo.InvariantCulture);
        nuevoUsuario.idMunicipioNacimiento = MunNacimiento;

        nuevoUsuario.idPaisNacionalidad = Nacionalidad;
        nuevoUsuario.idMunicipioResidencia = munResidencia;
        nuevoUsuario.idMunicipioNotificacionCorrespondencia = munResidencia;
        nuevoUsuario.direccionNotificacionCorrespondencia = DireccionResidencia;
        nuevoUsuario.direccionResidencia = DireccionResidencia;
        nuevoUsuario.idMunicipioLaboral = munResidencia;
        nuevoUsuario.estadoCivil = "S";
        nuevoUsuario.correoElectronico = Email;
        nuevoUsuario.telefono = telefono;
        nuevoUsuario.idOperador = 1;
        var resultado = serviciocentralizador.ValidarExistenciaUsuario(nuevoUsuario);

        if (!resultado)
        {

            #region creacion de usuario en en sistema operador
            //

            MembershipUser a = Membership.GetUser(NUMERO_IDENTIFICACION);

            string porEmail = string.Empty;
            porEmail = Membership.GetUserNameByEmail(Email);
            if (a == null && string.IsNullOrEmpty(porEmail))
            {
                #region ("Creacion")
                MembershipCreateStatus createStatus;
                MembershipUser newUser =
                           Membership.CreateUser(NUMERO_IDENTIFICACION, NUMERO_IDENTIFICACION,
                                                 Email, passwordQuestion,
                                                 SecurityAnswer, true,
                                                 out createStatus);

                switch (createStatus)
                {
                    case MembershipCreateStatus.Success:
                        Roles.AddUserToRole(NUMERO_IDENTIFICACION, PERFILP);

                        Paciente nuevoPaciente = new Paciente();
                        nuevoPaciente.nombres_paciente = NombresI;
                        nuevoPaciente.apellidos_paciente = ApellidosI;
                        nuevoPaciente.ident_paciente = NUMERO_IDENTIFICACION;
                        nuevoPaciente.tipo_id = TIPO_IDENTIFICACION;
                        nuevoPaciente.genero_paciente = 2;

                        nuevoPaciente.direccion_paciente = DireccionResidencia;
                        nuevoPaciente.telefono_paciente = telefono;
                        nuevoPaciente.movil_paciente = telefono;
                        nuevoPaciente.mail_paciente = Email;
                        nuevoPaciente.userId = newUser.ProviderUserKey.ToString();
                        nuevoPaciente.fecha_nacimiento = DateTime.Now;

                       // PacienteDao pd = new PacienteDao();
                        //var nuevo = pd.registrarPacienteNuevo(nuevoPaciente);
                        var Usuarioregistrado = serviciocentralizador.RegistrarUsuario(nuevoUsuario);
                        DaoUsuario registroAPP = new DaoUsuario();
                        var usuaripoRegistrarApp =  registroAPP.RegistrarUsuario(nuevoPaciente.userId, Usuarioregistrado.UUID.ToString());

                        var enviar = new Correos().EnviarEmailCreacionDeUsuario(Email);

                        status = "OK";
                        Retorno = "La cuenta del usuario, ha sido creada con exito";

                        break;

                    case MembershipCreateStatus.DuplicateUserName:
                        status = "Existe";
                        Retorno = "Ya existe un usuario con ese nombre de usuario";
                        //CreateAccountResults.Text = "Ya existe un usuario con ese nombre de usuario";//"There already exists a user with this username.";
                        break;

                    case MembershipCreateStatus.DuplicateEmail:
                        status = "Duplicado";
                        Retorno = "Ya existe un usuario con este email.";// "There already exists a user with this email address.";
                        break;

                    case MembershipCreateStatus.InvalidEmail:
                        status = "email";
                        Retorno = "La dirección de correo electrónico que nos ha facilitado en inválida.";//"There email address you provided in invalid.";
                        break;

                    case MembershipCreateStatus.InvalidPassword:
                        status = "password";
                        Retorno = "La contraseña que ha proporcionado no es válido. Debe ser de siete caracteres y tener al menos un carácter no alfanumérico.";//"The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character.";
                        break;

                    default:
                        status = "Error";
                        Retorno = "Hubo un error desconocido, la cuenta de usuario no fue creado.";//"There was an unknown error; the user account was NOT created.";
                        break;
                }
                #endregion
            }
            else
            {
                if (a != null)
                {
                    status = "Existe";
                    Retorno = "El nombre de usuario ya existe.";
                }
                //        CreateAccountResults.Text = "El usuario ya existe";

                if (!string.IsNullOrEmpty(porEmail))
                {
                    status = "EmailCambiar";
                    Retorno = "Ingrese por favor una dirección de correo electrónico diferente.";
                }
            }
        #endregion

        }
        else
        {

            Retorno = "El usuario Se encuentra registrado en el centralizador";
            status = "RegistradoCentralizador";

        }
        return new
        {
            status = status,
            mensaje = Retorno
        };
    }
    public static object ActualizarUsuario(int munResidencia, string DireccionResidencia,

        string telefono
      )
    {
        string UID = string.Empty;
        string IDENTIFICADOR_OPERADOR = string.Empty;
        try
        {

            if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
            {

                Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();
                Centralizador.Usuario actualizarusuario = new Centralizador.Usuario();
                if (SessionHelper.GetSessionData("ID_USUARIO_CENTRALIZADOR") == null)
                {
                    AppLog.Write("La session ha terminado ", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                    return new
                    {
                        OK = "SESSIONEND",
                        mensaje = "Su sesión ha finalizado"
                    };

                }
                UID = (string)SessionHelper.GetSessionData("ID_USUARIO_CENTRALIZADOR");
                IDENTIFICADOR_OPERADOR = (string)SessionHelper.GetSessionData("IDENTIFICADOR_OPERADOR");
                actualizarusuario.UUID = UID;
                actualizarusuario.idMunicipioResidencia = munResidencia;
                actualizarusuario.direccionResidencia = DireccionResidencia;
                actualizarusuario.telefono = telefono;

                var resultado = serviciocentralizador.ActualizarDatosUsuario(actualizarusuario, IDENTIFICADOR_OPERADOR);

                if (resultado)
                {
                    return new
                    {
                        Ok = "OK",
                        mensaje ="Se han actualizado los datos correctamente"

                    };
                }
                else {
                    return new
                    {
                        Ok = "error",
                        mensaje ="Ha ocurrido un error inesperado por favor intentelo nuevamente."

                    };

                }

            }
            else
            {
                AppLog.Write("La session ha terminado ", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                return new
                {
                    OK = "SESSIONEND",
                    mensaje = "Su sesión ha finalizado"

                };
            }

        }
        catch (EndSessionException end)
        {
            AppLog.Write("Su session ha finalizado", AppLog.LogMessageType.Info, end, "OperadorCarpeta");
            return new { OK = "Su session ha finalizado" };
        }
        catch (Exception ex)
        {
            AppLog.Write(" Error obteniendo la informacion Inicial. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");

            return new
            {
                OK = "Error Consultando información inicial.",
                mensaje = ex.Message + ex.StackTrace
            };
        }
    }
    public static object validar(int TIPO_IDENTIFICACION, string NUMERO_IDENTIFICACION)
    {
        Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();
        var IdentificadorOperador = "identificadorOperador".GetFromAppCfg();

        try
        {
            AppLog.Write("Inicio consulta en el centralizador", AppLog.LogMessageType.Info, null, "OperadorCarpeta");
            var completo = PrefijoEnumTIPO_IDENTIFICACION.EnumToTIPO_IDENTIFICACIONCOMPLETO(TIPO_IDENTIFICACION);
            var Existe = serviciocentralizador.ValidarPorIdentificacionYTipo(NUMERO_IDENTIFICACION, TIPO_IDENTIFICACION, IdentificadorOperador);

            if (Existe.Existe)
            {

                SessionHelper.SetSessionData("TIPO_IDENTIFICACION_ENVIO", TIPO_IDENTIFICACION);
                SessionHelper.SetSessionData("NUMERO_IDENTIFICACION_ENVIO", NUMERO_IDENTIFICACION);

                if (Existe.MismoOperador)
                {

                    SessionHelper.SetSessionData("OPERADOR_ENVIO_LOCAL_U_OTRO", true);

                    return new
                    {
                        OK = "OK",
                        mensaje = "Se ha agregado un usuario",
                        NUMERO_IDENTIFICACION = NUMERO_IDENTIFICACION,
                        TIPO_IDENTIFICACION = TIPO_IDENTIFICACION,
                        COMPLETO = completo,
                        MISMO = true

                    };
                }
                else
                {

                    SessionHelper.SetSessionData("OPERADOR_ENVIO_LOCAL_U_OTRO", false);

                    return new
                    {
                        OK = "OK",
                        mensaje = "Se ha agregado un usuario",
                        NUMERO_IDENTIFICACION = NUMERO_IDENTIFICACION,
                        TIPO_IDENTIFICACION = TIPO_IDENTIFICACION,
                        COMPLETO = completo,
                        MISMO = false

                    };
                }

            }
            else
            {

                return new
                {
                    OK = "NO",
                    mensaje = "El usuario al que estas tratando de enviarle un mensaje, no existe en ningun operador registrado",
                    NUMERO_IDENTIFICACION = NUMERO_IDENTIFICACION,
                    TIPO_IDENTIFICACION = TIPO_IDENTIFICACION,
                    COMPLETO = completo,

                };

            }
        }
        catch (Exception ex)
        {
            AppLog.Write(" Error Validando informacion  ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");

            return new
            {
                OK = "error",
                mensaje = "Ha ocurrido un error inesperador por favor intentelo en un unos instantes",

            };
        }
    }
    public static object TraerinformacionInicial()
    {
        string UID = string.Empty;
        string IDENTIFICADOR_OPERADOR = string.Empty;
        try
        {

            if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
            {

                Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();

                if (SessionHelper.GetSessionData("ID_USUARIO_CENTRALIZADOR") == null)
                {
                    AppLog.Write("La session ha terminado ", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                    return new
                    {
                        OK = "SESSIONEND",
                        mensaje = "Su sesión ha finalizado"
                    };

                }
                UID = (string)SessionHelper.GetSessionData("ID_USUARIO_CENTRALIZADOR");
                IDENTIFICADOR_OPERADOR = (string)SessionHelper.GetSessionData("IDENTIFICADOR_OPERADOR");

                var USUARIO = serviciocentralizador.ConsultarUsuario(UID, IDENTIFICADOR_OPERADOR);
                var fechaExpedicion = USUARIO.fechaExpedicion.ToShortDateString();
                var fechaNacimiento = USUARIO.fechaNacimiento.ToShortDateString();

                return new
                {
                    Ok = "OK",

                    TIPOIDENTIFICACION = _GetParametrosIdentificacion(),
                    DEPARTAMENTOS = _GetDepartamentos(),
                    MUNICIPIOSDEPARTAMENTO = _GetMunicipiuosDepartamentos(USUARIO.idDepartamentoResidencia),
                    Paises = _getPaises(),
                    aniofechaIngresoMaxima = (DateTime.Now.Year), // se le restan los dias del mes para que de el ultimo del mes anterior
                    mesfechaIngresoMaxima = DateTime.Now.Month - 1,  // por que el datepicker de jquery empieza en cero
                    diafechaIngresoMaxima = DateTime.Now.Day,
                    aniofechaIngresoMinima = (DateTime.Now.AddYears(-100)).Year, // se le restan los dias del mes para que de el ultimo del mes anterior
                    mesfechaIngresoMinima = (DateTime.Now.AddYears(-100)).Month - 1,  // por que el datepicker de jquery empieza en cero
                    diafechaIngresoMinima = (DateTime.Now.AddDays(-1)).Day,

                    yearRange = (DateTime.Now.AddYears(-150).Year).ToString() + ":" + (DateTime.Now.Year).ToString(),
                    USUARIO = USUARIO,
                    fechaNacimiento,
                    fechaExpedicion
                };

            }
            else
            {
                AppLog.Write("La session ha terminado ", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                return new
                {
                    OK = "SESSIONEND",
                    mensaje = "Su sesión ha finalizado"

                };
            }

        }
        catch (EndSessionException end)
        {
            AppLog.Write("Su session ha finalizado", AppLog.LogMessageType.Info, end, "OperadorCarpeta");
            return new { OK = "Su session ha finalizado" };
        }
        catch (Exception ex)
        {
            AppLog.Write(" Error obteniendo la informacion Inicial. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");

            return new
            {
                OK = "Error Consultando información inicial.",
                mensaje = ex.Message + ex.StackTrace
            };
        }
    }
    public static object CrearUsuario(string NombresI, string NombresII, string ApellidosI, string ApellidosII, int TIPO_IDENTIFICACION, string NUMERO_IDENTIFICACION,

        int MunExpedicion, DateTime fechaExpedicion, string Genero, DateTime fechaNacimiento, int MunNacimiento, int Nacionalidad, int munResidencia, string DireccionResidencia,

        string telefono,
       string Email, string passwordQuestion, string SecurityAnswer)
    {
        try
        {
            var IdentificadorOperador = "identificadorOperador".GetFromAppCfg();

            string PERFILP = "USUARIOS";
            string Retorno = "";
            string status = "";
            DateTime fechExpedicion = default(DateTime);
            DateTime fechNacimiento = default(DateTime);
            try
            {

                fechExpedicion = Convert.ToDateTime(fechaExpedicion, CultureInfo.InvariantCulture);
            }
            catch (Exception ex)
            {
                AppLog.Write(" Error convirtiendo la fecha de expedicionInicial. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
                status = "error";
                Retorno = "Ingrese la fecha de expedición Valida";
                return new
                {
                    status = status,
                    mensaje = Retorno
                };

            }

            try
            {

                fechNacimiento = Convert.ToDateTime(fechaExpedicion, CultureInfo.InvariantCulture);
            }
            catch (Exception ex)
            {
                AppLog.Write(" Error convirtiendo la fecha de Nacimiento. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");

                status = "error";
                Retorno = "Ingrese la fecha de nacimiento Valida";
                return new
                {
                    status = status,
                    mensaje = Retorno
                };

            }

            #region ("Registro")

            Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();
            Centralizador.Usuario nuevoUsuario = new Centralizador.Usuario();

            nuevoUsuario.primerNombre = NombresI;
            nuevoUsuario.segundoNombre = NombresII;
            nuevoUsuario.segundoApellido = ApellidosII;
            nuevoUsuario.primerApellido = ApellidosI;
            nuevoUsuario.idTipoIdentificacion = TIPO_IDENTIFICACION;
            nuevoUsuario.numeroIdentificacion = NUMERO_IDENTIFICACION;
            nuevoUsuario.idMunicipioExpedicionDocumento = MunExpedicion;

            nuevoUsuario.fechaExpedicion = fechExpedicion;
            nuevoUsuario.genero = Genero;
            nuevoUsuario.fechaNacimiento = fechNacimiento;
            nuevoUsuario.idMunicipioNacimiento = MunNacimiento;

            nuevoUsuario.idPaisNacionalidad = Nacionalidad;
            nuevoUsuario.idMunicipioResidencia = munResidencia;
            nuevoUsuario.idMunicipioNotificacionCorrespondencia = munResidencia;
            nuevoUsuario.direccionNotificacionCorrespondencia = DireccionResidencia;
            nuevoUsuario.direccionResidencia = DireccionResidencia;
            nuevoUsuario.idMunicipioLaboral = munResidencia;
            nuevoUsuario.estadoCivil = "S";
            nuevoUsuario.correoElectronico = Email;
            nuevoUsuario.telefono = telefono;
            nuevoUsuario.idOperador = 0;
            AppLog.Write(" inicio consulta si existe el usuario. ", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

            var resultado = serviciocentralizador.ValidarPorIdentificacionYTipo(nuevoUsuario.numeroIdentificacion, nuevoUsuario.idTipoIdentificacion, IdentificadorOperador);

            AppLog.Write(" fin consulta si existe el usuario Resutlado:" + resultado.ToString(), AppLog.LogMessageType.Info, null, "OperadorCarpeta");
            var prefijo = PrefijoEnumTIPO_IDENTIFICACION.EnumToTIPO_IDENTIFICACION(TIPO_IDENTIFICACION);
            string UserName = prefijo + NUMERO_IDENTIFICACION;
            if (!resultado.Existe && !resultado.MismoOperador)
            {

                #region creacion de usuario en en sistema operador
                //

                MembershipUser a = Membership.GetUser(UserName);

                string porEmail = string.Empty;
                porEmail = Membership.GetUserNameByEmail(Email);
                if (a == null && string.IsNullOrEmpty(porEmail))
                {
                    #region ("Creacion")
                    MembershipCreateStatus createStatus;
                    MembershipUser newUser =
                               Membership.CreateUser(prefijo + NUMERO_IDENTIFICACION, NUMERO_IDENTIFICACION,
                                                     Email, passwordQuestion,
                                                     SecurityAnswer, true,
                                                     out createStatus);

                    switch (createStatus)
                    {
                        case MembershipCreateStatus.Success:
                            Roles.AddUserToRole(UserName, PERFILP);

                            var Usuarioregistrado = serviciocentralizador.RegistrarUsuario(nuevoUsuario, IdentificadorOperador);
                            DaoUsuario registroAPP = new DaoUsuario();
                            var datosTIpo = new TipoidentificacionDao().obtenerTipos();
                            var tipoID = datosTIpo.Where(x => x.id_tipoId == TIPO_IDENTIFICACION).Select(x => x.abreviado_tipoId).First();
                            string CarpetaInicial = tipoID + NUMERO_IDENTIFICACION;
                            AppLog.Write(" Inicio Creacion Usuario", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                            GestorRegistro gestorRegistro = new GestorRegistro();

                            GestionUsuario gestor = new GestionUsuario();

                            try
                            {
                                var registro = gestorRegistro.RegistrarUsuario(newUser.ProviderUserKey.ToString(),
                                 Usuarioregistrado.UUID.ToString(),
                                 "OPERADOR_REPOSITORY_USER",
                                 CarpetaInicial, Usuarioregistrado.primerNombre + " " + Usuarioregistrado.segundoNombre,
                                 Usuarioregistrado.primerApellido + " " + Usuarioregistrado.segundoApellido,
                                 Usuarioregistrado.idTipoIdentificacion, Usuarioregistrado.numeroIdentificacion);

                            }
                            catch (Exception ex)
                            {
                                #region se eliminan los usuarios
                                gestor.DeleteUser(UserName);
                                serviciocentralizador.EliminarUsuario(Usuarioregistrado.UUID, IdentificadorOperador);
                                #endregion
                                AppLog.Write(" Error Creacion Usuario operador", AppLog.LogMessageType.Info, ex, "OperadorCarpeta");
                                status = "Error";
                                Retorno = "Hubo un error desconocido, la cuenta de usuario no fue creado.";
                                return new
                                {
                                    status = status,
                                    mensaje = Retorno
                                };

                            }
                            AppLog.Write(" Fin Creacion Usuario operador", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                            //var usuaripoRegistrarApp = registroAPP.RegistrarUsuario(
                            //    newUser.ProviderUserKey.ToString(),
                            //    Usuarioregistrado.UUID.ToString(),
                            //    "OPERADOR_REPOSITORY_USER",
                            //    CarpetaInicial, Usuarioregistrado.primerNombre + " " + Usuarioregistrado.segundoNombre,
                            //    Usuarioregistrado.primerApellido + " " + Usuarioregistrado.segundoApellido,
                            //    Usuarioregistrado.idTipoIdentificacion, Usuarioregistrado.numeroIdentificacion );
                            //AppLog.Write(" Fin Creacion Usuario", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

                            #region crear carpeta en el servidor
                            //var fileControl = new FileControl(Int32.Parse("MaxFileSize".GetFromAppCfg()));

                            //fileControl._CreateFolderInFTP(CarpetaInicial, "OPERADOR_REPOSITORY_USER");
                            //fileControl._CreateFolderInFTP(CarpetaInicial+@"/ADJUNTOS", "OPERADOR_REPOSITORY_USER");

                            #endregion

                            #region Enviar Correo de confirmacion de creacion de cuenta.
                            var enviar = new Correos().EnviarEmailCreacionDeUsuario(Email);
                            #endregion

                            status = "OK";
                            Retorno = "La cuenta del usuario, ha sido creada con exito";

                            break;

                        case MembershipCreateStatus.DuplicateUserName:
                            status = "Existe";
                            Retorno = "Ya existe un usuario con ese nombre de usuario";
                            //CreateAccountResults.Text = "Ya existe un usuario con ese nombre de usuario";//"There already exists a user with this username.";
                            break;

                        case MembershipCreateStatus.DuplicateEmail:
                            status = "Duplicado";
                            Retorno = "Ya existe un usuario con este email.";// "There already exists a user with this email address.";
                            break;

                        case MembershipCreateStatus.InvalidEmail:
                            status = "email";
                            Retorno = "La dirección de correo electrónico que nos ha facilitado en inválida.";//"There email address you provided in invalid.";
                            break;

                        case MembershipCreateStatus.InvalidPassword:
                            status = "password";
                            Retorno = "La contraseña que ha proporcionado no es válido. Debe ser de siete caracteres y tener al menos un carácter no alfanumérico.";//"The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character.";
                            break;

                        default:
                            status = "Error";
                            Retorno = "Hubo un error desconocido, la cuenta de usuario no fue creado.";//"There was an unknown error; the user account was NOT created.";
                            break;
                    }
                    #endregion
                }
                else
                {
                    if (a != null)
                    {
                        status = "Existe";
                        Retorno = "El nombre de usuario ya existe.";
                    }
                    //        CreateAccountResults.Text = "El usuario ya existe";

                    if (!string.IsNullOrEmpty(porEmail))
                    {
                        status = "EmailCambiar";
                        Retorno = "Ingrese por favor una dirección de correo electrónico diferente.";
                    }
                }
                #endregion

            }
            else
            {

                Retorno = "El usuario Se encuentra registrado en el centralizador";
                status = "RegistradoCentralizador";

            }
            #endregion
            return new
            {
                status = status,
                mensaje = Retorno
            };
        }
        catch (Exception ex)
        {

            AppLog.Write(" Error Creacion de usuario en el sistema ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
            return new
            {
                status = "error",
                mensaje = "Ha ocurrido un error inesperado intentelo nuevamente o mas tarde"
            };

        }
    }
    public static object validar(int TIPO_IDENTIFICACION, string NUMERO_IDENTIFICACION)
    {
        Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();
        var IdentificadorOperador = "identificadorOperador".GetFromAppCfg();

        try
        {
            AppLog.Write("Inicio consulta en el centralizador", AppLog.LogMessageType.Info, null, "OperadorCarpeta");

            var Existe = serviciocentralizador.ValidarPorIdentificacionYTipo(NUMERO_IDENTIFICACION, TIPO_IDENTIFICACION, IdentificadorOperador);

            if (Existe.Existe)
            {

                if (Existe.MismoOperador)
                {
                    return new
                    {
                        OK = "Mismo",
                        mensaje = "El usuario se encuentra registrado actualmente en este Operador, deseas recordar la contraseña"
                    };
                }
                else
                {

                    return new
                    {
                        OK = "existe",
                        mensaje = "El usuario se encuentra registrado actualmente en otro operador, Lamentamos las molestias, pronto podras estar con nosotros"
                    };
                }

            }
            else
            {

                return new
                {
                    OK = "OK",
                    mensaje = "Continuaremos con el proceso de registro.",
                    NUMERO_IDENTIFICACION = NUMERO_IDENTIFICACION,
                    TIPO_IDENTIFICACION = TIPO_IDENTIFICACION

                };

            }
        }
        catch (Exception ex)
        {
            AppLog.Write(" Error Validando informacion  ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");

            return new
            {
                OK = "error",
                mensaje = "Ha ocurrido un error inesperador por favor intentelo en un unos instantes",

            };
        }
    }
    public static object validar(int TIPO_IDENTIFICACION, string NUMERO_IDENTIFICACION)
    {
        Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();
        var Existe = serviciocentralizador.ValidarPorIdentificacionYTipo(NUMERO_IDENTIFICACION, TIPO_IDENTIFICACION);

        if (Existe)
        {

            return new
            {
                OK = "existe",
                mensaje = "El usuario se encuentra registrado actualmente en otro operador, Lamentamos las molestias, pronto podras estar con nosotros"
            };

        }
        else {

            return new
            {
                OK = "OK",
                mensaje = "Continuaremos con el proceso de registro.",
                NUMERO_IDENTIFICACION = NUMERO_IDENTIFICACION,
                TIPO_IDENTIFICACION =TIPO_IDENTIFICACION

            };

        }
    }
    public static object Eliminar(
        String ID
        )
    {
        try
        {

            DaoPerfil perfilDao = new DaoPerfil();
            GestionUsuario gestor = new GestionUsuario();
            Centralizador.Service1Client serviciocentralizador = new Centralizador.Service1Client();

            bool resultado = false;
              var IdentificadorOperador = "identificadorOperador".GetFromAppCfg();
              MembershipUser u = Membership.GetUser(ID);

            resultado = gestor.DeleteUser(ID);
            serviciocentralizador.EliminarUsuario(u.ProviderUserKey.ToString(), IdentificadorOperador);
            GestionRoles gestRoles = new GestionRoles();
            #region ("Resultado agregar")
            if (resultado)
            {

                return new
                {
                    OK = "OK",
                    mensaje = "Se ha Eliminado el registro Correctamente"

                };
            }
            else
            {
                return new
                {
                    OK = "error",
                    mensaje = "No se ha podido eliminar el usuario."

                };
            }
            //return new
            //    {
            //        OK = "OK",
            //        mensaje = "Sin implementar"

            //    };
            #endregion

        }
        catch (Exception ex)
        {

            return new
            {
                OK = "Error",
                mensaje = "ha Ocurrido un error inesperado: " + ex.ToString()

            };

        }
    }