コード例 #1
0
        public ActionResult Index(FormCollection form)
        {
            try
            {
                if (ModelState.IsValid == false)
                {
                    return(Redirect("Trabalho/Index"));
                }

                var trabalho = TrabalhoRepository.recuperarPeloId(Int32.Parse(form["Id"]));

                if (trabalho == null)
                {
                    trabalho      = new Trabalho();
                    trabalho.Data = DateTime.Parse(form["Data"]);
                }

                trabalho.Jornada = TimeSpan.Parse(form["Jornada"]);

                TrabalhoRepository.salvar(trabalho);
                return(RedirectToAction("Index", "Trabalho").Mensagem("Trabalho Salvo com Sucesso!!!"));
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index", "Trabalho").Mensagem("Ocorreu um erro inesperado. " + e.Message, "Erro"));
            }
        }
コード例 #2
0
 public ActionResult ApagarTrabalho(int id)
 {
     try
     {
         TrabalhoRepository.excluirPeloId(id);
         return(RedirectToAction("index", "Trabalho").Mensagem("Trabalho Apagado com Sucesso!!!"));;
     }
     catch (Exception e)
     {
         return(RedirectToAction("index", "Trabalho").Mensagem("Ocorreu um erro inesperado. " + e.Message, "Erro"));
     }
 }
コード例 #3
0
        public ActionResult ValidaData(string Data)
        {
            DateTime dataFormatada = DateTime.Parse(Data, new CultureInfo("pt-BR"));

            var trabalho = TrabalhoRepository.recuperarPelaData(dataFormatada);

            if (trabalho != null)
            {
                return(Json(string.Format("A data '{0}' já foi cadastrada.", dataFormatada.ToString("dd/MM/yyyy")), JsonRequestBehavior.AllowGet));
            }

            return(Json(true, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public ActionResult Index(int?pagina, string sortOrder = "Dia", string searchString = null)
        {
            int numeroPagina  = pagina ?? 1;
            int tamanhoPagina = 5;

            List <Trabalho> trabalhos = TrabalhoRepository.listaAll();

            if (!String.IsNullOrEmpty(searchString))
            {
                trabalhos = trabalhos.Where(t => t.Data.ToString().Contains(searchString) ||
                                            t.Jornada.ToString().Contains(searchString) ||
                                            t.Saldo.ToString().Contains(searchString)).ToList();
            }

            switch (sortOrder)
            {
            case "Dia":
                trabalhos = trabalhos.OrderByDescending(t => t.Data).ToList();
                break;

            case "Jornada":
                trabalhos = trabalhos.OrderBy(t => t.Jornada).ToList();
                break;

            case "Saldo":
                trabalhos = trabalhos.OrderBy(t => t.Saldo).ToList();
                break;

            default:
                trabalhos = trabalhos.OrderByDescending(t => t.Data).ToList();
                break;
            }

            ViewBag.Trabalhos      = trabalhos.ToPagedList(numeroPagina, tamanhoPagina);
            ViewBag.active         = "Trabalho";
            ViewBag.SaldoFormatado = DataUtil.formataHora(DataUtil.calculaSaldo(trabalhos.ToPagedList(numeroPagina, tamanhoPagina).ToList()));
            ViewBag.Saldo          = DataUtil.calculaSaldo(trabalhos.ToPagedList(numeroPagina, tamanhoPagina).ToList());
            ViewBag.Horas          = DataUtil.formataHora(DataUtil.calculaHorasTrabalhadas(trabalhos.ToPagedList(numeroPagina, tamanhoPagina).ToList()));
            Trabalho trabalho = new Trabalho();

            Ponto.isEntrada = false;
            return(View(trabalho));
        }
コード例 #5
0
        public ActionResult DetalheTrabalho(int id)
        {
            try
            {
                Trabalho     trabalho = TrabalhoRepository.recuperarPeloId(id);
                List <Ponto> pontos   = PontoRepository.listAllByTrabalho(id).OrderBy(x => x.Hora).ToList();
                Ponto        ponto    = new Ponto();
                ViewBag.Pontos = pontos;
                ViewBag.active = "Trabalho";
                ViewBag.Ponto  = ponto;

                Ponto.atualizaEntrada(pontos.Count > 0 ? pontos[pontos.Count - 1] : null);
                ponto.atualizaPonto();
                trabalho.HorasTrabalho = DataUtil.calculaHorasTrabalho(pontos);
                trabalho.Saldo         = DataUtil.calculaSaldo(trabalho);
                TrabalhoRepository.salvar(trabalho);

                return(View(trabalho));
            }
            catch (Exception e)
            {
                return(RedirectToAction("index", "Trabalho").Mensagem("Ocorreu um erro inesperado. " + e.Message, "Erro"));
            }
        }
コード例 #6
0
        public ActionResult Index(string dataInicial, string dataFinal, string sortOrder = "Dia", int pagina = 1)
        {
            Relatorio relatorio     = new Relatorio();
            int       tamanhoPagina = 10;
            DateTime  _dataInicial;
            DateTime  _dataFinal;

            if (dataFinal == null)
            {
                _dataInicial = DateTime.Now;
            }
            else
            {
                _dataInicial = DateTime.Parse(dataInicial, new CultureInfo("pt-BR"));
            }

            if (dataInicial == null)
            {
                _dataFinal = DateTime.Now;
            }
            else
            {
                _dataFinal = DateTime.Parse(dataFinal, new CultureInfo("pt-BR"));
            }

            relatorio.DataInicial = _dataInicial;
            relatorio.DataFinal   = _dataFinal;

            if (_dataFinal < _dataInicial)
            {
                return(View(new List <Trabalho>().ToPagedList(1, 5)).Mensagem("A Data Final não pode ser menor que a Data Inicial.", "Aviso"));
            }

            List <Trabalho> trabalhos = TrabalhoRepository.listaAll();

            trabalhos = trabalhos.Where(t => t.Data.Date >= _dataInicial.Date && t.Data.Date <= _dataFinal.Date).ToList();

            relatorio.Horas          = DataUtil.calculaHorasTrabalhadas(trabalhos);
            relatorio.Saldo          = DataUtil.calculaSaldo(trabalhos);
            relatorio.HorasFormatada = DataUtil.formataHora(relatorio.Horas);
            relatorio.SaldoFormatado = DataUtil.formataHora(relatorio.Saldo);

            switch (sortOrder)
            {
            case "Dia":
                trabalhos = trabalhos.OrderByDescending(t => t.Data).ToList();
                break;

            case "Jornada":
                trabalhos = trabalhos.OrderBy(t => t.Jornada).ToList();
                break;

            case "Saldo":
                trabalhos = trabalhos.OrderBy(t => t.Saldo).ToList();
                break;

            default:
                trabalhos = trabalhos.OrderByDescending(t => t.Data).ToList();
                break;
            }

            IPagedList trabalhosPaged = trabalhos.ToPagedList(pagina, tamanhoPagina);

            relatorio.Trabalhos    = trabalhos;
            ViewBag.TrabalhosPaged = trabalhosPaged;
            ViewBag.active         = "Relatorio";
            return(View(relatorio));
        }