private void solicitarVacas(object sender, RoutedEventArgs e) { var listaDeDias = calControl.ListaDiasSeleccionados.ToList(); var text = ""; foreach (var l in listaDeDias) { text += l.diaFormato + " "; } MessageBox.Show("Has solicitado con exito estos dias: " + text); using (var db = new ContextoBBDD()) { db.DiasElegidos.AddRange(listaDeDias); var cambiarNumeroDiasRestantes = db.DiasPendientes.SingleOrDefault(b => b.UserModelId == UserLoginCache.Id); if (cambiarNumeroDiasRestantes != null) { cambiarNumeroDiasRestantes.DiasQueMeQuedan = cambiarNumeroDiasRestantes.DiasQueMeQuedan - listaDeDias.Count; } db.SaveChanges(); } calControl.ListaDiasSeleccionados.Clear(); calControl.refesh(); }
/// <summary> Inicializa el registro con las horas a null, en el caso que no este inicializado</summary> private void inicializarRegistro() { using (var db = new ContextoBBDD()) { fichaje = db.Fichar.Where(x => x.UserID == UserLoginCache.Id && x.dia == DateTime.Today).FirstOrDefault(); if (fichaje == null) { fichaje = new FicharModel(); fichaje.UserID = UserLoginCache.Id; fichaje.horarioID = 1; fichaje.dia = DateTime.Today; fichaje.warning = 1; db.Fichar.Add(fichaje); db.SaveChanges(); btn_entrar.IsEnabled = true; btn_salir.IsEnabled = false; btn_entrar.Background = Brushes.LightGreen; btn_salir.Background = Brushes.Red; } else { if (fichaje.entrada1.TotalMilliseconds == 0) { btn_entrar.IsEnabled = true; btn_salir.IsEnabled = false; btn_entrar.Background = Brushes.LightGreen; btn_salir.Background = Brushes.Red; } else if (fichaje.salida1.TotalMilliseconds == 0) { btn_entrar.IsEnabled = true; btn_salir.IsEnabled = false; btn_entrar.Background = Brushes.LightGreen; btn_salir.Background = Brushes.Red; } else if (fichaje.entrada2.TotalMilliseconds == 0) { btn_entrar.IsEnabled = true; btn_salir.IsEnabled = false; btn_entrar.Background = Brushes.LightGreen; btn_salir.Background = Brushes.Red; } else if (fichaje.salida2.TotalMilliseconds == 0) { btn_entrar.IsEnabled = true; btn_salir.IsEnabled = false; btn_entrar.Background = Brushes.LightGreen; btn_salir.Background = Brushes.Red; } else { btn_entrar.IsEnabled = false; btn_salir.IsEnabled = false; btn_entrar.Background = Brushes.Red; btn_salir.Background = Brushes.Red; } } horario = db.Horarios.Where(x => x.ID == fichaje.horarioID).FirstOrDefault(); } }
private void Login(object sender, RoutedEventArgs e) { var user = new UserModel(); using (var db = new ContextoBBDD()) { user = db.Usuarios .Where(x => x.UserName == txtUsuario.Text && x.Password == txtContraseña.Password) .FirstOrDefault(); } if (user != null) { UserLoginCache.Id = user.Id; UserLoginCache.UserName = user.UserName; UserLoginCache.Password = user.Password; UserLoginCache.Nombre = user.Nombre; UserLoginCache.Apellidos = user.Apellidos; UserLoginCache.Rol = user.Rol; UserLoginCache.Email = user.Email; UserLoginCache.UrlImage = user.UrlImage; MenuPrincipalView mp = new MenuPrincipalView(); mp.Show(); } else { MessageBox.Show("Usuario o contraseña incorrectos"); } }
private void btnTodas_Click(object sender, RoutedEventArgs e) { if (ListaSeleccionados.Count == 0) { MessageBox.Show("No has seleccionado ningun dia"); return; } var str = "Has seleccionado estos dias: \n"; foreach (var s in ListaSeleccionados) { str += s.diaFormato + " " + s.Usuario.Nombre + " " + s.Usuario.Apellidos + "\n"; using (var db = new ContextoBBDD()) { var result = db.DiasElegidos.SingleOrDefault(x => x.UserModelId == s.UserModelId && x.Dia == s.Dia && x.Mes == s.Mes && x.Año == s.Año); if (result != null) { result.Aprobado = true; db.SaveChanges(); } } } MessageBox.Show(str); cargarGrid(); }
public HorariosViewModel() { using (var db = new ContextoBBDD()) { var listUsers = db.Usuarios.ToList(); var listaAnonima = (from h in db.Horarios select new DataGridHorarios { nombre = h.nombre, entrada1 = h.entrada1, salida1 = h.salida1, entrada2 = h.entrada2, salida2 = h.salida2, lunes = h.lunes? "✓":"X", martes = h.martes ? "✓" : "X", miercoles = h.miercoles ? "✓" : "X", jueves = h.jueves ? "✓" : "X", viernes = h.viernes ? "✓" : "X", sabado = h.sabado ? "✓" : "X", domingo = h.domingo ? "✓" : "X", }).ToList(); ListaDeHorarios = listaAnonima.ToList(); } }
public UserModel obtenerUsuario(object sender) { var l = Grid.GetRow((UIElement)((TextBlock)sender).Parent); var c = Grid.GetColumn((UIElement)((TextBlock)sender).Parent); //localiza el stackpanel de la celda col=0 fila= la que clickes var stac = lagrid.Children .Cast <UIElement>() .First(es => Grid.GetRow(es) == l && Grid.GetColumn(es) == 0); //localiza dentro del stackpanel el elemento hijo que sea un textblock TextBlock textbl = ((StackPanel)stac).Children.OfType <TextBlock>().LastOrDefault(); UserModel us = null; using (var db = new ContextoBBDD()) { var num = obtenerIdUsuario(textbl.Text); us = db.Usuarios.Where(x => x.Id == num).FirstOrDefault(); } return(us); }
public VacacionesViewModel() { using (var db = new ContextoBBDD()) { var diasquequedan = db.Usuarios.Where(x => x.Id == UserLoginCache.Id).Select(d => d.DiasPendientes.DiasQueMeQuedan).FirstOrDefault(); _diasQueQuedan = diasquequedan; } }
public AusenciasViewModel() { using (var db = new ContextoBBDD()) { var listTiposAusencias = db.TiposAusencias.ToList(); TiposAusencias = listTiposAusencias; } }
private void click_calendar(object sender, MouseButtonEventArgs e) { var celda = (Label)sender; var color = ((Label)sender).Background; if (color == Brushes.MediumTurquoise) { celda.Background = Brushes.White; celda.Foreground = celda.Foreground == Brushes.Red ? Brushes.Red : Brushes.Black; //Elimina de la lista el dia deseleccionado var itemToRemove = ListaDiasSeleccionados.SingleOrDefault(r => r.Dia == Int32.Parse(celda.Content.ToString()) && r.Mes == mesSeleccionado && r.Año == añoSeleccionado); if (itemToRemove != null) { _listaDiasSeleccionados.Remove(itemToRemove); } restarDias(sender, e); } else if (color == Brushes.White) { celda.Background = Brushes.MediumTurquoise; celda.Foreground = celda.Foreground == Brushes.Red ? Brushes.Red : Brushes.White; _listaDiasSeleccionados.Add(new DiasElegidosModel() { Dia = Int32.Parse(celda.Content.ToString()), Mes = mesSeleccionado, Año = añoSeleccionado, UserModelId = UserLoginCache.Id }); sumarDias(sender, e); } else if (color == Brushes.OrangeRed) { MessageBox.Show("Dia pendiente de ser aceptado, Desea eliminar la solicitud?"); using (var db = new ContextoBBDD()) { var numDia = Convert.ToInt32(celda.Content.ToString()); var diaBorrar = db.DiasElegidos.FirstOrDefault(x => x.Dia == numDia && x.Mes == mesSeleccionado && x.Año == añoSeleccionado && x.UserModelId == UserLoginCache.Id); db.DiasElegidos.Remove(diaBorrar); db.SaveChanges(); } restarDias(sender, e); refesh(); } }
private void aceptar(object sender, RoutedEventArgs e) { using (var db = new ContextoBBDD()) { var result = db.DiasElegidos.SingleOrDefault(x => x.UserModelId == diaADenegarOAprobar.UserModelId && x.Dia == diaADenegarOAprobar.Dia && x.Mes == diaADenegarOAprobar.Mes && x.Año == diaADenegarOAprobar.Año); if (result != null) { result.Aprobado = false; db.SaveChanges(); } } this.Close(); }
private void cargarDatosDelContexto() { using (var db = new ContextoBBDD()) { //cargamos usuarios var listausuarios = db.Usuarios.ToList(); ListaUsuarios = listausuarios; //cargamos dias Elegidos de vacas var listadiasvacas = db.DiasElegidos.ToList(); ListaDiasVacasElegidos = listadiasvacas; } }
//obtiene del nombre completo el id usuario private int obtenerIdUsuario(string usuario) { var longi = usuario.Length; var nombre = usuario.Substring(0, usuario.IndexOf(" ")); var apellidos = usuario.Substring(nombre.Length, longi - nombre.Length); var num = 0; using (var db = new ContextoBBDD()) { num = db.Usuarios.Where(x => x.Nombre == nombre && x.Apellidos == apellidos.Trim()) .Select(x => x.Id).FirstOrDefault(); } return(num); }
private void enviarAusencia() { using (var db = new ContextoBBDD()) { var nuevaAusencia = new AusenciasModel() { UserModelId = UserLoginCache.Id, TipoAusenciaModelId = TipoSeleccionado.Id, FechaInicio = StartDate.Date,//con el date al final solo obtenemos la data sin horas FechaFinal = EndDate.Date, Comentario = ComentarioTxt }; db.Ausencias.Add(nuevaAusencia); db.SaveChanges(); } }
public void actualizar() { if (Password == Passwordconfirm) { using (var db = new ContextoBBDD()) { var result = db.Usuarios.FirstOrDefault(x => x.Id == UserLoginCache.Id); if (result != null) { result.Nombre = Nombre; result.Apellidos = Apellidos; result.UserName = Username; result.Password = Password; db.SaveChanges(); } } } else { MessageBox.Show("Contraseña incorrecta"); } }
public FicharViewModel() { using (var db = new ContextoBBDD()) { var listUsers = db.Usuarios.ToList(); var listaAnonima = (from usuario in db.Usuarios join fichaje in db.Fichar on usuario.Id equals fichaje.UserID join warning in db.Warning on fichaje.warning equals warning.ID select new DataGridFichajes { Nombre = usuario.Nombre + " " + usuario.Apellidos, Dia = fichaje.dia, Entrada1 = fichaje.entrada1, Salida1 = fichaje.salida1, Entrada2 = fichaje.entrada2, Salida2 = fichaje.salida2, Warning = warning.descripcion }).ToList(); ListaDeDias = listaAnonima.ToList(); } }
private void cargarNumerosCalendar() { var col = 0; var row = 0; var diasMesAnterior = DateTime.DaysInMonth(añoSeleccionado, (mesSeleccionado == 1) ? 12 : mesSeleccionado - 1); var iterador = 0; //si tienes alguna label en la grid la eliminara , asi no se superponen if (gridCalendar.Children.Count > 0) { gridCalendar.Children.Clear(); } switch (primerDiaDelMes) { case "lunes": col = 0; break; case "martes": col = 1; break; case "miércoles": col = 2; break; case "jueves": col = 3; break; case "viernes": col = 4; break; case "sábado": col = 5; break; case "domingo": col = 6; break; } var diasAnteriores = col; //Dias del mes que se pueden clickar for (int i = 1; i <= diasTotalMes; i++) { var lb = new Label(); lb.Content = i.ToString(); lb.MouseLeftButtonUp += click_calendar; var item = _listaDiasSeleccionados.FirstOrDefault(x => x.Dia == i && x.Mes == mesSeleccionado && x.Año == añoSeleccionado); using (var db = new ContextoBBDD()) { var diaYaElegido = db.DiasElegidos.Where(x => x.Dia == i && x.Mes == mesSeleccionado && x.Año == añoSeleccionado && x.UserModelId == UserLoginCache.Id).FirstOrDefault(); if (diaYaElegido != null) { lb.Background = Brushes.OrangeRed; lb.Foreground = Brushes.White; } else { if (item != null) { lb.Background = Brushes.MediumTurquoise; lb.Foreground = Brushes.White; } else { lb.Background = Brushes.White; lb.Foreground = col == 6 ? Brushes.Red : Brushes.Black; } } } if (col == 7) { col = 0; row++; } Grid.SetColumn(lb, col); Grid.SetRow(lb, row); gridCalendar.Children.Add(lb); col++; } //Numero del mes anterior que estaran desactivados for (int i = diasAnteriores; i > 0; i--) { var lb = new Label(); lb.Content = (diasMesAnterior - iterador).ToString(); lb.IsEnabled = true; lb.Foreground = Brushes.Gray; Grid.SetColumn(lb, i - 1); Grid.SetRow(lb, 0); gridCalendar.Children.Add(lb); iterador++; } //Dias posteriores var diasPosterior = 42 - diasTotalMes - diasAnteriores; for (int i = 0; i < diasPosterior; i++) { var lb = new Label(); lb.Content = (i + 1).ToString(); lb.IsEnabled = true; lb.Foreground = Brushes.Gray; if (col == 7) { col = 0; row++; } Grid.SetColumn(lb, col); Grid.SetRow(lb, row); gridCalendar.Children.Add(lb); col++; } }