示例#1
0
文件: usuario.cs 项目: viniibp/tg_wpf
        public Colaborador Entrar()
        {
            Colaborador colaborador = new ColaboradorDAO().Entrar(this);

            Session.SetSessao(colaborador);
            return(colaborador);
        }
示例#2
0
        public IActionResult MiembrosPorProyecto(int proyectoId)
        {
            try
            {
                List <ProyectoMiembro> ProyectoMiembros = ProyectoMiembroDAO.getProyectoMiembroPorProyecto(proyectoId);
                List <stmiembro>       miembros         = new List <stmiembro>();
                if (ProyectoMiembros != null)
                {
                    foreach (ProyectoMiembro pi in ProyectoMiembros)
                    {
                        stmiembro temp = new stmiembro();
                        temp.proyectoId = pi.proyectoid;
                        temp.id         = pi.colaboradorid;

                        pi.colaboradors = ColaboradorDAO.getColaborador(pi.colaboradorid);

                        temp.nombre = pi.colaboradors != null ? (pi.colaboradors.pnombre
                                                                 + " " + (pi.colaboradors.snombre != null ? pi.colaboradors.snombre : "")
                                                                 + " " + pi.colaboradors.papellido
                                                                 + " " + (pi.colaboradors.sapellido != null ? pi.colaboradors.sapellido : "")
                                                                 ) : "";
                        temp.estado = pi.estado;
                        miembros.Add(temp);
                    }
                }

                return(Ok(new { success = true, miembros = miembros }));
            }
            catch (Exception e)
            {
                CLogger.write("1", "ProyectoMiembroController.class", e);
                return(BadRequest(500));
            }
        }
        /// <summary>
        /// Método utilizado para criar uma configuração para um colaborador em um determinado cronograma
        /// </summary>
        /// <param name="contexto">contexto do banco</param>
        /// <param name="login"></param>
        /// <param name="oidCronograma">oid do cronograma atual</param>
        /// <returns>ColaboradorCronogramaConfig para armazenar as configurações do colaborador</returns>
        public static CronogramaColaboradorConfig SalvarCronogramaColaboradorConfig(WexDb contexto, string login, Guid oidCronograma)
        {
            Cronograma cronograma = CronogramaDao.ConsultarCronogramaPorOid(oidCronograma);

            if (cronograma == null)
            {
                return(null);
            }

            Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login);

            if (colaborador == null)
            {
                return(null);
            }

            CronogramaColaboradorConfig config = ConsultarCronogramaColaboradorConfig(contexto, login, oidCronograma);

            if (config != null)
            {
                return(config);
            }

            config = new CronogramaColaboradorConfig()
            {
                OidCronograma  = cronograma.Oid,
                OidColaborador = colaborador.Oid
            };

            contexto.CronogramaColaboradorConfig.Add(config);
            contexto.SaveChanges();

            return(config);
        }
示例#4
0
        public void Delete(long Id)
        {
            ColaboradorDAO colaborador = _context.Colaboradores.FirstOrDefault(x => x.Id_Colaborador == Id);

            _context.Colaboradores.Remove(colaborador);
            _context.SaveChanges();
        }
        /// <summary>
        /// Método responsável por editar uma tarefa
        /// </summary>
        /// <param name="contexto">Sessão corrente</param>
        /// <param name="oidCronogramaTarefa">Oid (Guid) da tarefa a ser editada</param>
        /// <param name="txDescricao">Descrição da tarefa alterada</param>
        /// <param name="oidSituacaoPlanejamento">Oid (Guid) da tarefa editada</param>
        /// <param name="dataInicio">Data de Inicio da tarefa editada</param>
        /// <param name="login">Login do usuário que editou a tarefa</param>
        /// <param name="txObservacao">Observação da tarefa editada</param>
        /// <param name="responsaveis">array de responsáveis pela tarefa</param>
        /// <param name="nbEstimativaInicial">Estimativa inicial da tarefa</param>
        /// <param name="nbEstimativaRestante">Estimativa restante da tarefa</param>
        /// <param name="nbRealizado">Horas realizadas da tarefa</param>
        /// <param name="csLinhaBaseSalva">Boolean afirmando se a tarefa foi salva a linda de base</param>
        /// <returns>Retorna uma Hash contendo dados de atualizado em, atualizado por e confirmação da edição</returns>
        public static Hashtable EditarTarefa(string oidCronogramaTarefa, string txDescricao, string oidSituacaoPlanejamento,
                                             string login, string txObservacao, string responsaveis,
                                             Int16 nbEstimativaInicial, TimeSpan nbEstimativaRestante, TimeSpan nbRealizado, bool csLinhaBaseSalva, DateTime dataInicio)
        {
            if (oidCronogramaTarefa == null || txDescricao == null || oidSituacaoPlanejamento == null ||
                login == null)
            {
                throw new ArgumentException("Os parâmetros OidCronogramaTarefa, TxDescricao, DataInício, SituacaoPlanejamento, login e TxObservação são obrigatórios.");
            }

            Hashtable        dadosEdicaoTarefa = new Hashtable();
            CronogramaTarefa cronogramaTarefa  = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(Guid.Parse(oidCronogramaTarefa), o => o.Tarefa.SituacaoPlanejamento, o => o.Tarefa.AtualizadoPor.Usuario.Person);

            if (cronogramaTarefa == null)
            {
                dadosEdicaoTarefa.Add("EdicaoStatus", false);
                return(dadosEdicaoTarefa);
            }

            Tarefa               tarefaAntiga         = cronogramaTarefa.Tarefa.Clone();
            Colaborador          colaborador          = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person);
            SituacaoPlanejamento situacaoPlanejamento = SituacaoPlanejamentoDAO.ConsultarSituacaoPlanejamentoPorOid(Guid.Parse(oidSituacaoPlanejamento));

            if (colaborador != null)
            {
                cronogramaTarefa.Tarefa.OidAtualizadoPor = colaborador.Oid;
                cronogramaTarefa.Tarefa.AtualizadoPor    = null;
            }

            if (situacaoPlanejamento != null)
            {
                cronogramaTarefa.Tarefa.OidSituacaoPlanejamento = situacaoPlanejamento.Oid;
                cronogramaTarefa.Tarefa.SituacaoPlanejamento    = null;
            }


            cronogramaTarefa.Tarefa.CsLinhaBaseSalva        = csLinhaBaseSalva;
            cronogramaTarefa.Tarefa.NbEstimativaInicial     = nbEstimativaInicial;
            cronogramaTarefa.Tarefa.EstimativaRealizadoHora = nbRealizado;
            cronogramaTarefa.Tarefa.TxDescricao             = txDescricao;
            cronogramaTarefa.Tarefa.TxObservacao            = txObservacao;
            cronogramaTarefa.Tarefa.DtAtualizadoEm          = DateTime.Now;
            cronogramaTarefa.Tarefa.TxResponsaveis          = responsaveis;
            cronogramaTarefa.Tarefa.DtInicio = dataInicio;

            EstimarHorasRestantesSugeridaPorTipoSituacaoPlanejamento(cronogramaTarefa.Tarefa, nbEstimativaRestante.Ticks, situacaoPlanejamento);
            TarefaDao.SalvarTarefa(cronogramaTarefa.Tarefa);
            TarefaHistoricoEstimativaBo.CriarHistorico(DateUtil.ConsultarDataHoraAtual(), cronogramaTarefa.Tarefa.Oid, cronogramaTarefa.Tarefa.NbEstimativaRestante);
            TarefaLogAlteracaoBo.CriarLogTarefa(cronogramaTarefa.Tarefa, tarefaAntiga);

            dadosEdicaoTarefa.Add("EdicaoStatus", true);
            dadosEdicaoTarefa.Add("DtAtualizadoEm", cronogramaTarefa.Tarefa.DtAtualizadoEm);
            dadosEdicaoTarefa.Add("TxAtualizadoPor", colaborador.NomeCompleto);

            return(dadosEdicaoTarefa);
        }
示例#6
0
        /// <summary>
        /// Método responsável por criar um histórico para uma determinada tarefa.
        /// </summary>
        ///
        /// <param name="oidTarefa">Oid da Tarefa</param>
        /// <param name="login">Login do usuário</param>
        /// <param name="nbHoraRealizado">Horas realizadas na atividade.</param>
        /// <param name="dtRealizado">Data de realização da atividade.</param>
        /// <param name="nbHoraInicial">Hora Inicial da atividade</param>
        /// <param name="nbHoraFinal">Hora Final da atividade</param>
        /// <param name="txComentario">Comentário da atividade</param>
        /// <param name="nbHoraRestante">Horas restantes da atividade</param>
        /// <param name="oidSituacaoPlanejamento">Oid da Situação Planejamento da atividade</param>
        /// <param name="txJustificativaReducao">Justificativa de redução da atividade</param>
        public static void CriarHistoricoTarefa(Guid oidTarefa, string login, TimeSpan nbHoraRealizado, DateTime dtRealizado, TimeSpan nbHoraInicial, TimeSpan nbHoraFinal, string txComentario, TimeSpan nbHoraRestante, Guid oidSituacaoPlanejamento, string txJustificativaReducao)
        {
            if (oidTarefa == new Guid() || String.IsNullOrEmpty(login))
            {
                throw new ArgumentException("Os parâmetros Login e OidTarefa não podem ser nulos.");
            }

            TarefaHistoricoTrabalho historico = new TarefaHistoricoTrabalho();
            Tarefa      tarefa      = TarefaDao.ConsultarTarefaPorOid(oidTarefa);
            Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person);

            if (tarefa == null)
            {
                return;
            }

            SituacaoPlanejamento situacaoPlanejamento = SituacaoPlanejamentoDAO.ConsultarSituacaoPlanejamentoPorOid(oidSituacaoPlanejamento);

            if (tarefa.NbEstimativaInicial <= 0 && (situacaoPlanejamento.CsTipo == CsTipoPlanejamento.Cancelamento || situacaoPlanejamento.CsTipo == CsTipoPlanejamento.Planejamento))
            {
                TarefaBo.AtualizarDadosTarefa(tarefa.Oid, colaborador, situacaoPlanejamento, nbHoraRealizado, nbHoraRestante, tarefa.CsLinhaBaseSalva);
                return;
            }
            // Caso não possua estimativa inicial não deve salvar historico da tarefa
            if (tarefa.NbEstimativaInicial <= 0 && situacaoPlanejamento.CsTipo != CsTipoPlanejamento.Impedimento)
            {
                throw new EstimativaInicialInvalidaException("Histórico da Tarefa não pode ser salvo, pois não foi estimado um tempo inicial para realização da tarefa");
            }

            if (!tarefa.CsLinhaBaseSalva)
            {
                TarefaBo.SalvarLinhaBaseTarefa(tarefa);
            }

            historico.OidTarefa               = tarefa.Oid;
            historico.HoraRealizado           = nbHoraRealizado;
            historico.DtRealizado             = dtRealizado;
            historico.HoraInicio              = nbHoraInicial;
            historico.HoraFinal               = nbHoraFinal;
            historico.TxComentario            = txComentario;
            historico.HoraRestante            = nbHoraRestante;
            historico.TxJustificativaReducao  = txJustificativaReducao;
            historico.OidColaborador          = colaborador.Oid;
            historico.OidSituacaoPlanejamento = situacaoPlanejamento.Oid;
            historico.TxComentario            = txComentario;
            historico.TxJustificativaReducao  = txJustificativaReducao;

            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                contexto.TarefaHistoricoTrabalho.Add(historico);
                contexto.SaveChanges();
            }

            //Atualiza os dados da tarefa a partir dos dados salvos no histórico.
            TarefaBo.AtualizarDadosTarefa(tarefa.Oid, colaborador, situacaoPlanejamento, historico.HoraRealizado, historico.HoraRestante, tarefa.CsLinhaBaseSalva);
        }
示例#7
0
        public IActionResult ColaboradorPorId(int id)
        {
            try
            {
                AsignacionRaci asignacion = AsignacionRaciDAO.getAsignacionPorRolTarea(id, 5, "r", null);
                asignacion.colaboradors = ColaboradorDAO.getColaborador(asignacion.colaboradorid);

                if (asignacion != null && asignacion.colaboradors != null)
                {
                    stcolaborador temp = new stcolaborador();
                    temp.id        = asignacion.colaboradors.id;
                    temp.pnombre   = asignacion.colaboradors.pnombre;
                    temp.snombre   = asignacion.colaboradors.snombre;
                    temp.papellido = asignacion.colaboradors.papellido;
                    temp.sapellido = asignacion.colaboradors.sapellido;
                    temp.cui       = asignacion.colaboradors.cui;
                    temp.usuario   = asignacion.colaboradors.usuariousuario;

                    asignacion.colaboradors.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(asignacion.colaboradors.ejercicio, asignacion.colaboradors.entidad ?? default(int), asignacion.colaboradors.ueunidadEjecutora);

                    temp.ueunidadEjecutora     = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.unidadEjecutora : default(int);
                    temp.unidadejecutoranombre = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.nombre : null;
                    temp.ueunidadEjecutora     = asignacion.colaboradors.unidadEjecutoras.unidadEjecutora;
                    temp.entidad = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.entidadentidad : default(int);

                    asignacion.colaboradors.unidadEjecutoras.entidads = EntidadDAO.getEntidad(asignacion.colaboradors.unidadEjecutoras.entidadentidad, asignacion.colaboradors.unidadEjecutoras.ejercicio);

                    temp.entidadnombre = asignacion.colaboradors.unidadEjecutoras.entidads != null ? asignacion.colaboradors.unidadEjecutoras.entidads.nombre : null;
                    temp.ejercicio     = asignacion.colaboradors.unidadEjecutoras != null ? asignacion.colaboradors.unidadEjecutoras.ejercicio : default(int);

                    temp.usuarioCreo        = asignacion.colaboradors.usuarioCreo;
                    temp.usuarioActualizo   = asignacion.colaboradors.usuarioActualizo;
                    temp.fechaCreacion      = asignacion.colaboradors.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss");
                    temp.fechaActualizacion = asignacion.colaboradors.fechaActualizacion != null?asignacion.colaboradors.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null;

                    temp.nombreCompleto = String.Join(" ", temp.pnombre,
                                                      temp.snombre != null ? temp.snombre : "",
                                                      temp.papellido != null ? temp.papellido : "",
                                                      temp.sapellido != null ? temp.sapellido : "");

                    return(Ok(new { success = true, colaborador = temp }));
                }
                else
                {
                    return(Ok(new { success = false }));
                }
            }
            catch (Exception e)
            {
                CLogger.write("7", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
示例#8
0
        public void Update(Colaborador item)
        {
            ColaboradorDAO colaborador = _context.Colaboradores.FirstOrDefault(x => x.Id_Colaborador == item.Id_Colaborador);

            colaborador.Nome = item.Nome;
            if (item.Cargo != null)
            {
                colaborador.CargoId_Cargo = item.Cargo.Id_Cargo;
            }

            _context.SaveChanges();
        }
示例#9
0
        /// <summary>
        /// Método responsável por acessar a classe colaborador e buscar o colaborador corrente e retornar para o serviço como um Dto
        /// </summary>
        ///
        /// <param name="login">Login do colaborador</param>
        /// <returns>Retorna um DTO de colaborador</returns>
        public static ColaboradorDto ConsultarColaboradorPorLogin(string login)
        {
            var colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person);

            if (colaborador != null)
            {
                return(ColaboradorBo.DtoFactory(colaborador));
            }
            else
            {
                return(null);
            }
        }
示例#10
0
        /// <summary>
        /// Método responsável por salvar o último projeto selecionado pelo colaborador
        /// </summary>
        /// <param name="contexto">Instância de conexão com o banco</param>
        /// <param name="oidColaborador">Oid do colaborador</param>
        /// <param name="oidProjeto">Oid do projeto</param>
        public static void SalvarUltimoProjetoSelecionado(Guid oidColaborador, Guid oidProjeto)
        {
            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                ColaboradorUltimoFiltro colUltimoFiltro = ColaboradorDAO.ConsultarColaborador(oidColaborador, o => o.ColaboradorUltimoFiltro).ColaboradorUltimoFiltro;

                colUltimoFiltro.OidUltimoProjetoSelecionado = oidProjeto;

                contexto.ColaboradorUltimoFiltroes.Attach(colUltimoFiltro);
                contexto.Entry <ColaboradorUltimoFiltro>(colUltimoFiltro).State = System.Data.EntityState.Modified;
                contexto.SaveChanges();
            }
        }
示例#11
0
        /// <summary>
        /// Método responsável por consultar os colaboradores e transformá-los em Dto para utilizar na serialização do serviço.
        /// </summary>
        /// <returns>Lista dos colaboradores em Dto</returns>
        public static List <ColaboradorDto> ConsultarColaboradores()
        {
            List <ColaboradorDto> colaboradoresDto = new List <ColaboradorDto>();

            List <Colaborador> colaboradores = ColaboradorDAO.ConsultarColaboradores();

            for (int i = 0; i < colaboradores.Count; i++)
            {
                colaboradoresDto.Add(ColaboradorBo.DtoFactory(colaboradores[i]));
            }

            return(colaboradoresDto);
        }
示例#12
0
        public IActionResult ValidarUsuario(string usuario)
        {
            try
            {
                bool valido = ColaboradorDAO.validarUsuario(usuario);

                return(Ok(new { success = valido }));
            }
            catch (Exception e)
            {
                CLogger.write("6", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
示例#13
0
        public void Add(Colaborador item)
        {
            var colaborador = new ColaboradorDAO
            {
                Nome = item.Nome
            };

            if (item.Cargo != null)
            {
                colaborador.CargoId_Cargo = item.Cargo.Id_Cargo;
            }

            _context.Colaboradores.Add(colaborador);
            _context.SaveChanges();
        }
示例#14
0
        public IActionResult Colaborador([FromBody] dynamic value)
        {
            try
            {
                ColaboradorValidator validator = new ColaboradorValidator();
                ValidationResult     results   = validator.Validate(value);

                if (results.IsValid)
                {
                    String primerNombre          = value.pnombre;
                    String segundoNombre         = value.snombre;
                    String primerApellido        = value.papellido;
                    String segundoApellido       = value.sapellido;
                    long   cui                   = value.cui;
                    int    ejercicio             = value.ejercicio;
                    int    entidad               = value.entidad;
                    int    codigoUnidadEjecutora = value.ueunidad_ejecutora;
                    String usuarioParametro      = value.usuario;

                    Colaborador colaborador = new Colaborador();
                    colaborador.pnombre           = primerNombre;
                    colaborador.snombre           = segundoNombre;
                    colaborador.papellido         = primerApellido;
                    colaborador.sapellido         = segundoApellido;
                    colaborador.cui               = cui;
                    colaborador.ejercicio         = ejercicio;
                    colaborador.entidad           = entidad;
                    colaborador.ueunidadEjecutora = codigoUnidadEjecutora;
                    colaborador.usuariousuario    = usuarioParametro;
                    colaborador.usuarioCreo       = User.Identity.Name;
                    colaborador.fechaCreacion     = DateTime.Now;
                    colaborador.estado            = 1;

                    bool creado = ColaboradorDAO.guardar(colaborador);

                    return(Ok(new { success = creado }));
                }
                else
                {
                    return(Ok(new { success = false }));
                }
            }
            catch (Exception e)
            {
                CLogger.write("2", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
示例#15
0
        public void Load(InfoColaborador colaborador)
        {
            var todosColab = new ColaboradorDAO().ListRanking();
            var Id         = Session.GetColaborador().Id;

            foreach (var colab in todosColab)
            {
                topfuncionarios topFuncionarios = new topfuncionarios(colab);
                topFuncionarios.Setcolab(colaborador);
                if (colab.Id == Id)
                {
                    topFuncionarios.MySelf();
                }
                painel.Children.Add(topFuncionarios);
            }
        }
示例#16
0
        public Colaborador GetColaborador(long Id)
        {
            ColaboradorDAO colaborador = _context.Colaboradores.Find(Id);
            var            cargo       = colaborador.CargoId_Cargo != null?_context.Cargos.Find(colaborador.CargoId_Cargo) : null;

            return(colaborador != null ?
                   new Colaborador {
                Id_Colaborador = colaborador.Id_Colaborador,
                Nome = colaborador.Nome,
                Cargo = cargo != null ? new Cargo
                {
                    Id_Cargo = cargo.Id_Cargo,
                    Descricao = cargo.Descricao
                } : null,
            } : null);
        }
示例#17
0
        public IActionResult Colaborador(int id)
        {
            try
            {
                Colaborador colaborador = ColaboradorDAO.getColaborador(id);
                colaborador.usuarioActualizo = User.Identity.Name;
                bool borrado = ColaboradorDAO.borrar(colaborador);

                return(Ok(new { success = borrado }));
            }
            catch (Exception e)
            {
                CLogger.write("4", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
示例#18
0
        public IActionResult TotalElementos([FromBody] dynamic value)
        {
            try
            {
                string filtro_busqueda = value.filtro_busqueda != null ? (string)value.filtro_busqueda : null;
                String excluir         = value.idResponsables != null ? (string)value.idResponsables : null;

                long total = ColaboradorDAO.getTotal(filtro_busqueda, excluir);

                return(Ok(new { success = true, total = total }));
            }
            catch (Exception e)
            {
                CLogger.write("5", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
        /// <summary>
        /// Método responsável por consultar o usuario conectado e criar um Dto de UsuarioConectadoDto para retornar.
        /// </summary>
        /// <param name="contexto">Contexto do banco</param>
        /// <param name="login">login do usuário conectado</param>
        /// <param name="oidCronograma">Oid do cronograma do usuário conectado</param>
        /// <returns>Objeto UsuarioConectadoDto</returns>
        public static CronogramaColaboradorConfigDto ConsultarCronogramaColaboradorConfigs(string login, Guid oidCronograma)
        {
            Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person.Party);

            if (colaborador == null)
            {
                return(null);
            }

            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(contexto, login, oidCronograma);

                if (config == null)
                {
                    return(null);
                }

                return(CronogramaColaboradorConfigBo.CronogramaColaboradorConfigFactory(colaborador, oidCronograma, config));
            }
        }
        /// <summary>
        /// Método responsável por criar uma tarefa. Obs: Ela pode ser independente de projeto ou não.
        /// É usado pela classe CronogramaTarefa ou pode ser avulsa.
        /// </summary>
        /// <param name="txDescricaoTarefa">descrição da tarefa</param>
        /// <param name="txObservacaoTarefa">observação da tarefa</param>
        /// <param name="situacaoPlanejamento">situação da tarefaClone</param>
        /// <param name="responsavel">responsáveis pela tarefaClone</param>
        /// <param name="estimativaInicial">estimativa inicial para tarefa</param>
        /// <param name="dtInicio">data de início da tarefa</param>
        public static Tarefa CriarTarefa(string txDescricaoTarefa, SituacaoPlanejamento situacaoPlanejamento, DateTime dtInicio, string login, string txObservacaoTarefa = "", string responsaveis = null, Int16 estimativaInicial = 0)
        {
            if (txDescricaoTarefa == null ||
                dtInicio == null ||
                situacaoPlanejamento == null ||
                login == null)
            {
                throw new ArgumentException("Os parâmetros txDescricao, dtInício, situacaoPlanejamento e login são obrigatórios.");
            }

            var novaTarefa = new Tarefa
            {
                TxDescricao             = txDescricaoTarefa,
                TxObservacao            = String.Empty,
                TxResponsaveis          = responsaveis,
                NbEstimativaInicial     = estimativaInicial,
                NbEstimativaRestante    = estimativaInicial.ToTicks(),
                DtInicio                = dtInicio,
                OidSituacaoPlanejamento = situacaoPlanejamento.Oid,
                SituacaoPlanejamento    = situacaoPlanejamento
            };

            Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person);

            if (colaborador != null)
            {
                novaTarefa.OidAtualizadoPor = colaborador.Oid;
                novaTarefa.AtualizadoPor    = colaborador;
            }

            novaTarefa.DtAtualizadoEm = DateUtil.ConsultarDataHoraAtual();

            TarefaDao.SalvarTarefa(novaTarefa);
            TarefaHistoricoEstimativaBo.CriarHistorico(DateUtil.ConsultarDataHoraAtual(), novaTarefa.Oid, novaTarefa.NbEstimativaRestante);
            TarefaLogAlteracaoBo.CriarLogTarefa(novaTarefa, null);

            return(novaTarefa);
        }
示例#21
0
        private void LoadTop5()
        {
            top4Painel.Children.Clear();
            var topList = new ColaboradorDAO().ListRanking();

            if (topList.Count > 4)
            {
                topList.RemoveRange(3, topList.Count - 4);
            }
            modelos.Gerenciador.GerenciadorCursos gc;
            ObjectId idLogado = Session.GetColaborador().Id;

            foreach (var c in topList)
            {
                gc = new modelos.Gerenciador.GerenciadorCursos(c.Formacoes);
                Top4 top = new Top4();
                if (c.Id == idLogado)
                {
                    top.MySelf();
                }
                top.setDados(c.Nome, gc.Media);
                top4Painel.Children.Add(top);
            }
        }
示例#22
0
 public IActionResult AsignacionPorObjeto(int objetoId, int objetoTipo)
 {
     try
     {
         List <AsignacionRaci> asignaciones    = AsignacionRaciDAO.getAsignacionesRaci(objetoId, objetoTipo, null);
         List <Stasignacion>   asignacionesRet = new List <Stasignacion>();
         foreach (AsignacionRaci asignacion in asignaciones)
         {
             Stasignacion temp = new Stasignacion();
             asignacion.colaboradors = ColaboradorDAO.getColaborador(asignacion.colaboradorid);
             temp.colaboradorId      = asignacion.colaboradors.id;
             temp.colaboradorNombre  = asignacion.colaboradors.pnombre + " "
                                       + asignacion.colaboradors.papellido;
             temp.rolId = asignacion.rolRaci;
             asignacionesRet.Add(temp);
         }
         return(Ok(new { success = true, asignaciones = asignacionesRet }));
     }
     catch (Exception e)
     {
         CLogger.write("3", "MatrizRaciController.class", e);
         return(BadRequest(500));
     }
 }
示例#23
0
        public IActionResult Matriz([FromBody] dynamic value)
        {
            try
            {
                List <Stmatriz> lstMatriz  = new List <Stmatriz>();
                int             idPrestamo = value.idPrestamo != null ? (int)value.idPrestamo : 0;
                String          lineaBase  = value.lineaBase;

                List <EstructuraProyecto> estructuraProyecto = EstructuraProyectoDAO.getEstructuraProyecto(idPrestamo, lineaBase);
                foreach (EstructuraProyecto objeto in estructuraProyecto)
                {
                    Stmatriz tempmatriz = new Stmatriz();
                    tempmatriz.objetoId     = objeto.id;
                    tempmatriz.objetoNombre = objeto.nombre;
                    tempmatriz.nivel        = objeto.treePath.Length / 8;
                    tempmatriz.objetoTipo   = objeto.objeto_tipo;

                    List <AsignacionRaci> asignaciones = AsignacionRaciDAO.getAsignacionesRaci(tempmatriz.objetoId, tempmatriz.objetoTipo, lineaBase);
                    if (asignaciones.Count > 0)
                    {
                        foreach (AsignacionRaci asignacion in asignaciones)
                        {
                            asignacion.colaboradors = ColaboradorDAO.getColaborador(asignacion.colaboradorid);
                            if (asignacion.rolRaci.Equals("r"))
                            {
                                tempmatriz.nombreR = asignacion.colaboradors.pnombre + " " + asignacion.colaboradors.papellido;
                                tempmatriz.idR     = asignacion.colaboradorid;
                            }
                            else if (asignacion.rolRaci.Equals("a"))
                            {
                                tempmatriz.nombreA = asignacion.colaboradors.pnombre + " " + asignacion.colaboradors.papellido;
                                tempmatriz.idA     = asignacion.colaboradorid;
                            }
                            else if (asignacion.rolRaci.Equals("c"))
                            {
                                tempmatriz.nombreC = asignacion.colaboradors.pnombre + " " + asignacion.colaboradors.papellido;
                                tempmatriz.idC     = asignacion.colaboradorid;
                            }
                            else if (asignacion.rolRaci.Equals("i"))
                            {
                                tempmatriz.nombreI = asignacion.colaboradors.pnombre + " " + asignacion.colaboradors.papellido;
                                tempmatriz.idI     = asignacion.colaboradorid;
                            }
                        }
                    }

                    lstMatriz.Add(tempmatriz);
                }

                bool sinColaborador = false;
                List <Stcolaborador> lstcolaboradores = new List <Stcolaborador>();
                Proyecto             proyecto         = ProyectoDAO.getProyectoPorId(idPrestamo, User.Identity.Name);

                if (proyecto != null)
                {
                    List <Colaborador> colaboradores = AsignacionRaciDAO.getColaboradoresPorProyecto(idPrestamo, null);
                    foreach (Colaborador colaborador in colaboradores)
                    {
                        Stcolaborador temp = new Stcolaborador();
                        temp.id     = colaborador.id;
                        temp.nombre = colaborador.pnombre + " " + colaborador.papellido;
                        lstcolaboradores.Add(temp);
                    }
                }

                if (lstcolaboradores.Count == 0)
                {
                    sinColaborador = true;
                    Stcolaborador temp = new Stcolaborador();
                    temp.id     = 1;
                    temp.nombre = "R";
                    lstcolaboradores.Add(temp);
                    temp        = new Stcolaborador();
                    temp.id     = 1;
                    temp.nombre = "A";
                    lstcolaboradores.Add(temp);
                    temp        = new Stcolaborador();
                    temp.id     = 1;
                    temp.nombre = "C";
                    lstcolaboradores.Add(temp);
                    temp        = new Stcolaborador();
                    temp.id     = 1;
                    temp.nombre = "I";
                    lstcolaboradores.Add(temp);
                }

                return(Ok(new
                {
                    success = lstMatriz != null && lstcolaboradores != null ? true : false,
                    matriz = lstMatriz, sinColaboradores = sinColaborador ? true : false,
                    colaboradores = lstcolaboradores
                }));
            }
            catch (Exception e)
            {
                CLogger.write("1", "MatrizRaciController.class", e);
                return(BadRequest(500));
            }
        }
示例#24
0
 public Colaborador crearColaborador(Colaborador nuevoColaborador)
 {
     return(ColaboradorDAO.Crear(nuevoColaborador));
 }
示例#25
0
        public IActionResult ColaboradoresPorPagina([FromBody] dynamic value)
        {
            try
            {
                int    pagina           = value.pagina != null ? (int)value.pagina : 1;
                int    registros        = value.registros != null ? (int)value.registros : 20;
                string filtro_busqueda  = value.filtro_busqueda != null ? (string)value.filtro_busqueda : null;
                String columna_ordenada = value.columna_ordenada != null ? (string)value.columna_ordenada : null;
                String orden_direccion  = value.orden_direccion != null ? (string)value.orden_direccion : null;
                String excluir          = value.idResponsables != null ? (string)value.idResponsables : null;

                List <Colaborador> colaboradores = ColaboradorDAO.getPagina(pagina, registros, filtro_busqueda, columna_ordenada, orden_direccion, excluir);

                List <stcolaborador> listaColaborador = new List <stcolaborador>();

                foreach (Colaborador colaborador in colaboradores)
                {
                    stcolaborador temp = new stcolaborador();
                    temp.id        = colaborador.id;
                    temp.pnombre   = colaborador.pnombre;
                    temp.snombre   = colaborador.snombre;
                    temp.papellido = colaborador.papellido;
                    temp.sapellido = colaborador.sapellido;
                    temp.cui       = colaborador.cui;

                    colaborador.usuarios = UsuarioDAO.getUsuario(colaborador.usuariousuario);
                    temp.usuario         = colaborador.usuarios != null ? colaborador.usuarios.usuario : null;

                    colaborador.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(colaborador.ejercicio, colaborador.entidad ?? default(int), colaborador.ueunidadEjecutora);

                    temp.unidadejecutoranombre = colaborador.unidadEjecutoras != null ? colaborador.unidadEjecutoras.nombre : null;
                    temp.ueunidadEjecutora     = colaborador.unidadEjecutoras != null ? colaborador.unidadEjecutoras.unidadEjecutora : default(int);
                    temp.entidad = colaborador.unidadEjecutoras != null ? colaborador.unidadEjecutoras.entidadentidad : default(int);

                    if (colaborador.unidadEjecutoras != null)
                    {
                        colaborador.unidadEjecutoras.entidads = EntidadDAO.getEntidad(colaborador.entidad ?? default(int), colaborador.ejercicio);
                        temp.entidadnombre = colaborador.unidadEjecutoras.entidads != null ? colaborador.unidadEjecutoras.entidads.nombre : null;
                    }

                    temp.ejercicio          = colaborador.unidadEjecutoras != null ? colaborador.unidadEjecutoras.ejercicio : default(int);
                    temp.usuarioCreo        = colaborador.usuarioCreo;
                    temp.usuarioActualizo   = colaborador.usuarioActualizo;
                    temp.fechaCreacion      = colaborador.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss");
                    temp.fechaActualizacion = colaborador.fechaActualizacion != null?colaborador.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null;

                    temp.nombreCompleto = String.Join(" ", temp.pnombre,
                                                      temp.snombre != null ? temp.snombre : "",
                                                      temp.papellido != null ? temp.papellido : "",
                                                      temp.sapellido != null ? temp.sapellido : "");

                    listaColaborador.Add(temp);
                }

                return(Ok(new { success = true, colaboradores = listaColaborador }));
            }
            catch (Exception e)
            {
                CLogger.write("1", "ColaboradorController.class", e);
                return(BadRequest(500));
            }
        }
示例#26
0
 public IList <Colaborador> ListarColaborador()
 {
     return(ColaboradorDAO.ListarTodos());
 }
示例#27
0
        /// <summary>
        /// Método responsável por criar o colaborador caso não exista.
        /// É usado pelo AD
        /// <param name="extensaoEmail">Extensao do email da empresa</param>
        /// <param name="contexto">Sessão</param>
        /// <param name="login">Login do usuário</param>
        /// </summary>
        public static Colaborador CriarColaborador(string login, string extensaoEmail)
        {
            string   primeiroNome;
            string   ultimoNome;
            string   nomeCompleto;
            DateTime dtAdmissao;

            Colaborador colaboradorPesquisado = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario);

            if (colaboradorPesquisado != null)
            {
                return(colaboradorPesquisado);
            }

            if (login.Contains("."))
            {
                primeiroNome = StrUtil.UpperCaseFirst(login.Split('.')[0]);
                ultimoNome   = StrUtil.UpperCaseFirst(login.Split('.')[1]);
                nomeCompleto = String.Format("{0} {1}", StrUtil.UpperCaseFirst(primeiroNome), StrUtil.UpperCaseFirst(ultimoNome));
            }
            else
            {
                primeiroNome = login;
                ultimoNome   = String.Empty;
                nomeCompleto = String.Format("{0}", StrUtil.UpperCaseFirst(login));
            }

            using (WexDb contexto = ContextFactoryManager.CriarWexDb())
            {
                ColaboradorUltimoFiltro colaboradorUltimoFiltro = ColaboradorUltimoFiltroBO.CriarColaboradorUltimoFiltroPadrao(contexto);

                Party party = PartyBO.CriarPartyPadrao(contexto);

                Person person = PersonBO.CriarPersonPadrao(contexto, party, primeiroNome, ultimoNome, login, extensaoEmail);

                User usuario = UserBO.CriarUserPadrao(contexto, person, login);

                dtAdmissao = DateUtil.ConsultarDataHoraAtual();

                Colaborador novoColaborador = new Colaborador()
                {
                    OidUsuario                 = usuario.Oid,
                    TxMatricula                = null,
                    DtAdmissao                 = dtAdmissao,
                    OidCoordenador             = null,
                    OidCargo                   = null,
                    OidColaboradorUltimoFiltro = colaboradorUltimoFiltro.Oid
                };

                contexto.Colaboradores.Add(novoColaborador);
                contexto.SaveChanges();

                Role roleDefault = ColaboradorDAO.ConsultarRolePorNome("Default");
                Role roleAdmin   = ColaboradorDAO.ConsultarRolePorNome("Administradores");

                UserBO.CriarPermissaoParaUsuario(contexto, usuario, roleDefault);
                UserBO.CriarPermissaoParaUsuario(contexto, usuario, roleAdmin);

                ColaboradorPeriodoAquisitivoBO.CriarPeridoAquisitivoParaColaborador(contexto, novoColaborador, dtAdmissao);

                return(novoColaborador);
            }
        }
示例#28
0
        public IActionResult InformacionTarea([FromBody] dynamic value)
        {
            try
            {
                int    objetoId   = value.objetoId != null ? (int)value.objetoId : 0;
                int    objetoTipo = value.objetoTipo != null ? (int)value.objetoTipo : 0;
                String lineaBase  = value.lineaBase;
                String rol        = value.rol;

                Stinformacion informacion = new Stinformacion();
                switch (objetoTipo)
                {
                case 0:
                    Proyecto proyecto = ProyectoDAO.getProyectoPorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = proyecto.nombre;
                    break;

                case 1:
                    Componente componente = ComponenteDAO.getComponentePorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = componente.nombre;
                    break;

                case 2:
                    Subcomponente subcomponente = SubComponenteDAO.getSubComponentePorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = subcomponente.nombre;
                    break;

                case 3:
                    Producto producto = ProductoDAO.getProductoPorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = producto.nombre;
                    break;

                case 4:
                    Subproducto subproducto = SubproductoDAO.getSubproductoPorId(objetoId, User.Identity.Name);
                    informacion.nombreTarea = subproducto.nombre;
                    break;

                case 5:
                    Actividad actividad = ActividadDAO.GetActividadPorId(objetoId);
                    informacion.nombreTarea = actividad.nombre;
                    break;
                }

                AsignacionRaci asignacion = AsignacionRaciDAO.getAsignacionPorRolTarea(objetoId, objetoTipo, rol, lineaBase);
                asignacion.colaboradors          = ColaboradorDAO.getColaborador(Convert.ToInt32(asignacion.id));
                asignacion.colaboradors.usuarios = UsuarioDAO.getUsuario(User.Identity.Name);

                if (rol.ToLower().Equals("R"))
                {
                    informacion.rol = "Responsable";
                }
                else if (rol.ToLower().Equals("a"))
                {
                    informacion.rol = "Cuentadante";
                }
                else if (rol.ToLower().Equals("c"))
                {
                    informacion.rol = "Consultor";
                }
                else if (rol.ToLower().Equals("i"))
                {
                    informacion.rol = "Quien informa";
                }

                informacion.nombreColaborador = String.Join(" ", asignacion.colaboradors.pnombre,
                                                            asignacion.colaboradors.snombre != null ? asignacion.colaboradors.snombre : "",
                                                            asignacion.colaboradors.papellido,
                                                            asignacion.colaboradors.sapellido != null ? asignacion.colaboradors.sapellido : "");

                informacion.estadoColaborador = asignacion.colaboradors.estado == 1 ? "Alta" : "Baja";
                informacion.email             = asignacion.colaboradors.usuarios != null ? asignacion.colaboradors.usuarios.email : "";

                return(Ok(new { success = true, informacion = informacion }));
            }
            catch (Exception e)
            {
                CLogger.write("2", "MatrizRaciController.class", e);
                return(BadRequest(500));
            }
        }
        public void QuandoOColaboradorColaborador01CriarAsSeguintesTarefas(string cronograma, Table table)
        {
            string id   = table.Header.ToList()[0];
            string nome = table.Header.ToList()[1];

            foreach (TableRow row in table.Rows)
            {
                string idRow   = row[id];
                string nomeRow = row[nome];

                TarefasDic.Add(nomeRow,
                               CronogramaFactoryEntity.CriarTarefa(contexto, ushort.Parse(idRow), nomeRow, string.Empty, null, 2, new TimeSpan(0), ColaboradorDAO.ConsultarColaborador("anderson.lins"), StepCronograma.CronogramasDic[cronograma], null, true));
            }
        }