public dynamic CadastrarItemTrilhaParticipacao(int idUsuarioTrilha, int idItemTrilha, string textoParticipacao, string nomeOriginalArquivo, string imagem, int tipoParticipacao, string cpfAuditoria) { itemTrilhaParticipacaoBM = new BMItemTrilhaParticipacao(); fileServerBM = new BMFileServer(); var usuarioTrilha = new BMUsuarioTrilha().ObterPorId(idUsuarioTrilha); var isParticipacaoTrilheiro = tipoParticipacao == (int)enumTipoParticipacaoTrilha.ParticipacaoTrilheiro; if (isParticipacaoTrilheiro && DateTime.Now > usuarioTrilha.DataLimite) { throw new AcademicoException("O prazo para envio desta atividade já passou!"); } var itemTrilhaParticipacao = new ItemTrilhaParticipacao(); var itemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha); if (idItemTrilha > 0 && idUsuarioTrilha > 0) { var listaItemTrilhaParticipacao = itemTrilhaParticipacaoBM.ObterParticipacoesUsuarioTrilha( idItemTrilha, idUsuarioTrilha); if (listaItemTrilhaParticipacao.Count > 0) { if ( listaItemTrilhaParticipacao.Any( x => x.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && x.Autorizado.HasValue && x.Autorizado.Value) && isParticipacaoTrilheiro) { throw new AcademicoException("Sua atividade já está aprovada!"); } if ( listaItemTrilhaParticipacao.Any( x => x.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && !x.Autorizado.HasValue) && isParticipacaoTrilheiro) { throw new AcademicoException("Sua atividade ainda não foi avaliada!"); } } itemTrilhaParticipacao.ItemTrilha = itemTrilha; itemTrilhaParticipacao.TextoParticipacao = textoParticipacao; itemTrilhaParticipacao.DataEnvio = DateTime.Now; itemTrilhaParticipacao.UsuarioTrilha = usuarioTrilha; itemTrilhaParticipacao.Visualizado = false; itemTrilhaParticipacao.TipoParticipacao = (enumTipoParticipacaoTrilha) Enum.Parse(typeof(enumTipoParticipacaoTrilha), tipoParticipacao.ToString()); itemTrilhaParticipacao.Auditoria = new Auditoria(cpfAuditoria); if (itemTrilha.Missao.PontoSebrae.TrilhaNivel.PrazoMonitorDiasUteis != null) { itemTrilhaParticipacao.DataPrazoAvaliacao = DateTime.Now.CalcularPrazo((int)itemTrilha.Missao.PontoSebrae.TrilhaNivel.PrazoMonitorDiasUteis); } FileServer fileServer; if (string.IsNullOrEmpty(nomeOriginalArquivo)) { fileServer = null; } else { var memoryStream = CommonHelper.ObterMemoryStream(imagem); fileServer = CommonHelper.ObterObjetoFileServer(memoryStream); var caminhoDiretorioUpload = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.RepositorioUpload).Registro; // Escrever o arquivo na pasta. CommonHelper.EnviarArquivoParaRepositorio(caminhoDiretorioUpload, memoryStream, fileServer.NomeDoArquivoNoServidor); //Define o tipo de arquivo (/Quebra a string para obter o tipo do arquivo. Ex: bmp, jpeg, etc...) fileServer.TipoArquivo = CommonHelper.ObterTipoDoArquivo(imagem); fileServer.MediaServer = true; fileServer.NomeDoArquivoOriginal = nomeOriginalArquivo; fileServer.Auditoria = new Auditoria(cpfAuditoria); fileServerBM.Salvar(fileServer); } itemTrilhaParticipacao.FileServer = fileServer; itemTrilhaParticipacaoBM.Salvar(itemTrilhaParticipacao); // Verifica se o usuário já tem participação no item trilha InformarParticipacaoLoja(itemTrilhaParticipacao); } var status = itemTrilha.ObterStatusParticipacoesItemTrilha(usuarioTrilha); return(new { Status = status != null ? (int?)status.Value : null }); }
public ManterFileServer() : base() { bmFileServer = new BMFileServer(); }