private void B_Guardar_Click(object sender, EventArgs e) { Nomina n = new Nomina(); n.Dollar = Convert.ToDecimal(T_Dollar.Text); n.Usuario1 = Convert.ToInt32(T_Usuario.Text); n.Estatus1 = CBX_Estatus.Text; n.Fecha1 = DateTime.Today; ProNomina.GuardarNomina(n); try { if( ProNomina.GuardarNomina(n)>0 ) MessageBox.Show("la nomina se ha registrado correctamente"); } catch { } foreach (DataGridViewRow row in dataGridView1.Rows) { DetalleNomina dn = new DetalleNomina(); dn.Cedula = row.Cells["Cedula"].Value.ToString(); dn.IdNomina = Convert.ToInt32(t_IdNomina.Text); dn.AFP = Convert.ToDecimal(row.Cells["AFP"].Value.ToString()); dn.Seg_Med = Convert.ToDecimal(row.Cells["Seguro social"].Value.ToString()); dn.Sueldo_neto = Convert.ToDecimal(row.Cells["Sueldo neto"].Value.ToString()); dn.ISR = Convert.ToDecimal(row.Cells["Impuesto sobre la renta"].Value.ToString()); if (ProNomina.GuardarDetalleNomina(dn) > 0) MessageBox.Show("la nomina se ha registrado correctamente"); } }
public static int GuardarDetalleNomina(DetalleNomina nomina) { // @Id_Nomina, //@Id_Empleado, //@Sueldo_neto, //@AFP, //@Seg_Med, @ISR, //@Otros SqlParameter[] dbparametro = new SqlParameter[] { //Conexiones.MakeParam("@IdNomina",SqlDbType.Int,0,nomina.IdNomina), Conexiones.MakeParam("@Id_Nomina", SqlDbType.Int, 0, nomina.IdNomina), // Conexiones.MakeParam("@Id_Empleado",SqlDbType.Int,0,nomina.Id_Empleado), Conexiones.MakeParam("@Sueldo_neto", SqlDbType.Decimal, 0, nomina.Sueldo_neto), Conexiones.MakeParam("@AFP", SqlDbType.Decimal, 0, nomina.AFP), Conexiones.MakeParam("@Seg_Med", SqlDbType.Decimal, 0, nomina.Seg_Med), Conexiones.MakeParam("@ISR", SqlDbType.Decimal, 0, nomina.ISR), Conexiones.MakeParam("@Otros", SqlDbType.Decimal, 0, nomina.Otros), Conexiones.MakeParam("@Cedula", SqlDbType.VarChar, 0, nomina.Cedula) }; return(Convert.ToInt32(Conexiones.ExecuteScalar("_Nuevo_Detalle_Nomina_", dbparametro))); }
public ActionResult CreateDetalle(DetalleNomina detalleNomina, OtroIngresoEgreso[] otroIngreso) { try { int IdDetalle = 0; bool isUpdate = false; using (var dbContext = new ConfortexEntities()) { if (detalleNomina.IdDetalleNomina == 0) { IdDetalle = db.DetalleNomina.Max(w => w.IdDetalleNomina) + 1; dbContext.sp_GestionarDetalleNomina(IdDetalle, detalleNomina.IdNomina, detalleNomina.IdEmpleado, detalleNomina.Ajuste, detalleNomina.Transporte, detalleNomina.HorasExtra, detalleNomina.Ausencia, detalleNomina.MinutosTarde, detalleNomina.Prestamo, detalleNomina.INSS, clsReferencias.INSERT); } else { IdDetalle = detalleNomina.IdDetalleNomina; dbContext.sp_GestionarDetalleNomina(detalleNomina.IdDetalleNomina, detalleNomina.IdNomina, detalleNomina.IdEmpleado, detalleNomina.Ajuste, detalleNomina.Transporte, detalleNomina.HorasExtra, detalleNomina.Ausencia, detalleNomina.MinutosTarde, detalleNomina.Prestamo, detalleNomina.INSS, clsReferencias.UPDATE); isUpdate = true; } } if (isUpdate) { List <OtroIngresoEgreso> otros = db.OtroIngresoEgreso.Where(w => w.IdDetalleNomina == IdDetalle).ToList(); OtroIngresoEgreso oie = null; if (otroIngreso != null) { for (int i = 0; i < otroIngreso.Length; i++) { if (otroIngreso[i].IdOtroIngresoEgreso == 0) { otroIngreso[i].IdDetalleNomina = IdDetalle; otroIngreso[i].FechaCreacion = System.DateTime.Now; db.OtroIngresoEgreso.Add(otroIngreso[i]); } else { oie = db.OtroIngresoEgreso.Find(otroIngreso[i].IdOtroIngresoEgreso); oie.Concepto = otroIngreso[i].Concepto; oie.Monto = otroIngreso[i].Monto; db.Entry(oie).State = EntityState.Modified; otros = otros.Where(w => w.IdOtroIngresoEgreso != oie.IdOtroIngresoEgreso).ToList(); } } db.SaveChanges(); } foreach (OtroIngresoEgreso o in otros) { oie = db.OtroIngresoEgreso.Find(o.IdOtroIngresoEgreso); oie.regAnulado = true; db.Entry(oie).State = EntityState.Modified; } db.SaveChanges(); } else { if (otroIngreso != null) { for (int i = 0; i < otroIngreso.Length; i++) { otroIngreso[i].IdDetalleNomina = IdDetalle; otroIngreso[i].FechaCreacion = System.DateTime.Now; db.OtroIngresoEgreso.Add(otroIngreso[i]); } } db.SaveChanges(); } return(Json(new { Message = clsReferencias.Exito })); } catch (Exception ex) { return(Json(new { Message = new clsException(ex).Message() })); } }
public ActionResult <GenericApiResponse <object> > GuardarNomina(int tipo, [FromBody] DateTime date) { if (date == null) { return(this.HandleBadRequest("Fecha invalida", "")); } var nominas = Nomina(date, tipo); var culture = new CultureInfo("es-GT"); var mes = date.ToString("MMMM", culture); var nomina = new Nomina { Fecha = date, Mes = char.ToUpper(mes[0]) + mes.Substring(1) }; nomina.DetallesNomina = new Collection <DetalleNomina>(); switch (tipo) { case 0: nomina.Descripcion = "Mensual"; break; case 1: nomina.Descripcion = "Bono 14"; break; case 2: nomina.Descripcion = "Aguinaldo"; break; } int i = 0; foreach (var n in nominas) { i++; var detalle = new DetalleNomina(); detalle.Id = i; detalle.Nomina = nomina; detalle.SueldoBruto = n.SueldoBruto; detalle.SueldoLiquido = n.SueldoNeto; detalle.SueldoExtraordinario = n.HorasExtras; detalle.Id_Empleado = n.IdEmpleado; detalle.Detalles_Descuento = new Collection <Detalle_Descuento>(); int j = 0; foreach (var d in n.Descuentos) { j++; var descuento = new Detalle_Descuento(); descuento.Id = j; descuento.DetalleNomina = detalle; descuento.Id_Descuento = d.Id; descuento.Monto = d.Valor; detalle.Detalles_Descuento.Add(descuento); } nomina.DetallesNomina.Add(detalle); } contexto.Nomina.Add(nomina); contexto.SaveChanges(); return(this.HandleOKNoData()); }