public ActionResult RemoverColaboradorProjeto(ProjetosColaborador projeto) { try { var projcolab = ProjColaboradorDao.BuscarProjetoColaborador(projeto.IDPROJ_COLAB); var atividades = AtividadesDao.ListarPontosPorcolaborador(projcolab.IDPROJ_COLAB); if (!ModelState.IsValid) { return(View()); } if (atividades.Count() > 0) { throw new Exception("Colaborador possui atividades registradas, não é possivel remover ele do projeto!"); } else { ProjColaboradorDao.DeleteProjColab(projcolab); TempData["Mensagem"] = "Desvinculado com sucesso..."; return(RedirectToAction("MostrarDetalhesProjeto", new { id = projcolab.IDPROJETO })); } } catch (Exception ex) { ViewBag.MensagemErro = ex.Message; return(View("_erro")); } }
public ActionResult MostrarDetalhesProjeto(int id) { var projeto = ProjetosDao.BuscarProjeto(id); var horasTrabalhadas = AtividadesDao.TotalHorasProjetos(id); var colaboradores = ProjColaboradorDao.ListarColaboradoresProjeto(id); double valorPagoColaboradores = 0; double valorPagoColaboradoresProjeto = 0; int horas; foreach (var item in colaboradores) { horas = AtividadesDao.TotalHorasColaborador(item.IDPROJ_COLAB); valorPagoColaboradores += (item.ValorColaborador * horas); valorPagoColaboradoresProjeto += (item.ValorHoraProjColab * horas); } double valorTotal = 0; if (projeto.Escopo == 1) { if (projeto.ValorDespesas != 0 || projeto.ValorDespesas != null) { valorTotal += ((projeto.ValorProjeto * horasTrabalhadas) + valorPagoColaboradoresProjeto) - (double)projeto.ValorDespesas - valorPagoColaboradores; } else { valorTotal += ((projeto.ValorProjeto * horasTrabalhadas) + valorPagoColaboradoresProjeto) - valorPagoColaboradores; } } else { if (projeto.ValorDespesas != 0 || projeto.ValorDespesas != null) { valorTotal = projeto.ValorProjeto - valorPagoColaboradores - (double)projeto.ValorDespesas; } else { valorTotal = projeto.ValorProjeto - valorPagoColaboradores; } } var valores = new ProjetoValoresViewModel() { NumHorasProj = (int)projeto.NumHoras, HorasRestantes = AtividadesDao.TotalHorasRestante(id), HorasTrabalhadas = horasTrabalhadas, ValorTotal = valorTotal, ValorPagoColaboradores = valorPagoColaboradores, ValorPedidoColaboradores = valorPagoColaboradoresProjeto, ValorDespesas = (double)projeto.ValorDespesas, ValorOrca = projeto.ValorProjeto }; ViewBag.Valores = valores; ViewBag.Colaboradores = colaboradores; return(View(projeto)); }
public ActionResult PontoColaborador(Atividade atividade) { try { var colabProjeto = ProjColaboradorDao.BuscarProjetoColaborador(atividade.IDPROJ_COLAB); var listaAtividadesColab = AtividadesDao.ListarPontosPorcolaborador(colabProjeto.IDPROJ_COLAB); foreach (var item in listaAtividadesColab) { if (atividade.HoraInicio == item.HoraInicio && atividade.HoraFim == item.HoraFim) { ModelState.AddModelError("HoraFim", "O calaborador já possui uma ativididade em andamento nesse horário no projeto " + item.ProjetoColaborador.Projeto.Descricao); break; } else if (atividade.HoraInicio > atividade.HoraFim) { ModelState.AddModelError("HoraInicio", "O horário de entrada não pode ser maior que o horário de saída"); break; } else if (atividade.HoraInicio == atividade.HoraFim) { ModelState.AddModelError("HoraInicio", "O horário de entrada não pode ser igual ao horário de saída"); break; } else if (atividade.HoraInicio >= item.HoraInicio && atividade.HoraInicio <= item.HoraFim)//entrar no meio do projeto { ModelState.AddModelError("HoraInicio", "O calaborador já possui uma ativididade em andamento nesse horário no projeto " + item.ProjetoColaborador.Projeto.Descricao); break; } else if ((atividade.HoraInicio < item.HoraInicio && atividade.HoraFim > item.HoraInicio && atividade.HoraFim <= item.HoraFim) || //entrar antes e saior no meio (atividade.HoraInicio < item.HoraInicio && atividade.HoraFim > item.HoraFim)) //entrar antes e sair depois { ModelState.AddModelError("HoraFim", "O calaborador já possui uma ativididade em andamento nesse horário no projeto " + item.ProjetoColaborador.Projeto.Descricao); break; } } if (!ModelState.IsValid) { return(PontoColaborador(atividade.IDPROJ_COLAB)); } AtividadesDao.IncluirPonto(atividade); TempData["Mensagem"] = "Atividade registrada com sucesso"; return(RedirectToAction("PontoColaborador", colabProjeto.IDCOLABORADOR)); } catch (Exception ex) { ViewBag.MensagemErro = ex.Message; return(View("_Erro")); } }
public ActionResult PontoColaborador(int id) { var colabProj = ProjColaboradorDao.BuscarProjetoColaborador(id); var colaborador = ColaboradoresDao.BuscarColaborador(colabProj.IDCOLABORADOR); var projeto = ProjetosDao.BuscarProjeto(colabProj.IDPROJETO); var atividade = new Atividade() { IDPROJ_COLAB = id }; ViewBag.Lista = AtividadesDao.ListarPontosPorProjeto(id).ToList(); ViewBag.Colaborador = ColaboradoresDao.BuscarColaborador(colabProj.IDCOLABORADOR); ViewBag.Colab = new ColaboradorProjetoViewModel() { Id = id, Descricao = projeto.Descricao + " / " + colaborador.Nome }; return(View(atividade)); }
public ActionResult DetalhesColaborador(int id) { try { if (Request.IsAjaxRequest()) { var projetoColab = ProjColaboradorDao.BuscarProjetoColaborador(id); var projeto = ProjetosDao.BuscarProjeto(projetoColab.IDPROJETO); var horaTrab = AtividadesDao.TotalHorasColaborador(projetoColab.IDPROJ_COLAB); if (projeto.NumHoras == null) { projeto.NumHoras = 0; } var valores = new ProjetoValoresViewModel() { ValorColaborador = projetoColab.ValorColaborador, HorasTrabalhadas = horaTrab, ValorPagoColaboradores = projetoColab.ValorColaborador * horaTrab, ValorPedidoColaboradores = projetoColab.ValorHoraProjColab * horaTrab, HorasRestantes = (int)projeto.NumHoras - horaTrab, NumHorasProj = (int)projeto.NumHoras }; ViewBag.Projetos = ProjColaboradorDao.ListarProjetosColaborador(id); ViewBag.Skill = ColaboradoresDao.BuscarSkillInfo(ColaboradoresDao.BuscarColaborador(projetoColab.IDCOLABORADOR).IDSKILL).Descricao; return(PartialView("_ValoresColaborador", valores)); } else { ViewBag.Projetos = ProjColaboradorDao.ListarProjetosColaborador(id); ViewBag.Skill = ColaboradoresDao.BuscarSkillInfo(ColaboradoresDao.BuscarColaborador(id).IDSKILL).Descricao; return(VerificarColaborador(id, "DetalhesColaborador")); } } catch (Exception ex) { ViewBag.MensagemErro = ex.Message; return(View("_erro")); } }