﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using Treinamento.Classes;
using System.Configuration;
using Npgsql;
using Treinamento.Codigos.DataBaseHelper;

namespace Treinamento.Codigos
{
    public class UsuariosPerfisController    {
      
        // Metodos CRUD
        internal static string InserePerfil(Usuario u, Perfil p)
        {
            string sql = "INSERT INTO portal_seguranca.rel_usuario_perfil(id_usuario, id_perfil) VALUES ({0},{1})";
            sql = string.Format(sql, u.Id,p.Id);
            List<object> resultado = ConexaoDB.ExecutaSQL<Cargo>(sql);
            return "Relacao usuario/perfil add com sucesso!";
        }
        
        internal static List<Perfil> ListaPerfis(Usuario u)
        {
            string sql = "SELECT portal_seguranca.rel_usuario_perfil.id_perfil, nome "+
                         "FROM portal_seguranca.rel_usuario_perfil, portal_seguranca.perfil " +
                         "WHERE id_perfil = portal_seguranca.perfil.id  AND id_usuario = {0}";
            sql = string.Format(sql, u.Id);
            List<object> resultado = ConexaoDB.ExecutaSQL<Perfil>(sql);
            List<Perfil> perfis = new List<Perfil>();
            foreach (object o in resultado)
                perfis.Add((Perfil)o);
            return perfis;           
        }
        
        internal static void RemovePerfis(Usuario u)
        {
            string sql = "DELETE FROM portal_seguranca.rel_usuario_perfil WHERE id_usuario = {0}";
            sql = string.Format(sql, u.Id);
            ConexaoDB.ExecutaSQL<Perfil>(sql);   
        }
    }
}