Esempio n. 1
0
 public FWXmlConfigData(FWXmlConfigData obj)
 {
     this.SourceDir              = obj.SourceDir;
     this.DestinationDir         = obj.DestinationDir;
     this.MaxDegreeOfParallelism = obj.MaxDegreeOfParallelism;
     this.TypeOfFilesToCopy      = obj.TypeOfFilesToCopy;
     this.PollInterval           = obj.PollInterval;
 }
Esempio n. 2
0
        public bool Initialize()
        {
            try
            {
                //Read data from configutility xml
                XmlSerializer serializer = new XmlSerializer(typeof(FWXmlConfigData));
                // A FileStream is needed to read the XML document.
                using (FileStream fs = new FileStream(ConfigFilePath, FileMode.Open))
                {
                    FWXmlConfigData configXml = (FWXmlConfigData)serializer.Deserialize(fs);
                    if (!Directory.Exists(configXml.SourceDir))
                    {
                        FWLogger.Log.Error(configXml.SourceDir + " doesn't exist.");
                        return(false);
                    }
                    m_SourceDir = configXml.SourceDir;

                    if (!Directory.Exists(configXml.DestinationDir))
                    {
                        FWLogger.Log.Error(configXml.DestinationDir + " doesn't exist.");
                        return(false);
                    }
                    // Add check for write permission


                    m_DestinationDir = configXml.DestinationDir;
                    //

                    try
                    {
                        m_MaxDegreeOfParallelism = int.Parse(configXml.MaxDegreeOfParallelism);
                    }
                    catch (FormatException e)
                    {
                        m_MaxDegreeOfParallelism = 1;
                        FWLogger.Log.Info("Invalid value for NoOfFilesForParallelCopy. Defaul to 1. " + e.Message);
                    }

                    if (string.IsNullOrEmpty(configXml.TypeOfFilesToCopy))
                    {
                        m_TypeOfFilesToCopy = "*.*"; //default
                    }
                    else
                    {
                        m_TypeOfFilesToCopy = configXml.TypeOfFilesToCopy;
                    }

                    try
                    {
                        m_iPollInterval = int.Parse(configXml.PollInterval);
                    }
                    catch (FormatException e)
                    {
                        m_iPollInterval = 10; //Default to 10 second
                        FWLogger.Log.Info("Invalid value for PollInterval. Defaul to 10 second : " + e.Message);
                    }
                }
            }
            catch (Exception e)
            {
                FWLogger.Log.Error(e.Message);
                return(false);
            }

            return(true);
        }