private List <Picagens> GetPicagens(long id, Enums.Tipo tipoInicio, Enums.Tipo tipoFim, Enums.PicagensDesignacao picagem) { try { var lstPausaIn = _registo.Where(r => r.IdColaborador == id && r.Tipo == tipoInicio).ToList(); var lstPausaOut = _registo.Where(r => r.IdColaborador == id && r.Tipo == tipoFim).ToList(); var lstPausas = new List <Picagens>(); DateTime?dtfim; lstPausaIn.ForEach(pi => { var pf = lstPausaOut.Find(pfim => pfim.Data >= pi.Data); var p = new Picagens(); p.Data = pi.Data.Date; p.Inicio = pi.Data; dtfim = pf == null ? DateTime.MinValue : pf.Data; p.Fim = dtfim == DateTime.MinValue ? null : dtfim; p.IdColaborador = id; p.Duracao = dtfim == DateTime.MinValue ? "" : ((TimeSpan)(p.Fim - p.Inicio)).ToString(); p.Tipo = picagem.ToString(); p.RegistoInicio = pi.Id; p.RegistoFim = pf == null ? 0 : pf.Id; lstPausas.Add(p); }); return(lstPausas); } catch (Exception ex) { throw ex; } }
private void EnableButtons(Enums.Tipo tipo) { switch (tipo) { case Enums.Tipo.LogIn: buttons.ForEach(b => { b.IsEnabled = true; }); buttons.Find(b => b.Name == btnOut.Name).IsEnabled = false; break; case Enums.Tipo.LogOut: buttons.ForEach(b => { b.IsEnabled = false; }); buttons.Find(b => b.Name == btnOut.Name).IsEnabled = true; buttons.Find(b => b.Name == btnLogin.Name).IsEnabled = true; break; case Enums.Tipo.PausaIn: buttons.ForEach(b => { b.IsEnabled = false; }); buttons.Find(b => b.Name == btnPausa.Name).IsEnabled = true; break; case Enums.Tipo.PausaOut: buttons.ForEach(b => { b.IsEnabled = true; }); buttons.Find(b => b.Name == btnOut.Name).IsEnabled = false; break; case Enums.Tipo.RefeicaoIn: buttons.ForEach(b => { b.IsEnabled = false; }); buttons.Find(b => b.Name == btnRef.Name).IsEnabled = true; break; case Enums.Tipo.RefeicaoOut: buttons.ForEach(b => { b.IsEnabled = true; }); buttons.Find(b => b.Name == btnOut.Name).IsEnabled = false; break; case Enums.Tipo.IndisponiblidadeIn: buttons.ForEach(b => { b.IsEnabled = false; }); buttons.Find(b => b.Name == btnIndis.Name).IsEnabled = true; break; case Enums.Tipo.IndisponibilidadeOut: buttons.ForEach(b => { b.IsEnabled = true; }); buttons.Find(b => b.Name == btnOut.Name).IsEnabled = false; break; case Enums.Tipo.FormacaoIn: buttons.ForEach(b => { b.IsEnabled = false; }); buttons.Find(b => b.Name == btnForm.Name).IsEnabled = true; break; case Enums.Tipo.FormacaoOut: buttons.ForEach(b => { b.IsEnabled = true; }); buttons.Find(b => b.Name == btnOut.Name).IsEnabled = false; break; } }