public FWXmlConfigData(FWXmlConfigData obj) { this.SourceDir = obj.SourceDir; this.DestinationDir = obj.DestinationDir; this.MaxDegreeOfParallelism = obj.MaxDegreeOfParallelism; this.TypeOfFilesToCopy = obj.TypeOfFilesToCopy; this.PollInterval = obj.PollInterval; }
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); }