public int validarLogin(LoginRequest loginRequest)
        {
            Cliente cli = null;
            GestorValidarPassword gvPassword = new GestorValidarPassword();

            string strConn = ConfigurationManager.ConnectionStrings["BDLocal"].ToString();
            int    result  = -1;

            using (SqlConnection conn = new SqlConnection(strConn))
            {
                string encriptedPassword = gvPassword.GetSha256(loginRequest.Password);

                conn.Open();

                SqlCommand comm = new SqlCommand("obtenerLogin", conn);
                comm.CommandType = System.Data.CommandType.StoredProcedure;
                comm.Parameters.Add(new SqlParameter("@usuario", loginRequest.NombreUsuario));
                comm.Parameters.Add(new SqlParameter("@password", encriptedPassword));

                SqlDataReader reader = comm.ExecuteReader();


                if (reader.HasRows)
                {
                    reader.Read();
                    result = reader.GetInt32(0);
                }
            }
            return(result);
        }
        public int nuevoCliente(Cliente nuevo)
        {
            GestorValidarPassword gvPassword = new GestorValidarPassword();

            string StrConn = ConfigurationManager.ConnectionStrings["BDLocal"].ToString();
            int    message = 0;


            //Verifico que el mail, dni o usuario no exista en la BD

            try
            {
                if (existeDni(nuevo.NumDni) == true)
                {
                    message = 1;
                    return(message);
                }
                else if (existeEmail(nuevo.Email) == true)
                {
                    message = 2;
                    return(message);
                }
                else if (existeUsuario(nuevo.NombreUsuario) == true)
                {
                    message = 3;
                    return(message);
                }

                //Si no existe, agrego el cliente
                else
                {
                    using (SqlConnection conn = new SqlConnection(StrConn))
                    {
                        conn.Open();

                        SqlCommand comm = conn.CreateCommand();

                        //Encriptación de la contraseña
                        string encriptedpassword = gvPassword.GetSha256(nuevo.Password);

                        comm.CommandText = "nuevoCliente";
                        comm.CommandType = System.Data.CommandType.StoredProcedure;

                        comm.Parameters.Add(new SqlParameter("@nombre", nuevo.Nombre));
                        comm.Parameters.Add(new SqlParameter("@apellido", nuevo.Apellido));
                        comm.Parameters.Add(new SqlParameter("@sexo", nuevo.Sexo));
                        comm.Parameters.Add(new SqlParameter("@fecha_nacimiento", nuevo.FechaNacimiento));
                        comm.Parameters.Add(new SqlParameter("@id_tipo_dni", nuevo.IdTipoDni));
                        comm.Parameters.Add(new SqlParameter("@num_dni", nuevo.NumDni));

                        //comm.Parameters.Add(new SqlParameter("@foto_frente_dni", nuevo.FotoFrenteDni));
                        //comm.Parameters.Add(new SqlParameter("@foto_dorso_dni", nuevo.FotoDorsoDni));

                        comm.Parameters.Add(new SqlParameter("@id_localidad", nuevo.IdLocalidad));
                        comm.Parameters.Add(new SqlParameter("@domicilio", nuevo.Domicilio));
                        comm.Parameters.Add(new SqlParameter("@telefono", nuevo.Telefono));
                        comm.Parameters.Add(new SqlParameter("@email", nuevo.Email));
                        comm.Parameters.Add(new SqlParameter("@nombre_usuario", nuevo.NombreUsuario));
                        comm.Parameters.Add(new SqlParameter("@password", encriptedpassword));

                        comm.ExecuteNonQuery();

                        return(message);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public int modificarCliente(Cliente mod)
        {
            GestorValidarPassword gvPassword = new GestorValidarPassword();

            string StrConn = ConfigurationManager.ConnectionStrings["BDLocal"].ToString();
            int    message = 0;

            //Verifico que el Email o Usuario no coincida con algún cliente ya registrado en la BD
            try
            {
                if (existeEmail_Alt(mod.Email, mod.Id) == true)
                {
                    message = 2;
                    return(message);
                }
                else if (existeUsuario_Alt(mod.NombreUsuario, mod.Id) == true)
                {
                    message = 3;
                    return(message);
                }

                //Si ninguno de los 2 campos coinciden con los de otro cliente registrado en la BD, permito la modificación
                else
                {
                    using (SqlConnection conn = new SqlConnection(StrConn))
                    {
                        conn.Open();

                        SqlCommand comm = conn.CreateCommand();

                        //Encriptacion de la contraseña
                        string encriptedpassword = gvPassword.GetSha256(mod.Password);

                        comm.CommandText = "modificarCliente";
                        comm.CommandType = System.Data.CommandType.StoredProcedure;

                        comm.Parameters.Add(new SqlParameter("@id", mod.Id));
                        comm.Parameters.Add(new SqlParameter("@nombre", mod.Nombre));
                        comm.Parameters.Add(new SqlParameter("@apellido", mod.Apellido));
                        comm.Parameters.Add(new SqlParameter("@sexo", mod.Sexo));
                        comm.Parameters.Add(new SqlParameter("@fechaNacimiento", mod.FechaNacimiento));
                        comm.Parameters.Add(new SqlParameter("@idTipoDni", mod.IdTipoDni));
                        comm.Parameters.Add(new SqlParameter("@numDni", mod.NumDni));

                        //comm.Parameters.Add(new SqlParameter("@foto_frente_dni", mod.FotoFrenteDni));
                        //comm.Parameters.Add(new SqlParameter("@foto_dorso_dni", mod.FotoDorsoDni));

                        comm.Parameters.Add(new SqlParameter("@idLocalidad", mod.IdLocalidad));
                        comm.Parameters.Add(new SqlParameter("@domicilio", mod.Domicilio));
                        comm.Parameters.Add(new SqlParameter("@telefono", mod.Telefono));
                        comm.Parameters.Add(new SqlParameter("@email", mod.Email));
                        comm.Parameters.Add(new SqlParameter("@nombreUsuario", mod.NombreUsuario));
                        comm.Parameters.Add(new SqlParameter("@password", encriptedpassword));

                        comm.ExecuteNonQuery();

                        return(message);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }