private void CriaTreinamentoCanalOuAtiva(Guid prodTreiId, string nomeTreinamento, Conta canal, Guid?compCanalId) { List <TreinamentoCanal> lstTreiCanal = TreinamentoCanal.ListarPorInativo(prodTreiId, canal.ID, compCanalId); if (lstTreiCanal.Count > 0) { foreach (var TreiCanal in lstTreiCanal) { InserirLog(DateTime.Now + " --------- Ativando Treinamento do Canal: " + TreiCanal.ID.Value); RepositoryService.TreinamentoCanal.AlterarStatus(TreiCanal.ID.Value, 0); } } else { #region Cria treinamento canal TreinamentoCanal treinamentocanal = new TreinamentoCanal(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); treinamentocanal.Canal = new Lookup(canal.ID.Value, "account"); treinamentocanal.Treinamento = new Lookup(prodTreiId, "itbc_treinamento_certificacao_canal"); treinamentocanal.CompromissoCanal = new Lookup(compCanalId.Value, "itbc_compdocanal"); string _tempNomeTreinamento = canal.RazaoSocial + " - " + nomeTreinamento; treinamentocanal.Nome = (_tempNomeTreinamento.Length < 100) ? _tempNomeTreinamento : _tempNomeTreinamento.Substring(0, 100); treinamentocanal.DataLimite = DateTime.Today.AddMonths(1); treinamentocanal.StatusCompromisso = new Lookup(StatusCompromissoNaoCumprido.ID.Value, ""); treinamentocanal.ID = RepositoryService.TreinamentoCanal.Create(treinamentocanal); InserirLog(DateTime.Now + " --------- Criar Treinamento do Canal: " + treinamentocanal.ID); #endregion } }
public void AtualizaTreinamentoCanal(Guid treinamentoId, string statusCompromisso) { TreinamentoCanal treinamentoCanal = RepositoryService.TreinamentoCanal.ObterPor(treinamentoId); StatusCompromissos status = RepositoryService.StatusCompromissos.ObterPor(statusCompromisso); treinamentoCanal.StatusCompromisso = new Lookup((Guid)status.ID, ""); RepositoryService.TreinamentoCanal.Update(treinamentoCanal); }
public void VerificaCumprimento(TreinamentoCanal treinamentoCanal) { string statusCompromisso = Domain.Enum.CompromissoCanal.StatusCompromisso.Nao_Cumprido; if (QuantidadeRequerida(treinamentoCanal.Canal.Id, treinamentoCanal.Treinamento.Id)) { statusCompromisso = Domain.Enum.CompromissoCanal.StatusCompromisso.Cumprido; } AtualizaTreinamentoCanal((Guid)treinamentoCanal.ID, statusCompromisso); }
public void CriaTreinamentoeCertificacaoDoCanal(ProdutoTreinamento ProdPortifolio) { //procura em qual produtos do portifolio está if (ProdPortifolio.Produto != null && ProdPortifolio.NroMinimoProf.Value > 0) { List <ProdutoPortfolio> lstProdutoPorfolio = RepositoryService.ProdutoPortfolio.ListarPorProduto(ProdPortifolio.Produto.Id); foreach (ProdutoPortfolio _ProdutoPorfolio in lstProdutoPorfolio) { Portfolio _Portfolio = RepositoryService.Portfolio.ObterPor(_ProdutoPorfolio.Portfolio.Id); List <CategoriasCanal> lstCategoriasCanal = RepositoryService.CategoriasCanal.ListarPor(null, _Portfolio.UnidadeNegocio.Id, null, null, null); foreach (CategoriasCanal _CategoriasCanal in lstCategoriasCanal) { TreinamentoCanal treinamentocanal = new TreinamentoCanal(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); treinamentocanal.Canal = new Lookup(_CategoriasCanal.Canal.Id, "account"); treinamentocanal.Treinamento = new Lookup(ProdPortifolio.Treinamento.Id, ""); treinamentocanal.Nome = _CategoriasCanal.Canal.Name + " - " + ProdPortifolio.Treinamento.Name; treinamentocanal.DataLimite = DateTime.Now.AddMonths(1); //consulta os profissionais certificados do canal. List <ColaboradorTreinadoCertificado> lstColaboradorTreinadoCertificado = RepositoryService.ColaboradorTreinadoCertificado.ListarPor(_CategoriasCanal.Canal.Id, ProdPortifolio.Treinamento.Id); if (lstColaboradorTreinadoCertificado.Count >= ProdPortifolio.NroMinimoProf.Value) { treinamentocanal.StatusCompromisso = new Lookup(RepositoryService.StatusCompromissos.ObterPor("Cumprido").ID.Value, ""); } else { treinamentocanal.StatusCompromisso = new Lookup(RepositoryService.StatusCompromissos.ObterPor("Não Cumprido").ID.Value, ""); } treinamentocanal.ID = RepositoryService.TreinamentoCanal.Create(treinamentocanal); } } } }