public static void InsertarRegistroLabor(OperariosRegistrosLabores registro) { using (SistemaGlobalPREEntities db = new SistemaGlobalPREEntities()) { db.OperariosRegistrosLabores.Add(registro); db.SaveChanges(); } }
public LaboresPagina() { InitializeComponent(); DataContext = this; Select.ObtenerLaboresOperario(Store.OperarioEjecucion.Id, Store.FechaInicioTurno, Store.FechaFinTurno).ForEach(l => LaboresRealizadas.Add(l)); int cols = 2; int rows = 4; for (int i = 0; i < cols; i++) { GridLabores.ColumnDefinitions.Add(new ColumnDefinition()); } for (int j = 0; j < rows; j++) { GridLabores.RowDefinitions.Add(new RowDefinition()); } for (int i = 0; i < Labores.Count; i++) { Button bt = new Button(); OperacionesLabores labor = Labores[i]; bt.Name = labor.Clave; StackPanel sp = new StackPanel { Orientation = Orientation.Vertical }; sp.Children.Add(new TextBlock { Text = labor.Descripcion }); ProgressBar pb = new ProgressBar { IsIndeterminate = true, Height = 50, Width = 200, Visibility = Visibility.Collapsed }; sp.Children.Add(pb); bt.Content = sp; bt.Style = FindResource("BotonLabor") as Style; bt.FontSize = 17; Grid.SetColumn(bt, i % cols); Grid.SetRow(bt, i / cols); GridLabores.Children.Add(bt); string id = labor.Clave; botones.Add(bt); bt.Click += (s, e) => { Button btEnProgreso = BotonesEnProgreso.FirstOrDefault(x => x.Name == labor.Clave); if (btEnProgreso == null) { OperariosRegistrosLabores nueva = new OperariosRegistrosLabores { DescripcionLabor = labor.Descripcion, FechaInicioLabor = DateTime.Now, IdOperario = Store.OperarioEjecucion.Id, IdMaquina = Store.MaquinaPrincipal.ID, IdPuesto = Store.Bancada.ID, }; if (labor.Prolongada) { pb.Visibility = Visibility.Visible; BotonesEnProgreso.Add(bt); } LaboresRealizadas.Add(nueva); } else { OperariosRegistrosLabores laborEnProgreso = LaboresRealizadas.LastOrDefault(x => x.DescripcionLabor == labor.Descripcion && !x.FechaFin.HasValue); if (laborEnProgreso != null) { laborEnProgreso.FechaFin = DateTime.Now; try { Insert.InsertarRegistroLabor(laborEnProgreso); }catch (Exception ex) { MessageBox.Show(ex.Message); } } pb.Visibility = Visibility.Collapsed; BotonesEnProgreso.Remove(bt); } }; } }