Exemple #1
0
 private void Add(FileInfo file, FileTracingEnum trace)
 {
     _parent.AddFile(new FileModel()
     {
         Filter = this._filter,
     }.Initialize(file, this._parent), trace);
 }
Exemple #2
0
        internal Transactionfile Add(FileModel item, FileTracingEnum trace)
        {
            if (!item.Exist)
            {
                return(null);
            }

            JObject         payload     = null;
            Transactionfile transaction = null;

            try
            {
                payload = item.Load();
                if (payload != null)
                {
                    transaction = _loader.Add(payload, item);
                }
                else
                {
                }
            }
            catch (System.IO.IOException e1)
            {
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    System.Diagnostics.Debugger.Break();
                }

                Diagnostic.Append(new DiagnositcMessage()
                {
                    Severity = SeverityEnum.Error, File = item.FullPath, Text = e1.Message, Exception = e1
                });

                transaction = new Transactionfile()
                {
                    File         = item,
                    FailedToLoad = true,
                };
            }
            catch (Exception e2)
            {
                if (System.Diagnostics.Debugger.IsAttached)
                {
                    System.Diagnostics.Debugger.Break();
                }

                Diagnostic.Append(new DiagnositcMessage()
                {
                    Severity = SeverityEnum.Error, File = item.FullPath, Text = e2.Message, Exception = e2
                });

                transaction = new Transactionfile()
                {
                    File         = item,
                    FailedToLoad = true,
                };
            }

            if (transaction != null && !transaction.FailedToLoad)
            {
                if (ItemFileHasChanged != null)
                {
                    lock (_lockFile)
                    {
                        transaction.Trace = trace;
                        ItemFileHasChanged(this, transaction);
                    }
                }
            }

            return(transaction);
        }