namespace ZionRobot.Persistence
{
    public class Basic
    {
        public const bool DEBUG = false;

        public static string ApplicationName = "Robot";

        #region Status
        public const string ERROR = "ERROR";

        public const string EXTRACTION = "EXTRACTION";

        public const string WAITING = "WAITING";

        public const string INTEGRATION = "INTEGRATION";

        public const string INTEGRATED = "INTEGRATED";

        public static string DELETED = "DELETED";
        #endregion

        #region Folders
        internal static string MetaFolder
        {
            get
            {
                return string.Format("{0}\\{1}\\",
                    System.Environment.GetEnvironmentVariable("ProgramData"),
                     "OnSet Tecnologia"
                    );
            }
        }

        public static string ApplicationFolder
        {
            get
            {
                return string.Format("{0}\\{1}\\",
                    MetaFolder,
                    ApplicationName
                    );
                //return @"C:\Temp\Workflow";
            }
        }

        internal static string PublicFolder
        {
            get
            {
                return string.Format("C:\\{0}\\", ApplicationName);
            }
        }

        internal static string WorkflowFullPath
        {
            get
            {
                return string.Format("{0}\\Robot.wflow", ApplicationFolder);
            }
        }

        internal static string ConfigurationFolder
        {
            get
            {
                return string.Format("{0}\\Configurations\\", ApplicationFolder);
            }
        }

        internal static string BlueprintsFolder
        {
            get
            {
                return string.Format("{0}\\Blueprints\\", ApplicationFolder);
            }
        }

        internal static string LogsFolder
        {
            get
            {
                return string.Format("{0}\\Logs\\", PublicFolder);
            }
        }

        internal static string SearchResultFolder
        {
            get
            {
                return string.Format("{0}\\SearchResults\\", PublicFolder);
            }
        }

        internal static string DoneFolder
        {
            get
            {
                return string.Format("{0}\\Done\\", PublicFolder);
            }
        }

        #endregion
    }
}
