public ActionResult Index() { if (!User.Identity.IsAuthenticated) return View(); var login = User.Identity.Name; var funcCo = new FuncionarioCo(); var menuCo = new MenuCo(); var func = funcCo.Find(x => x.Login.Equals(login)); ViewBag.Menu = menuCo.GetMenus(func.Perfil.Peso).Select(x => new MenuViewModel { Id = x.Id, Action = x.Action, Controller = x.Controller, Peso = x.Peso, Imagem = "~/Content/imagem/menu/" + x.Imagem }).ToList(); return View(); }
public ActionResult Index(int? page) { var login = User.Identity.Name; var funcCo = new FuncionarioCo(); var func = funcCo.Find(x => x.Login.Equals(login)); var lst = Db.Listar(x=>x.Funcionario.Id == func.Id).Select(x => new FrequenciaListViewModel { Id = x.Id, FuncionarioNome = x.Funcionario.Nome, Data = x.Data.ToString("dd/MM/yyyy"), Entrada = x.Entrada.ToString(@"hh\:mm"), EntradaIntervalo = x.EntradaIntervalo.ToString(@"hh\:mm"), SaidaIntervalo = x.SaidaIntervalo.ToString(@"hh\:mm"), Saida = x.Saida.ToString(@"hh\:mm") }).ToList(); var pageSize = Extencoes.NumPage; var pageNumber = (page ?? 1); return View(lst.ToPagedList(pageNumber, pageSize)); }
public ActionResult ExebirRelatorios([Bind(Include = "Funcionario,Funcionarioid,Data1,Data2")] RelatorioMetasViewModel relatorio) { var funcCo = new FuncionarioCo(); var func = funcCo.Find(x => x.Id == relatorio.Funcionarioid); ViewBag.TempoMeta = func.Jornada.TempoMeta; if (!ModelState.IsValid) return RedirectToAction("RelatorioMetas"); var lst = Db.Listar( x => x.Data >= DateTime.Parse(relatorio.Data1) && x.Data <= DateTime.Parse(relatorio.Data2) && x.Funcionario.Id == relatorio.Funcionarioid) .Select(x => new FrequenciaListViewModel { Id = x.Id, FuncionarioNome = x.Funcionario.Nome, Data = x.Data.ToString("dd/MM/yyyy"), Entrada = x.Entrada.ToString(@"hh\:mm"), EntradaIntervalo = x.EntradaIntervalo.ToString(@"hh\:mm"), SaidaIntervalo = x.SaidaIntervalo.ToString(@"hh\:mm"), Saida = x.Saida.ToString(@"hh\:mm"), HoraTrabalhada = x.HoraTrabalhada }).ToList(); ViewBag.Total = lst.GroupBy(x => x.FuncionarioNome) .Select( x => new FrequenciaListViewModel { FuncionarioNome = x.Key, HoraTrabalhada = x.Sum(y => y.HoraTrabalhada) }).SingleOrDefault(); return View(lst); }
private FrequenciaMo GetFrequencia(string login, TipoEntrada tipo) { var funcC0 = new FuncionarioCo(); var func = funcC0.Find(x => x.Login.Equals(login)); var hoje = DateTime.Parse(DateTime.Now.ToShortDateString()); var hora = DateTime.Now; var freqMo = Db.Find(x => x.Data == hoje && x.Funcionario.Id == func.Id) ?? new FrequenciaMo(); freqMo.Data = hoje; freqMo.FuncionarioId = func.Id; switch (tipo) { case TipoEntrada.Entrada: { freqMo.Entrada = new TimeSpan(hora.Hour, hora.Minute, 0); freqMo.IsEntrada = true; break; } case TipoEntrada.EntradaIntervalo: { freqMo.EntradaIntervalo = new TimeSpan(hora.Hour, hora.Minute, 0); freqMo.IsSaidaIntervalo = true; break; } case TipoEntrada.SaidaIntervalo: { freqMo.SaidaIntervalo = new TimeSpan(hora.Hour, hora.Minute, 0); freqMo.IsVoltaIntervalo = true; break; } case TipoEntrada.Saida: { //freqMo.Saida = new TimeSpan(hora.Hour, hora.Minute, 0); freqMo.IsSaida = true; var horaTrabalhada = (freqMo.Saida - freqMo.SaidaIntervalo) + (freqMo.EntradaIntervalo - freqMo.Entrada); freqMo.HoraTrabalhada = Convert.ToDecimal(horaTrabalhada.TotalHours); break; } } return freqMo; }