Exemplo n.º 1
0
        public void Dump(IDump dumper)
        {
            if (ReferenceEquals(dumper, null))
            {
                var ex = new ArgumentNullException($"{nameof(dumper)} is null");
                this.logger?.Error(ex, ex.Message);
                throw ex;
            }

            try
            {
                dumper.Save(this.storage);
                this.logger?.Info($"Dumped {this.storage.Count} users");
            }
            catch (IOException exception)
            {
                var ex = new UserServiceException("Can't save Users", exception);
                this.logger?.Error(ex, ex.Message);
                throw ex;
            }
            catch (InvalidOperationException exception)
            {
                var ex = new UserServiceException("Can't save Users", exception);
                this.logger?.Error(ex, ex.Message);
                throw ex;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dumper"></param>
        public void GetDump(IDump dumper)
        {
            if (ReferenceEquals(dumper, null))
            {
                var ex = new ArgumentNullException($"{nameof(dumper)} is null");
                this.logger?.Error(ex, ex.Message);
                throw ex;
            }

            try
            {
                this.storage = new HashSet <User>(dumper.Load(), this.userEqualityComparer);
                this.logger?.Info($"Requested {this.storage.Count} users from dump file");
            }
            catch (IOException exception)
            {
                var ex = new UserServiceException("Can't load Users", exception);
                this.logger?.Error(ex, ex.Message);
                throw ex;
            }
            catch (InvalidOperationException exception)
            {
                var ex = new UserServiceException("Can't load Users", exception);
                this.logger?.Error(ex, ex.Message);
                throw ex;
            }
        }
Exemplo n.º 3
0
        public static string GetDumpString(this IDump instance)
        {
            StringBuilder result = new StringBuilder();

            instance.AddDumpString(result, 0);

            return(result.ToString());
        }
Exemplo n.º 4
0
        public static void Dump <T>(Grammar grammar, FileRef file, IDump <T> dump, T subject)
        {
            if (dump == null)
            {
                throw new ArgumentNullException(nameof(dump));
            }

            var writer = new IndentWriter();

            dump.Dump(grammar, writer, subject);
            writer.Persist(file);
        }
Exemplo n.º 5
0
 public void DumpToXml(IDump dumper, string path)
 {
     if (ReferenceEquals(dumper, null))
     {
         dumper = new XmlDump();
     }
     if (ReferenceEquals(path, null))
     {
         dumper.Dump(_userRepository.GetUsers(), null);
     }
     dumper.Dump(_userRepository.GetUsers(), path);
 }
Exemplo n.º 6
0
        public static string GetDumpString(this IDump instance, bool?includeTypeHeader)
        {
            includeTypeHeader = includeTypeHeader ?? true;
            StringBuilder result = new StringBuilder();

            if (includeTypeHeader.Value && instance != null)
            {
                result.AppendLine(string.Format("[{0}]", instance.GetType()));
            }

            instance.AddDumpString(result, includeTypeHeader.Value ? 1 : 0);

            return(result.ToString());
        }
        static void Main(string[] args)
        {
            Client client = new Client();

            IPhoneFactory phoneFactory = client.GetInstance(FactoryName.SAMSUNG);
            IDump         dump         = phoneFactory.Dump();
            string        name         = dump.GetName("Hey this is SAMSUNG S8");

            ISmart smart       = phoneFactory.Smart();
            string modelNumber = smart.GetModelNumber("XT672K");

            System.Console.WriteLine(name + Environment.NewLine);
            System.Console.WriteLine(modelNumber + Environment.NewLine);

            Console.WriteLine("Hello World!");
        }
Exemplo n.º 8
0
 private void AppendToOutput(IDump dump)
 {
     AppendToOutput(dump.GetDumpString());
 }
Exemplo n.º 9
0
 public static void AddDumpString(this IDump instance, StringBuilder output, int depth)
 {
     AddDumpString(output, depth, instance);
 }
Exemplo n.º 10
0
 public static string GetDumpString(this IDump instance)
 {
     return(GetDumpString(instance, null));
 }
Exemplo n.º 11
0
 private void AppendToOutput(IDump dump)
 {
     AppendToOutput(dump.GetDumpString());
 }