public VizualizarIndicadoModel VisualizarIndicado(int id, bool mostraTodos) { VizualizarIndicadoModel model = new VizualizarIndicadoModel(); model.Infos = CarregaInformacoesIndicado(id); HistoriaService service = new HistoriaService(); model.Historias = service.ListarHistoriasComMidias(id, mostraTodos); return(model); }
public IndicadoAbusoModel CarregaDadosTriagemAbuso(int indicadoID) { HistoriaService service = new HistoriaService(); IndicadoAbusoModel retorno = new IndicadoAbusoModel(); //carregando informações do indicado retorno.Informacoes = CarregaInformacoesIndicado(indicadoID); //carregando histórias reportadas do indicado e seus reports retorno.HistoriasReportadas = service.ListarHistoriasReportadas(retorno.Informacoes.Indicado.ID).ToList(); return(retorno); }
public RetornoModel RealizarTriagemAbuso(IndicadoAbusoModel model) { RetornoModel retorno = new RetornoModel { Mensagem = "Ok", Sucesso = true }; //inserindo log dal.InserirLog(model.Informacoes.Indicado.ID); HistoriaService service = new HistoriaService(); Indicado indicado = dal.Carregar(model.Informacoes.Indicado.ID); if (indicado != null) { indicado.DataModificacao = DateTime.Now; indicado.AlteracaoOrigem = enumAlteracaoOrigem.TriagemAbuso; indicado.UsuarioID = model.Informacoes.Indicado.UsuarioID; indicado.RemoverGaleria = model.Informacoes.Indicado.RemoverGaleria; if (model != null) { if (model.HistoriasReportadas != null) { foreach (HistoriaReportModel item in model.HistoriasReportadas) { retorno = service.RealizarTriagemAbuso(item, model.Informacoes.Indicado.UsuarioID ?? 0); if (!retorno.Sucesso) { return(retorno); } } } } //atualizando dados do indicado dal.AtualizarIndicadoReportadoAbuso(indicado); } else { retorno = new RetornoModel { Mensagem = "Erro ao carregar os dados do indicado", Sucesso = false }; } return(retorno); }
public RetornoModel RecusarIndicacao(IndicadoModel model) { HistoriaService historiaService = new HistoriaService(); Historia historiaTela = model.Historia; Indicado indicadoTela = model.Indicado; model.Historia = historiaService.Carregar(model.Codigo); model.Indicado = dal.Carregar(model.Historia.IndicadoID ?? 0); if (model.Historia.ID != historiaTela.ID) { return(new RetornoModel() { Sucesso = false, Mensagem = "Você não pode manipular um ID diferente do seu código." }); } //se for responsavel if (model.Historia.CodigoIndicadoResponsavel == model.Codigo) { model.Historia.IndicadoAprovacaoResponsavel = enumAprovacao.naoAprovado; model.Historia.IndicadoAprovacao = enumAprovacao.naoAprovado; EnviarEmailRecusaResponsavel(model); } else { model.Historia.IndicadoAprovacao = enumAprovacao.naoAprovado; model.Historia.IndicadoAprovacaoOriginal = enumAprovacao.naoAprovado; EnviarEmailRecusaIndicado(model); } model.Historia.IndicadoID = null; HistoriaService service = new HistoriaService(); service.Salvar(model.Historia); return(new RetornoModel() { Sucesso = true, Mensagem = "OK!" }); }
public RetornoModel ConfirmarIndicacao(IndicadoModel model) { RetornoModel retorno = new RetornoModel(); retorno = ValidaDados(model); if (retorno.Sucesso) { HistoriaService historiaService = new HistoriaService(); HistoriaMidiaService historiaMidiaService = new HistoriaMidiaService(); Historia historiaTela = model.Historia; Indicado indicadoTela = model.Indicado; model.Historia = historiaService.Carregar(model.Codigo); model.Historia.Midias = historiaMidiaService.Listar(model.Historia.ID, true); model.Responsavel = (model.Historia.CodigoIndicadoResponsavel == model.Codigo); if (model.Historia.ID != historiaTela.ID) { return(new RetornoModel() { Sucesso = false, Mensagem = "Você não pode manipular um ID diferente do seu código." }); } model.Historia.ComentarioIndicado = historiaTela.ComentarioIndicado; if (model.Responsavel) { if ((model.Historia.IndicadoAprovacaoOriginal != enumAprovacao.aprovado) || (model.Historia.IndicadoAprovacaoResponsavel != enumAprovacao.pendente)) { return(new RetornoModel { Mensagem = "Não existe nenhuma pendência vinculada a este código.", Sucesso = false }); } model.Historia.ComentarioIndicadoResponsavel = historiaTela.ComentarioIndicado; } else { if (model.Historia.IndicadoAprovacaoOriginal != enumAprovacao.pendente) { return(new RetornoModel { Mensagem = "Não existe nenhuma pendência vinculada a este código.", Sucesso = false }); } model.Historia.ComentarioIndicadoOriginal = historiaTela.ComentarioIndicado; } if (historiaTela.Midias != null) { if (model.Historia.Midias == null) { model.Historia.Midias = new List <HistoriaMidia>(); } foreach (var htm in historiaTela.Midias) { if (htm.ID == 0) { htm.AdicionadoOrigem = ((model.Responsavel) ? enumAlteracaoOrigem.IndicadoResponsavel : enumAlteracaoOrigem.Indicado); htm.InativoOrigem = enumAlteracaoOrigem.Nenhum; htm.DataCadastro = DateTime.Now; htm.HistoriaID = model.Historia.ID; htm.ArquivoTipo = htm.ArquivoTipo; model.Historia.Midias.Add(htm); historiaMidiaService.Salvar(htm); } else if (htm.Inativo) { var midia = model.Historia.Midias.FirstOrDefault(t => t.ID == htm.ID); if (midia != null) { midia.InativoOrigem = ((model.Responsavel) ? enumAlteracaoOrigem.IndicadoResponsavel : enumAlteracaoOrigem.Indicado); midia.Inativo = true; historiaMidiaService.Salvar(midia); model.Historia.Midias.Remove(midia); } } } } if (model.Responsavel) { model.Indicado = dal.Carregar(model.Historia.IndicadoID.Value); if (model.Indicado.ID != indicadoTela.ID) { return(new RetornoModel() { Sucesso = false, Mensagem = "Você não pode manipular um ID diferente do seu código" }); } ConfirmarIndicacaoUpdateIndicado(indicadoTela, model.Indicado); model.Historia.TriagemAprovacao = enumAprovacao.pendente; model.Historia.TriagemAprovacaoNormal = enumAprovacao.pendente; model.Historia.IndicadoAprovacaoResponsavel = enumAprovacao.aprovado; model.Historia.IndicadoAprovacao = enumAprovacao.aprovado; model.Historia.AlteracaoOrigem = enumAlteracaoOrigem.IndicadoResponsavel; model.Indicado.AlteracaoOrigem = enumAlteracaoOrigem.IndicadoResponsavel; } else { if (model.Estrangeiro) { // Salva o RNE no DocumentoNumero e o Passaport no DocumentoNumeroComplemento indicadoTela.DocumentoTipoID = enumDocumentoTipoNome.outro; } else { indicadoTela.DocumentoTipoID = enumDocumentoTipoNome.cpf; } model.Indicado = CarregarIndicadoPorDocumento(indicadoTela); model.Historia.AlteracaoOrigem = enumAlteracaoOrigem.Indicado; if (model.Indicado == null) { model.Indicado = indicadoTela; model.Indicado.DataCadastro = DateTime.Now; } else { ConfirmarIndicacaoUpdateIndicado(indicadoTela, model.Indicado); } model.Indicado.AlteracaoOrigem = enumAlteracaoOrigem.Indicado; if (MenorIdade(model.Indicado)) { model.Historia.TriagemAprovacao = enumAprovacao.semNecessidade; model.Historia.TriagemAprovacaoNormal = enumAprovacao.semNecessidade; model.Historia.IndicadoAprovacaoResponsavel = enumAprovacao.pendente; model.Historia.IndicadoAprovacaoOriginal = enumAprovacao.aprovado; model.Historia.IndicadoAprovacao = enumAprovacao.pendente; model.Historia.CodigoIndicadoResponsavel = historiaService.GeraCodigo(); //zera os dados do robo para disparo para o responsavel model.Historia.DataEmailAguardandoAprovacao = DateTime.Now; model.Historia.QuantidadeEmailAguardandoAprovacao = 0; } else // indicado maior de idade { model.Historia.TriagemAprovacao = enumAprovacao.pendente; model.Historia.TriagemAprovacaoNormal = enumAprovacao.pendente; model.Historia.IndicadoAprovacaoResponsavel = enumAprovacao.semNecessidade; model.Historia.IndicadoAprovacaoOriginal = enumAprovacao.aprovado; model.Historia.IndicadoAprovacao = enumAprovacao.aprovado; } } //calculando cidade onde irá carregar a tocha CidadeParticipanteService cpService = new CidadeParticipanteService(); model.Indicado.CidadeParticipanteID = cpService.CarregarPorCidade(model.Indicado.CidadeID).ID; model.Indicado.DataModificacao = DateTime.Now; model.Historia.DataModificacao = DateTime.Now; if (!String.IsNullOrEmpty(model.Indicado.FotoArquivoNome)) { model.IndicadoFotoInfo.file = model.Indicado.FotoArquivoNome; model.Indicado.FotoArquivoNome = GerarFotoArquivoNome(model.IndicadoFotoInfo); } //insere Indicado no banco se nao existir com mesmo documento senao atualiza if (model.Responsavel) { SalvarResponsavelAprovacao(model.Indicado); } else { model.Indicado.ID = SalvarConfirmarIndicacaoIndicado(model.Indicado); } model.Historia.IndicadoID = model.Indicado.ID; historiaService.Salvar(model.Historia); try { //enviar emails if (model.Responsavel) { EnviarEmailsConfirmacaoResponsavel(model); } else { EnviarEmailsConfirmacaoIndicado(model); } } catch (Exception ex) { LogUtil.Error(ex); } } else { return(retorno); } return(new RetornoModel { Sucesso = true, Mensagem = "Ok" }); }
public RetornoModel <IndicadoModel> CarregarConfirmarIndicacao(string Codigo) { IndicadoModel model = new IndicadoModel(); HistoriaService sc = new HistoriaService(); HistoriaMidiaService scMidia = new HistoriaMidiaService(); model.Codigo = Codigo; model.Historia = sc.Carregar(Codigo); //buscando historia a partir do codigo do indicado OU RESPONSAVEL if (model.Historia == null) // se a historia existe, monta o model { return(new RetornoModel <IndicadoModel> { Mensagem = "Código inválido!", Sucesso = false }); } model.Historia.Midias = scMidia.Listar(model.Historia.ID, true); model.Responsavel = (Codigo == model.Historia.CodigoIndicadoResponsavel); if (model.Responsavel) { if ((model.Historia.IndicadoAprovacaoOriginal != enumAprovacao.aprovado) || (model.Historia.IndicadoAprovacaoResponsavel != enumAprovacao.pendente)) { string mensagem = "Não existe nenhuma pendência vinculada a este código."; if (model.Historia.IndicadoAprovacaoResponsavel == enumAprovacao.aprovado) { mensagem = "Essa indicação já foi aprovada."; } else if (model.Historia.IndicadoAprovacaoResponsavel == enumAprovacao.naoAprovado) { mensagem = "Essa indicação já foi recusada."; } return(new RetornoModel <IndicadoModel> { Mensagem = mensagem, Sucesso = false }); } model.Indicado = dal.Carregar(model.Historia.IndicadoID.Value); model.Estrangeiro = (model.Indicado.DocumentoTipoID != enumDocumentoTipoNome.cpf); model.Indicado.UsuarioID = 0; } else { if (model.Historia.IndicadoAprovacaoOriginal != enumAprovacao.pendente) { string mensagem = "Não existe nenhuma pendência vinculada a este código."; if (model.Historia.IndicadoAprovacaoOriginal == enumAprovacao.aprovado) { mensagem = "Essa indicação já foi aprovada."; } else if (model.Historia.IndicadoAprovacaoOriginal == enumAprovacao.naoAprovado) { mensagem = "Essa indicação já foi recusada."; } return(new RetornoModel <IndicadoModel> { Mensagem = mensagem, Sucesso = false }); } model.Indicado = new Indicado(); model.Indicado.Nome = model.Historia.IndicadoNome; model.Indicado.Email = model.Historia.IndicadoEmail; } model.Historia.CodigoIndicado = null; model.Historia.CodigoIndicadoResponsavel = null; HistoriaCategoriaService categoriaService = new HistoriaCategoriaService(); model.Categoria = categoriaService.Carregar(model.Historia.HistoriaCategoriaID); //buscando os estados EstadoService service = new EstadoService(); model.Estados = service.Listar(); ParentescoService parentescoService = new ParentescoService(); model.Parentesco = parentescoService.Listar(true); model.IndicadoFotoInfo = CarregarFotoInfo(model.Indicado.FotoArquivoNome); if (model.IndicadoFotoInfo == null) { model.IndicadoFotoInfo = new UploadFotoModel(); } return(new RetornoModel <IndicadoModel> { Retorno = model, Mensagem = "Código confirmado com sucesso!", Sucesso = true }); }
public ReportIndicadoHistoriasModel ExportarIndicadoHistorias(int id) { ReportIndicadoHistoriasModel retorno = null; //Carrega os dados do Indicado e hstorias VizualizarIndicadoModel model = new VizualizarIndicadoModel(); model.Infos = CarregaInformacoesIndicado(id); HistoriaService service = new HistoriaService(); model.Historias = service.ListarHistoriasComMidias(id, true); //converte os dados do indicado para a model do report retorno = new ReportIndicadoHistoriasModel(); retorno.rptIndicado = new List <ReportIndicadoHistoriasModel.ReportIndicado>(); retorno.rptIndicado.Add(new ReportIndicadoHistoriasModel.ReportIndicado() { ID = model.Infos.Indicado.ID, Nome = model.Infos.Indicado.Nome, CidadeUF = model.Infos.Indicado.Cidade.Nome + " - " + model.Infos.Indicado.Estado.UF, DataCadastro = model.Infos.Indicado.DataCadastro, DataModificacao = model.Infos.Indicado.DataModificacao, DataNascimento = model.Infos.Indicado.DataNascimento, Email = model.Infos.Indicado.Email, ModificadoPor = model.Infos.Indicado.AlteracaoOrigem.Description(), ParticiparEm = model.Infos.Indicado.CidadeParticipante.Cidade.Nome + " - " + model.Infos.Indicado.CidadeParticipante.Cidade.Estado.UF, qtdHistoriasAprovadas = model.Infos.Aprovadas, qtdHistoriasModeradas = model.Infos.Moderadas, qtdHistoriasRecusadas = model.Infos.Recusadas, qtdIndicacoes = model.Infos.TotalIndicacoes }); retorno.rptIndicadoQualidade = new List <ReportIndicadoHistoriasModel.ReportIndicadoQualidade>(); foreach (var item in model.Infos.Qualidades) { retorno.rptIndicadoQualidade.Add(new ReportIndicadoHistoriasModel.ReportIndicadoQualidade() { QualidadeID = item.ID, QualidadeNome = item.Nome, IndicadoID = model.Infos.Indicado.ID }); } retorno.rptIndicadoHistoria = new List <ReportIndicadoHistoriasModel.reportIndicadoHistoria>(); foreach (var item in model.Historias) { retorno.rptIndicadoHistoria.Add(new ReportIndicadoHistoriasModel.reportIndicadoHistoria() { HistoriaID = item.Historia.ID, Categoria = item.Historia.HistoriaCategoria.Nome, IndicadorNome = item.Historia.IndicadorNome, NotaHistoria = string.Format("{0:0.00}", item.Historia.Nota), StatusIndicado = item.Historia.IndicadoAprovacao.Description(), StatusModeracao = (item.Historia.IndicadoAprovacao == enumAprovacao.aprovado || item.Historia.IndicadoAprovacao == enumAprovacao.aprovadoComRessalva ? (item.Historia.ModeracaoEncerrada ? "Encerrada" : "Em Andamento") : "Não Iniciada"), StatusTriagem = item.Historia.TriagemAprovacao.Description(), TextoHistoria = item.Historia.Texto, TituloHistoria = item.Historia.Titulo, IndicadoID = model.Infos.Indicado.ID }); } return(retorno); }