Пример #1
0
        static void Main(string[] args)
        {
            try
            {
                //Console.SetWindowSize(50, 100);
                Console.WriteLine();
                Console.WriteLine("############################################################");
                Console.WriteLine("##                Iniciando Processo do KIT               ##");
                Console.WriteLine("############################################################");
                Console.WriteLine();
                //args = new string[4];
                //args[0] = "Ampsoft";
                //args[1] = "41";
                //args[1] = "47";
                //args[1] = "47";
                //args[4] = "49";
                //args[5] = "51";
                //args[2] = "100";
                //args[7] = "123";
                //args[3] = "124";


                //var diretorio = Environment.CurrentDirectory + @"\ArquivoKitDigital";
                var diretorioAtual = Directory.GetParent(Directory.GetParent(Environment.CurrentDirectory).ToString());
                var diretorio      = diretorioAtual + @"\ArquivoKitDigital";

                if (!Directory.Exists(diretorio))
                {
                    Directory.CreateDirectory(diretorio);
                }
                string[] arquivos = Directory.GetFiles(diretorio);
                if (arquivos.Count() > 0)
                {
                    var subDiretorio = Path.Combine(diretorio, "Old");
                    if (!Directory.Exists(subDiretorio))
                    {
                        Directory.CreateDirectory(subDiretorio);
                    }
                    foreach (var item in arquivos)
                    {
                        File.Copy(item, Path.Combine(subDiretorio, Path.GetFileName(item)), true);
                        File.Delete(item);
                    }
                }
                var    lista       = new ConcurrentBag <Kitdigital>();
                string nomeArquivo = "KitDigital" + DateTime.Now.ToString("ddMMyyyyHHmmss");
                if (args.Length > 0)
                {
                    string usuario = args[0];
                    var    lstKit  = new List <int>();
                    for (int i = 1; i < args.Length; i++)
                    {
                        lstKit.Add(Int32.Parse(args[i]));
                    }
                    var listaRetorno = new ProdutoDao().BuscarCertificado(lstKit, usuario, nomeArquivo);
                    if (listaRetorno.Count() > 0)
                    {
                        Parallel.ForEach(listaRetorno, item =>
                        {
                            lista.Add(item);
                        });
                        listaRetorno = null;
                    }
                }
                Console.WriteLine();
                Console.WriteLine("Criando Arquivo Json...");

                var path = Path.Combine(diretorio, nomeArquivo + ".json");

                //REMOVE BOM
                Encoding utf8WithoutBom = new UTF8Encoding(false);
                //FIM REMOVE BOM

                using (StreamWriter file = new StreamWriter(File.Open(path, FileMode.CreateNew), utf8WithoutBom))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    serializer.Serialize(file, lista);
                }

                Console.WriteLine();
                Console.WriteLine("############################################################");
                Console.WriteLine("##                   FIM Processo do KIT                  ##");
                Console.WriteLine("############################################################");
                Console.WriteLine();
            }
            catch (Exception e)
            {
                throw e;
            }
        }