Example #1
0
        public TreinamentoCertificacao Persistir(Model.TreinamentoCertificacao objTreinamentoCertificacao)
        {
            TreinamentoCertificacao TmpTreinamentoCertificacao = null;

            if (objTreinamentoCertificacao.IdCurso.HasValue)
            {
                TmpTreinamentoCertificacao = RepositoryService.TreinamentoCertificacao.ObterPor(objTreinamentoCertificacao.IdCurso.Value);

                if (TmpTreinamentoCertificacao != null)
                {
                    objTreinamentoCertificacao.ID = TmpTreinamentoCertificacao.ID;

                    //Altera Status - Se necessário
                    if (!TmpTreinamentoCertificacao.State.Equals(objTreinamentoCertificacao.State) && objTreinamentoCertificacao.State != null)
                    {
                        this.MudarStatus(TmpTreinamentoCertificacao.ID.Value, objTreinamentoCertificacao.State.Value);
                    }

                    RepositoryService.TreinamentoCertificacao.Update(objTreinamentoCertificacao);

                    return(TmpTreinamentoCertificacao);
                }
                else
                {
                    objTreinamentoCertificacao.ID = RepositoryService.TreinamentoCertificacao.Create(objTreinamentoCertificacao);

                    if (objTreinamentoCertificacao.State == (int)Enum.TreinamentoCanal.State.Inativo)
                    {
                        this.MudarStatus(objTreinamentoCertificacao.ID.Value, (int)Enum.TreinamentoCanal.State.Inativo);
                    }

                    return(objTreinamentoCertificacao);
                }
            }

            return(null);
        }
Example #2
0
        public TreinamentoCertificacao DefinirPropriedades(Intelbras.Message.Helper.MSG0103 xml)
        {
            var crm = new TreinamentoCertificacao(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            if (!String.IsNullOrEmpty(xml.NomeTreinamento))
            {
                crm.Nome = xml.NomeTreinamento;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "NomeTreinamento não enviado!";
                return(crm);
            }

            if (xml.Situacao == 1 || xml.Situacao == 0)
            {
                crm.State = xml.Situacao;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Situação não enviada!";
                return(crm);
            }

            if (!String.IsNullOrEmpty(xml.ModalidadeTreinamento))
            {
                crm.ModalidadeCurso = xml.ModalidadeTreinamento;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "ModalidadeTreinamento não enviado!";
                return(crm);
            }

            if (!String.IsNullOrEmpty(xml.CategoriaTreinamento))
            {
                crm.CategoriaCurso = xml.CategoriaTreinamento;
            }
            else
            {
                crm.AddNullProperty("CategoriaCurso");
            }

            if (!String.IsNullOrEmpty(xml.CodigoTreinamento))
            {
                crm.CodigoTreinamento = xml.CodigoTreinamento;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "CodigoTreinamento não enviado!";
                return(crm);
            }

            if (xml.IdentificadorTreinamento.HasValue)
            {
                crm.IdCurso = xml.IdentificadorTreinamento.Value;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Identificador Treinamento não enviado!";
                return(crm);
            }

            if (xml.HorasTreinamento.HasValue)
            {
                crm.HorasTreinamento = xml.HorasTreinamento.Value;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Horas Treinamento não enviado!";
                return(crm);
            }
            #endregion

            return(crm);
        }
Example #3
0
        public string Enviar(TreinamentoCertificacao objModel)
        {
            string resposta = string.Empty;

            return(resposta);
        }
Example #4
0
        // TREINAMENTO
        // CASO DE USO 2 - VERIFICAÇÃO DO STATUS DOS TREINAMENTOS E CERTIFICAÇÃO DO CANAL
        public void VerificacaoDoStatusTreinamentosECertificacaoCanal()
        {
            Trace       = new SDKore.Helper.Trace("MonitoramentoVerificaStatus");
            mensagemLog = new List <string>();

            InserirLog(DateTime.Now + " - Inicio - Verificação do Status dos Treinamentos e Certificados dos Canais!");

            ParametroGlobal paramGlobal = ParametroGlobal.ListarParamGlobalPorTipoParam((int)Intelbras.CRM2013.Domain.Enum.TipoParametroGlobal.DatasTrimestre).FirstOrDefault();

            if (paramGlobal == null)
            {
                throw new ApplicationException("A execução do monitoramento foi interrompida, o parâmetro global não foi encontrado ou está preenchido com valores incorretos.");
            }

            // Obtem lista de canais matriz ou filial // (CASO USO TREINAMENTO 2: STEP 1)
            List <Conta> lstContas = ContaService.ListarContasParticipantes();

            InserirLog(string.Empty);
            InserirLog(DateTime.Now + " - Foram encontrados " + lstContas.Count + " participantes do PCI para processar!");

            foreach (Conta canal in lstContas)
            {
                // (CASO USO TREINAMENTO 2: STEP 3)
                List <TreinamentoCanal> lstTreinamentoCanal = this.ListarTreinamentoPorCanal(canal.ID.Value);

                InserirLog(string.Empty);
                InserirLog(DateTime.Now + " --- Foram encontrados " + lstTreinamentoCanal.Count + " treinamentos do Canal [" + canal.CodigoMatriz + "] para processar!");

                // (CASO USO TREINAMENTO 2: STEP 4)
                foreach (var treinamentoCanal in lstTreinamentoCanal)
                {
                    try
                    {
                        InserirLog(DateTime.Now + " ----- Treinamentos do Canal [" + treinamentoCanal.Nome + "]");


                        // (CASO USO TREINAMENTO 2: STEP 5)
                        TreinamentoCertificacao treinamentoCertficacao = TreinamentoCertificacao.ObterPor(treinamentoCanal.Treinamento.Id);
                        if (treinamentoCanal.CompromissoCanal != null)
                        {
                            CompromissosDoCanal compCanal = CompromissoDoCanal.BuscarPorGuid(treinamentoCanal.CompromissoCanal.Id);

                            // (CASO USO TREINAMENTO 2: STEP 5)
                            if (treinamentoCertficacao.ID != null && compCanal.UnidadeDeNegocio != null)
                            {
                                List <ProdutoTreinamento> lstProdTrei = ProdutoTreinamento.ListarPorTreinamento(treinamentoCertficacao.ID.Value, compCanal.UnidadeDeNegocio.Id);
                                int numMinimoProfissionais            = lstProdTrei.Max(x => x.NroMinimoProf.Value);

                                // (CASO USO TREINAMENTO 2: STEP 6)
                                List <ColaboradorTreinadoCertificado> lstColaboradorTreinadoCertificadoDoCanal = RepositoryService.ColaboradorTreinadoCertificado.ListarPor(canal.ID.Value, treinamentoCertficacao.ID.Value);

                                // (CASO USO TREINAMENTO 2: STEP 7)
                                if (lstColaboradorTreinadoCertificadoDoCanal.Count >= numMinimoProfissionais)
                                {
                                    InserirLog(DateTime.Now + " ----- Atualizando para Cumprido");

                                    treinamentoCanal.StatusCompromisso = new Lookup(StatusCompromissoCumprido.ID.Value, "");
                                    RepositoryService.TreinamentoCanal.Update(treinamentoCanal);
                                }
                                else if (treinamentoCanal.DataLimite < DateTime.Today)
                                {
                                    InserirLog(DateTime.Now + " ----- Atualizando para Não Cumprido");

                                    treinamentoCanal.StatusCompromisso = new Lookup(StatusCompromissoNaoCumprido.ID.Value, "");
                                    RepositoryService.TreinamentoCanal.Update(treinamentoCanal);
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        string mensagem = SDKore.Helper.Error.Handler(ex);
                        InserirLog(DateTime.Now + " - ERRO: " + mensagem);
                    }
                }
            }


            InserirLog(string.Empty);
            InserirLog(DateTime.Now + " - Fim - Verificação do Status dos Treinamentos e Certificados dos Canais!");

            this.EnviaEmailDeLog("Verificação do status do Treinamento");
        }