Exemplo n.º 1
0
        public static Revista Adapter(RevistaDTO revistaDTO)
        {
            var revista = new Revista();

            revista.RevistaId = Guid.NewGuid().ToString().Replace("-", "");
            revista.Numero    = Convert.ToInt32(revistaDTO.Numero);

            if (!string.IsNullOrEmpty(revistaDTO.Data))
            {
                revista.Data = Convert.ToDateTime(revistaDTO.Data);
            }

            revista.Processos = new List <Processo>();

            if (revistaDTO.Processos != null)
            {
                foreach (var processoDTO in revistaDTO.Processos)
                {
                    revista.Processos.Add(Processo.Adapter(processoDTO, revista));
                }
            }



            return(revista);
        }
        public async Task <IActionResult> Index()
        {
            try
            {
                var webRoot = _env.WebRootPath;
                var file    = System.IO.Path.Combine(webRoot, @"xml\2323.xml");

                XmlSerializer xmlSerializer = new XmlSerializer(typeof(RevistaDTO));
                StreamReader  sr            = new StreamReader(file);
                RevistaDTO    revistaDTO    = (RevistaDTO)xmlSerializer.Deserialize(sr);

                Revista dados = Revista.Adapter(revistaDTO);


                foreach (var processo in dados.Processos)
                {
                    if (processo.ClasseNice != null)
                    {
                        _context.CLASSENICE.Add(processo.ClasseNice);
                    }

                    if (processo.Marca != null)
                    {
                        _context.MARCA.Add(processo.Marca);
                    }

                    if (processo.ClassesVienna != null)
                    {
                        if (processo.ClassesVienna.ClasseVienna != null)
                        {
                            foreach (var classeVienna in processo.ClassesVienna.ClasseVienna)
                            {
                                _context.CLASSEVIENNA.Add(classeVienna);
                            }
                        }
                        _context.CLASSESVIENNA.Add(processo.ClassesVienna);
                    }

                    if (processo.Despachos != null)
                    {
                        foreach (var despacho in processo.Despachos)
                        {
                            _context.DESPACHO.Add(despacho);
                        }
                    }

                    if (processo.Titulares != null)
                    {
                        foreach (var titular in processo.Titulares)
                        {
                            _context.TITULAR.Add(titular);
                        }
                    }
                }

                _context.REVISTA.Add(dados);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(View());
        }