Ejemplo n.º 1
0
        /// <summary>
        /// Salvar vagas para remocao no banco de dados
        /// </summary>
        /// <param name="vagas"></param>
        static void Processar(IEnumerable <VagaRemocao> vagas)
        {
            if (vagas == null)
            {
                throw new ArgumentNullException("vagas");
            }

            if (vagas.GroupBy(a => new { a.CargoId, a.UnidadeId, a.Data.Year }).Where(a => a.Count() > 1).Any())
            {
                throw new Exception($"Existem vagas repetidas na coleção");
            }

            var ano = vagas.First().Data.Year;

            if (_vagaDomain.Get().Any(a => a.Data.Year == ano))
            {
                if (_vagaDomain.Get().ToArray().Any(a => vagas.Any(b => a.CargoId == b.CargoId && a.UnidadeId == b.UnidadeId && a.Data.Year == b.Data.Year)))
                {
                    throw new Exception($"Existem vagas já cadastradas no banco de dados");
                }
            }

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Salvando vagas em lote...");

            _vagaDomain.Save(vagas);

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Todas Vagas foram registradas com sucesso!");
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        private void AtualizarLista()
        {
            var ano = DateTime.Now.Year;
            var mes = DateTime.Now.Month;

            _unidades = _unidadeDomain.Get().Where(a => !a.Vagas.Any(b => b.Data.Year == ano && b.Data.Month == mes))
                        .ToDictionary(a => a.Id, a => a.Id + " - " + a.TipoUnidade.Tipo + " - " + a.Nome);

            Listar();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            _unidadeDomain = _lifeTimeScope.Resolve <ModelDomain <Unidade> >();
            _vagaDomain    = _lifeTimeScope.Resolve <ModelDomain <VagaRemocao> >();
            _cargoDomain   = _lifeTimeScope.Resolve <ModelDomain <Cargo> >();

            _cargos              = _cargoDomain.Get().ToArray();
            _unidadeDictionary   = _unidadeDomain.Get().ToDictionary(a => a.Id, a => a.Nome.ReplaceDiacritics().ToUpper());
            _unidadeDoDictionary = _unidadeDomain.Get().Where(a => a.NomeDiarioOficial != null).ToDictionary(a => a.Id, a => a.NomeDiarioOficial.ReplaceDiacritics().ToUpper());

            //Passo 1: Analisar unidades e cargos extraidos
            ExecutarAnalise(false, true);
            //Passo 2: Testar TXT e checar pendencias negativas
            //var vagas = TestarTxtFinal();
            //Passo 3: Salvar vagas - ATENÇÃO: Só executar esse passo se tiver certeza que a analise e testes estão corretos
            //Processar(vagas);
        }
Ejemplo n.º 4
0
        public MainForm()
        {
            InitializeComponent();
            _cargoDomain = this.Get <ModelDomain <Cargo> >();
            _vagaDomain  = this.Get <ModelDomain <VagaRemocao> >();

            foreach (var cargo in _cargoDomain.Get())
            {
                addCargo(cargo.Id, cargo.Abreviacao);
            }
        }
Ejemplo n.º 5
0
        private void ExibirVagas()
        {
            if (_unidadeRegistrada)
            {
                var ano = DateTime.Now.Year;
                var mes = DateTime.Now.Month;

                var vagas = _vagaDomain.Get()
                            .Where(a =>
                                   a.UnidadeId == _unidadeId &&
                                   a.Data.Year == ano &&
                                   a.Data.Month == mes);

                foreach (var vaga in vagas)
                {
                    var vagaTextBox = _vagas.SingleOrDefault(a => a.Tag.Equals(vaga.CargoId));
                    if (vagaTextBox != null)
                    {
                        vagaTextBox.Value = vaga.Vagas;
                    }
                }
            }
        }
Ejemplo n.º 6
0
        }                                           //Unidades que já tem vagas no banco

        public UnidadesForm()
        {
            InitializeComponent();
            _unidadeDomain = this.Get <ModelDomain <Unidade> >();

            if (_unidades == null || _unidades.Count == 0)
            {
                var ano = DateTime.Now.Year;
                var mes = DateTime.Now.Month;

                _unidades = _unidadeDomain.Get().Where(a => !a.Vagas.Any(b => b.Data.Year == ano && b.Data.Month == mes))
                            .ToDictionary(a => a.Id, a => a.Id + " - " + a.TipoUnidade.Tipo + " - " + a.Nome);
            }

            Listar();
        }
Ejemplo n.º 7
0
        static bool RegistrarNomeUnidade(string linha)
        {
            var comparativo = linha.StartsWith("CEI DIRET ") ? linha.Replace(" DIRET ", " ") : linha;
            KeyValuePair <int, string> unidadePair;

            unidadePair = _unidadeDictionary.SingleOrDefault(a => comparativo.Equals(a.Value, StringComparison.CurrentCultureIgnoreCase));

            //procurar em nomes do DO
            if (unidadePair.Equals(default(KeyValuePair <int, string>)))
            {
                //usamos a var linha ao inves de comparativo
                //pois entende-se que o mesmo nome da linha e o que esta salvo na coluan NomeDiarioOficial
                unidadePair = _unidadeDoDictionary.SingleOrDefault(a => linha.Equals(a.Value, StringComparison.CurrentCultureIgnoreCase));
            }

            if (unidadePair.Equals(default(KeyValuePair <int, string>)))
            {
                if (!Regex.IsMatch(comparativo, ".*, (PROF|VER|GEN|DR|MAL|DES|TTE|DEP|PRES|PREF|SG|MIN|CEL|PE|ENG|PDE|SEN|CAP|CM|CTE|ALM|ARQ|SGT|BRIG|MJ|GOV|EMB|CDE)(A|.|A.|)"))
                {
                    return(false);
                }

                comparativo = CorrigirNomeUnidade(comparativo);
                unidadePair = _unidadeDictionary.SingleOrDefault(a => comparativo.Equals(a.Value, StringComparison.CurrentCultureIgnoreCase));

                if (unidadePair.Equals(default(KeyValuePair <int, string>)))
                {
                    return(false);
                }
            }

            var unidade = _unidadeDomain.Get(unidadePair.Key);

            if (unidade.NomeDiarioOficial != null)
            {
                return(true);
            }

            unidade.NomeDiarioOficial = linha;
            _unidadeDomain.Save(unidade);
            return(true);
        }
Ejemplo n.º 8
0
        static void Analisar(string linha, bool checkCargo = true)
        {
            if (linha.StartsWithNumber(5))
            {
                if (!checkCargo)
                {
                    return; //cargos resolvidos
                }

                var codigoCargo = linha.Substring(0, 5); //as 5 primeiras posicoes representa o codigo do cargo
                if (_cargosList.Any(a => a.Substring(0, 5) == codigoCargo) ||
                    _cargoDomain.Get().Any(a => a.Codigo == codigoCargo))
                {
                    return;
                }

                _cargosList.Add(linha);
                _cargosTxt.WriteLine(linha);
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"CARGO registrado");
                return;
            }

            if (_unidadesList.Any(a => a == linha))
            {
                return;
            }

            _unidadesList.Add(linha);

            if (RegistrarNomeUnidade(linha))
            {
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine($"UNIDADE encontrada");
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Magenta;
                _unidadesTxt.WriteLine(linha);
                Console.WriteLine($"UNIDADE registrada");
            }
        }