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); }
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); }
public string Enviar(TreinamentoCertificacao objModel) { string resposta = string.Empty; return(resposta); }
// 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"); }