using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;

/// <summary>
/// Summary description for ManageLog
/// </summary>
public class ManageLog : System.Web.UI.Page
{
    //public static String FILE_LOG = "C:\\Users\\Dinis\\Desktop\\log.txt";
    public static String FILE_LOG = "log.txt";

    public static String ACCAO_LOGIN = "login";
    public static String ACCAO_LOGOUT = "logout";
    public static String ACCAO_ELIMINAR_UTILIZADOR = "eliminar_utilizador";
    public static String ACCAO_ELIMINAR_PROCESSO = "eliminar_processo";
    public static String ACCAO_ELIMINAR_OCORRENCIA_PROCESSO = "eliminar_ocorrencia_processo";
    public static String ACCAO_ELIMINAR_ADENDA = "eliminar_adenda";
    public static String ACCAO_FINALIZAR_PROCESSO = "finalizar_processo";
    public static String ACCAO_EDITAR_IMAGEM = "editar_imagem";
    public static String ACCAO_ELIMINAR_IMAGEM = "eliminar_imagem";
    public static String ACCAO_ELIMINAR_DOCUMENTO_REPOSITORIO = "eliminar_documento_repositorio";
    public static String ACCAO_ELIMINAR_CONTACTO_AGENDA = "eliminar_contacto_agenda";
    public static String ACCAO_ALTERAR_CONFIGURACOES = "eliminar_alterar_configuracoes";
    public static String ERRO_HTTP = "erro_http";
    public static String ERRO_BASE_DADOS = "erro_base_dados";



    FileStream ft;
    StreamWriter sw;

    private void Open_File(String file)
    {
        ft = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
        ft.Position = ft.Length;
        sw = new StreamWriter(ft);
    }


    private void Close_File()
    {
        sw.Close();
        ft.Close();
    }



    public void addregisto(String file, int id_utilizador, String accao)
    {
        try
        {
            //file = Server.MapPath(FILE_LOG);
            String registo = "[DATA: " + System.DateTime.Now + "] " + "[ID_UTILIZADOR: " + id_utilizador + "] " + "[ACCAO: " + accao + "]";

            Open_File(file);
            sw.WriteLine(registo);
            Close_File();
        }
        catch
        {
        }

    }



    public void addregisto(String file, int id_utilizador, String accao, int id)
    {
        try
        {
            //String file = Server.MapPath(FILE_LOG);

            String registo = "[DATA: " + System.DateTime.Now + "] " + "[ID_UTILIZADOR: " + id_utilizador + "] " + "[ACCAO: " + accao + "] " + "[ID: " + id + "]";

            Open_File(file);
            sw.WriteLine(registo);
            Close_File();
        }
        catch
        {
        }
    }



    public void Clear_File(String file)
    {
        //String file = Server.MapPath(FILE_LOG);
        File.Delete(file);
        FileStream st = File.Create(file);
        st.Close();

        Open_File(file);
        sw.WriteLine("Ficheiro de Log");
        sw.WriteLine();
        Close_File();

    }

}
