private void Carganomina(int prenominagen) { var z = Datos.Micontexto.prenominagen.Where(x => x.Idnominagen == prenominagen).ToList(); var newpre = new List <prenomina>(); foreach (var x in z) { var newp = new prenomina { nominatype = x.nominatype, trabajador = x.trabajador, conceptos = x.conceptos, nombrecon = x.nombrecon, valorconcepto = x.valorconcepto, valorvar = x.valorvar, tipoconcepto = x.tipoconcepto, idnominagen = x.Idnominagen }; newpre.Add(newp); } NominaActual = new ObservableCollection <prenomina>(newpre); SelectedNomina = newpre.First().nominatype; NominagenID = newpre.First().idnominagen; }
public void GenerarPrenomina(object nomina) { // try { if (nomina == null) { Datos.Msg("Selecione una Nomina"); return; } nominaEntities paraconcepto = new nominaEntities(); var nominax = nomina as nominatype; var idx = ((nominatype)nomina).idnomina; var topox = ((nominatype)nomina).idnomina; if (ValidateDates()) { return; } IEnumerable <trabajador> TrabInNomina; if (nominax.tipo == 2) { TrabInNomina = Datos.Micontexto.trabajador.Where(x => x.nominatype1.idnomina == idx).Where(x => x.estatus.idestatus < 3); } else { TrabInNomina = Datos.Micontexto.trabajador.Where(x => x.nominatype.idnomina == idx).Where(x => x.estatus.idestatus < 3); } var prenominaActual = Datos.Micontexto.prenomina.Where(x => x.nominatype.idnomina == idx); Datos.Micontexto.Database.ExecuteSqlCommand("DELETE FROM prenomina WHERE idnominatype=@p0", ((nominatype)nomina).idnomina); string[] concepts; foreach (var trab in TrabInNomina) { if (nominax.tipo == 1) { concepts = trab.conceptos.Split(','); } else { concepts = trab.conceptosbonos.Split(','); } foreach (var con in concepts) { prenomina PreNom = new prenomina(); if (nominax.tipo == 1) { PreNom.nominatype = trab.nominatype; } else { PreNom.nominatype = trab.nominatype1; } PreNom.trabajador = trab; var idcon = 0; try { idcon = Int32.Parse(con); var xa = paraconcepto.conceptos.First(x => x.idconcepto == idcon); PreNom.nombrecon = xa.nombre; PreNom.idconcepto = xa.idconcepto; PreNom.valorconcepto = LeerConcepto(xa.Valor, trab.idtrabajador); PreNom.valorvar = LeerConcepto(xa.variante, trab.idtrabajador); PreNom.tipoconcepto = xa.tipo; if (xa.noimprimir != 1) { if (xa.desactivar != 1) { Datos.Micontexto.prenomina.Add(PreNom); } } else { if (PreNom.valorconcepto != 0) { if (xa.desactivar != 1) { Datos.Micontexto.prenomina.Add(PreNom); } } } } catch { System.Windows.MessageBox.Show("Error en Trabajador " + trab.cedula + " " + trab.nombres.Trim() + " " + trab.apellidos.Trim() + " en el Concepto " + idcon, "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } } } Datos.Micontexto.SaveChanges(); Datos.WindowActual.Close(); NominaActual = new ObservableCollection <prenomina>(Datos.Micontexto.prenomina.Where(x => x.nominatype.idnomina == idx)); WinPrenomina nuevaprenomina = new WinPrenomina(this); nuevaprenomina.Owner = Datos._PrincipalWindow; nuevaprenomina.WindowState = WindowState.Normal; nuevaprenomina.ShowInTaskbar = false; nuevaprenomina.WindowStartupLocation = WindowStartupLocation.CenterScreen; nuevaprenomina.ShowDialog(); //} // catch(Exception ex) // { // MessageBox.Show(ex.ToString(), "Error",MessageBoxButton.OK, MessageBoxImage.Error); // } }