/*******************************************************************
         * Fecha: 03/08/2014
         * Responsable: José Hernández Moya
         * Descripción: Este método escribe el un archivo para el día actual
         * en nombre de la clase y el método donde ocurrió el error junto con
         * la descripción del mismo.
         ******************************************************************/
        public void GuardarLog(IConstantes.TIPOCAPA pintTipoCapa, string pstrNombClase, string pstrNombMetodo, string pstrMensaje)
        {
            string strRutaLog = string.Empty;
            string strMsjLog = string.Empty;

            try
            {
                //Armamos la ruta donde se guardará el log con la fecha actual

                strRutaLog += Settings.Default.LogDirectory.ToString();
                if ((strRutaLog == null) || (strRutaLog == "")){
                    strRutaLog = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
                    Settings.Default.LogDirectory = strRutaLog;
                    Settings.Default.Save();

                }
                string fileName = "LogErrores_" + ObtenerNombreCapa(pintTipoCapa) + "_" + DateTime.Now.ToString("dd-MMM-yyyy") + ".txt";
                Settings.Default.LastLogName = fileName;
                Settings.Default.Save();
                strRutaLog += "\\"+fileName;

                //Construimos el mensaje de error
                strMsjLog += " ********************************************************************" + Environment.NewLine;
                strMsjLog += " * Fecha y hora: " + DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss") + Environment.NewLine;
                strMsjLog += " * Nombre de la clase: " + pstrNombClase + Environment.NewLine;
                strMsjLog += " * Nombre del método: " + pstrNombMetodo + Environment.NewLine;
                strMsjLog += " * Error: " + pstrMensaje + Environment.NewLine;
                strMsjLog += " ********************************************************************" + Environment.NewLine;

                //Guardamos el archivo

                //string test2 = System.IO.Path.GetDirectoryName;
                System.IO.File.AppendAllText(@strRutaLog, strMsjLog);

            }
            catch (Exception ex)
            {
                //Solo ataja el error para que la aplicación no se caiga.
            }
            finally
            {
                //Limpiamos las variables para ayudar al "Garbage Collection"
                strRutaLog = null;
                strMsjLog = null;
            }
        }
        /*******************************************************************
         * Fecha: 03/08/2014
         * Responsable: José Hernández Moya
         * Descripción: Este método devuelve el nombre de la capa según el
         * tipo de la misma.
         ******************************************************************/
        private string ObtenerNombreCapa(IConstantes.TIPOCAPA pintTipoCapa)
        {
            string strNombreCapa = string.Empty;

            try
            {
                switch (pintTipoCapa)
                {
                    case IConstantes.TIPOCAPA.WEB:
                        strNombreCapa = "CargoDispatcherWeb";
                        break;
                    case IConstantes.TIPOCAPA.MOVIL:
                        strNombreCapa = "CargoDispatcherMovil";
                        break;
                    case IConstantes.TIPOCAPA.ACCESODATOS:
                        strNombreCapa = "CargoDispatcherAD";
                        break;
                    case IConstantes.TIPOCAPA.LOGICANEGOCIOS:
                        strNombreCapa = "CargoDispatcherLN";
                        break;
                    case IConstantes.TIPOCAPA.ACCESOSERVICIO:
                        strNombreCapa = "CargoDispatcherAS";
                        break;
                }
            }
            catch
            {
                //Solo ataja el error para que la aplicación no se caiga.
            }

            return strNombreCapa;
        }