public void Guardar() { using (nominaEntities bd = new nominaEntities()) { try { bd.campos.Add(CampoActual); bd.SaveChanges(); var Trabajadores = Datos.Micontexto.trabajador.ToList(); foreach (var tra in Trabajadores) { var nuevoCampoTra = new campotra { nombrecampo = CampoActual.nombre, idtrabajador = tra.idtrabajador, valor = (decimal)CampoActual.valorinicial }; bd.campotra.Add(nuevoCampoTra); } bd.SaveChanges(); Datos.Guardado(); Nuevo(); } catch (Exception ex) { Datos.Msg("Error al guardar verifique y/o complete los datos", "Error Al Guardar", "E"); } } }
public static List <DiasAsistA> ProcDias(DateTime desde, DateTime hasta, nominatype nomina) { var procDays = new List <DiasAsistB>(); var TrabsDays = new List <DiasAsistA>(); for (DateTime i = desde; i.Date <= hasta.Date; i = i.AddDays(1)) { procDays.Add(new DiasAsistB() { Dia = i, asist = false }); } nominaEntities fortrabs = new nominaEntities(); var trabs = Datos.Micontexto.trabajador.Where(x => x.nominatype.idnomina == nomina.idnomina && x.estatus.idestatus == 1); foreach (var trab in trabs) { int idtrab = trab.idtrabajador; var trabx = new DiasAsistA(); trabx.Trab = trab; trabx.Dias = new List <DiasAsistB>(); foreach (var day in procDays) { var qry = fortrabs.controlasist.Where(x => x.idtrabajador == idtrab && x.date == day.Dia).ToList(); int asi; if (day.Dia.DayOfWeek == DayOfWeek.Saturday || day.Dia.DayOfWeek == DayOfWeek.Sunday) { asi = 1; } else { asi = qry.Count(); } trabx.Dias.Add(new DiasAsistB() { Dia = day.Dia, asist = Convert.ToBoolean(asi) }); } trabx.DiasAsis = string.Join(",", trabx.Dias.Where(x => x.asist == true).Select(x => x.Dia.Date.ToShortDateString())); trabx.DiasInasis = string.Join(",", trabx.Dias.Where(x => x.asist == false).Select(x => x.Dia.Date.ToShortDateString())); trabx.TotalAsis = trabx.Dias.Where(x => x.asist == true).Count(); trabx.TotalIna = trabx.Dias.Where(x => x.asist == false).Count(); TrabsDays.Add(trabx); } return(TrabsDays); }
public void Guardar() { using (nominaEntities bd = new nominaEntities()) { try { bd.conceptos.Add(ConceptoActual); bd.SaveChanges(); Datos.Guardado(); Nuevo(); } catch (Exception ex) { Datos.Msg("Error al guardar verifique y/o complete los datos", "Error Al Guardar", "E"); } } }
public void Guardar() { using (nominaEntities bd = new nominaEntities()) { try { bd.cargo.Add(CargoActual); bd.SaveChanges(); MessageBox.Show("Datos Guardados Exitosamente"); Nuevo(); } catch (Exception) { Datos.Msg("Error al guardar verifique y/o complete los datos", "Error Al Guardar", "E"); } } }
public static string LeerCampo(string campo, int idx) { if (campo == null || campo == string.Empty) { return("0"); } else { nominaEntities paraconcepto = new nominaEntities(); var itemn = campo.Remove(0, 1); var r = paraconcepto.campotra.Where(x => x.idtrabajador == idx) .Where(x => x.nombrecampo == itemn) .Select(x => x.valor).SingleOrDefault().ToString(); return(r); } }
public static decimal LeerConcepto(string conceptvalue, int idx) { if (conceptvalue == string.Empty || conceptvalue == null) { return(0); } var conceptvaluex = conceptvalue.Replace(" ", ""); var divconcept = conceptvaluex.Split('*', '+', '-', '/', '(', ')'); string valorconvertido = conceptvaluex; nominaEntities paraconcepto = new nominaEntities(); foreach (var item in divconcept) { if (item.Contains('$')) { var y = LeerCampo(item, idx); valorconvertido = valorconvertido.Replace(item, y); } if (item.Contains('@')) { var itemn = item.Remove(0, 1); var j = EjecutarProc(itemn, idx.ToString()); valorconvertido = valorconvertido.Replace(item, j); } } valorconvertido = valorconvertido.Replace(',', '.'); NCalc.Expression e = new NCalc.Expression(valorconvertido); decimal evaluation = 0; try { evaluation = decimal.Parse(e.Evaluate().ToString()); } catch (System.ArgumentException x) { Datos.Msg("Error en Concepto Numero " + idx.ToString() + ". El parametro " + x.ParamName + " no existe o esta mal escrito."); } return(Decimal.Round(evaluation, 2));; }
private void TrabajadorFinder(object obj) { nominaEntities db = new nominaEntities(); TextBox identi = obj as TextBox; Nomtrabajador = null; Saludo = null; trabajador = db.trabajador.FirstOrDefault(x => x.cedula == Identificator); if (trabajador != null) { ErrorMsg = ""; Nomtrabajador = trabajador.nombres.Trim() + " " + trabajador.apellidos.Trim(); DateTime Today = DateTime.Today; DateTime TodayTime = DateTime.Now; Tempo = TodayTime.ToString("hh:mm:ss tt"); //BUSCAR REgistro si existe en el dia Checkcontrol = db.controlasist.Where(x => x.date == Today).Where(x => x.idtrabajador == trabajador.idtrabajador).FirstOrDefault(); // if (Checkcontrol == null) { trabajador.idestatusasis = 2; controlasist nuevocontrol = new controlasist(); nuevocontrol.Dia = 0; nuevocontrol.HorasD = 0; nuevocontrol.trabajador = trabajador; nuevocontrol.date = Today; Checkcontrol = nuevocontrol; db.controlasist.Add(Checkcontrol); } //Configurando para cambiar los campos lineles por coma a listas List <string> Lsalidas = new List <string>(); List <string> Lentradas = new List <string>(); if (Checkcontrol.Salidas != null) { Lsalidas = Checkcontrol.Salidas.Split(',').ToList(); } if (Checkcontrol.Entradas != null) { Lentradas = Checkcontrol.Entradas.Split(',').ToList(); } ///Control Entradas if (trabajador.idestatusasis == 2) { //Check Max entradas if (Lentradas.Count() == Configuracion.MaxEntradas) { trabajador = null; ErrorMsg = "El Tabajador ya cumplió el maximo"; return; } Saludo = "Bienvenido(a)!"; trabajador.idestatusasis = 1; Lentradas.Add(TodayTime.ToString("H:mm:ss")); var nuevaEntrada = string.Join(",", Lentradas.ToArray()); DateTime retrasoTiempo = DateTime.Today + ((DateTime)Configuracion.HoraEntrada).TimeOfDay; TimeSpan retraso = TodayTime - retrasoTiempo; Checkcontrol.Entradas = nuevaEntrada; var minRetraso = (decimal?)retraso.TotalMinutes; if (minRetraso > Configuracion.MinRetrasos) { Checkcontrol.Retraso = (decimal?)retraso.TotalMinutes; } Color = Colors.LightGreen.ToString(); } else //Control Salidas { if (Lsalidas.Count() == Configuracion.MaxEntradas) { trabajador = null; ErrorMsg = "El Tabajador ya cumplió el maximo"; return; } Saludo = "Hasta Luego..."; trabajador.idestatusasis = 2; Lsalidas.Add(TodayTime.ToString("H:mm:ss")); var nuevaSalida = string.Join(",", Lsalidas.ToArray()); Checkcontrol.Salidas = nuevaSalida; //Calcular Variables de config //Calcular Horas; var result = Lentradas.Zip(Lsalidas, (primero, segundo) => new { entrada = primero, salida = segundo }); var union = result.Select(x => new { x.entrada, x.salida, horas = decimal.Parse((DateTime.Parse(x.salida).Subtract(DateTime.Parse(x.entrada))).TotalHours.ToString()) }); Checkcontrol.HorasD = union.Sum(x => x.horas); if (Checkcontrol.HorasD >= Configuracion.MinHorasDia) { Checkcontrol.Dia = 1; } else { ErrorMsg = "El Tabajador no puede salir todavia"; Saludo = ""; return; } Color = Colors.DarkRed.ToString(); PasarDatos(); } db.SaveChanges(); Console.Beep(); } else { ErrorMsg = "No existe el Trabajador"; } identi.Text = null; identi.Focus(); }
public void GenerarNomina() { nominauni GenNom = new nominauni(); GenNom.nominatype = NominaActual.FirstOrDefault().nominatype; GenNom.desde = this.Fdesde; GenNom.hasta = this.FHasta; GenNom.totalasignaciones = TotalAsig; GenNom.totaldeducciones = TotalDeduc; GenNom.totalnomina = TotalNomina; GenNom.estatus = 1; GenNom.fecha = DateTime.Now; GenNom.user = LogingViewModel.UsuarioActivo.idusuario; GenNom.cantidadt = TotalTra; try { Datos.Micontexto.nominauni.Add(GenNom); Datos.Micontexto.SaveChanges(); NominagenID = GenNom.idnominauni; } catch (Exception EX) { Datos.Msg("Error Al Generar la nomina, Detalle: " + EX.ToString(), "Error", "E"); return; } nominaEntities newentiry = new nominaEntities(); foreach (var item in NominaActual) { prenominagen itennom = new prenominagen { Idnominagen = GenNom.idnominauni, nominatype = item.nominatype, trabajador = item.trabajador, conceptos = item.conceptos, nombrecon = item.nombrecon, valorconcepto = item.valorconcepto, valorvar = item.valorvar, tipoconcepto = item.tipoconcepto }; Datos.Micontexto.prenominagen.Add(itennom); } try { var CamposAReiniciar = Datos.Micontexto.campos.Where(x => x.esReiniciado == 1); var CamposTra = Datos.Micontexto.campotra.ToList(); foreach (var campo in CamposAReiniciar) { CamposTra.Where(x => x.nombrecampo.Contains(campo.nombre)).ToList().ForEach(x => x.valor = campo.valorinicial.Value); } Datos.Micontexto.SaveChanges(); } catch (Exception EX) { Datos.Msg("Error Al Generar la nomina, Detalle: " + EX.ToString(), "Error", "E"); return; } Datos.Micontexto.Database.ExecuteSqlCommand("DELETE FROM prenomina WHERE idnominatype=@p0", GenNom.nominatype.idnomina); Datos.Msg("Nomina " + GenNom.idnominauni.ToString().Trim() + " Generada", "Nomina Generada"); }
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); // } }