//TODO:13/09 Arreglar bug,si cambio de lugar un concepto y despues le cambios las unidades, se rompe. Revisar porque los decimales son 3 y no redondea. private void ModificarUnidades() { string promptValue = Prompt.ShowDialog("Cantidad:", "Modificar unidades:"); if (promptValue != "") { int SearchedCode = Convert.ToInt32(dgvDetalles.CurrentRow.Cells[12].Value); int currentRowIndex = dgvDetalles.CurrentRow.Index; DataRow row = dtDgvDetalles.AsEnumerable().Where(x => Convert.ToInt32(x["codigoConceptoPorEmpresa"]) == SearchedCode).First(); row["unidades"] = promptValue; dtDgvDetalles.AcceptChanges(); dtXML = dtDgvDetalles.Copy(); ManejoDeRecibo.CalcularTabla(dtXML); dtDgvDetalles.Columns.Clear(); dtDgvDetalles.Rows.Clear(); DibujarTablaLiquidar(); ManejoDeRecibo.CalcularTotales(dtXML, dgvDetalles, lblRemInfo, lblNoRemInfo, lblDeduccionesInfo, lblNetoInfo); ModificarCeldasHaberDeduccion(); dgvDetalles.Rows[currentRowIndex].Selected = true; } }
private void btnAbrirMenu_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { currentFilePath = openFileDialog1.FileName; try { customXML = ManejoXML.CargarXmlReciboBuilderMINI(currentFilePath); var root = customXML.SelectSingleNode("//A_liq"); foreach (XmlNode node in root.ChildNodes) { switch (node.Name) { case "A_liq_año": cboAño.SelectedItem = node.InnerText.ToString(); break; case "A_liq_mes": cboMes.SelectedItem = node.InnerText.ToString(); break; case "A_liq_quincena": cboQuincena.SelectedItem = node.InnerText.ToString(); break; case "A_liq_Puesto": tbxPuesto.Text = node.InnerText.ToString(); break; case "A_liq_Convenio": tbxConvenio.Text = node.InnerText.ToString(); break; case "A_liq_Detalles": RecuperarConceptosXml(node); break; } } ManejoDeRecibo.CalcularReciboMini(dtDetalle, lblRem, lblNoRem, lblDeducciones, lblNeto, tbxLinea2); btnImprimirMenu.Enabled = true; btnBorrar.Enabled = true; btnGuardarComoMenu.Enabled = true; openFileDialog1.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
//Agrega el SAC a la lista. private void btnAceptar_Click(object sender, EventArgs e) { string code = tbxCode.Text; string desc = tbxDescripcion.Text; string value; if (optSAC.Checked) { value = lblAbonar.Text; } else { value = lblAbonarProp.Text; } Label th_rem = screenLiquidar.lblRemInfo; Label th_norem = screenLiquidar.lblNoRemInfo; Label tded = screenLiquidar.lblDeduccionesInfo; Label tneto = screenLiquidar.lblNetoInfo; DataRow dtXMLNewRow = screenLiquidar.dtXML.NewRow(); DataRow dtDgvDetallesNewRow = screenLiquidar.dtDgvDetalles.NewRow(); dtDgvDetallesNewRow["codigo"] = code; dtDgvDetallesNewRow["descripcion"] = desc; dtDgvDetallesNewRow["hab_fijo"] = value; dtDgvDetallesNewRow["tipo"] = "RM"; dtDgvDetallesNewRow["modo"] = "hab_fijo"; dtDgvDetallesNewRow["unidades"] = "1"; dtDgvDetallesNewRow["codigoConceptoPorEmpresa"] = -10; screenLiquidar.dtDgvDetalles.Rows.Add(dtDgvDetallesNewRow); dtXMLNewRow["codigo"] = code; dtXMLNewRow["descripcion"] = desc; dtXMLNewRow["hab_fijo"] = value; dtXMLNewRow["tipo"] = "RM"; dtXMLNewRow["modo"] = "hab_fijo"; dtXMLNewRow["unidades"] = "1"; dtXMLNewRow["codigoConceptoPorEmpresa"] = -10; screenLiquidar.dtXML.Rows.Add(dtXMLNewRow); ManejoDeRecibo.CalcularTabla(screenLiquidar.dtDgvDetalles); screenLiquidar.DibujarTablaLiquidar(); ManejoDeRecibo.CalcularTotales(screenLiquidar.dtDgvDetalles, screenLiquidar.dgvDetalles, th_rem, th_norem, tded, tneto); screenLiquidar.ModificarCeldasHaberDeduccion(); Close(); }
public void cboQuincena_SelectedIndexChanged(object sender, EventArgs e) { if (cboQuincena.SelectedIndex != -1) { ManejoDeRecibo.CargarQuincena(XMLDocumento, dtXML, dgvDetallesRecibo, cboMes, cboQuincena, btnEditar, btnImprimir, btnLiquidar, lblHaberesRemInfo, lblHaberesNoRemInfo, lblDeduccionInfo, lblNetoInfo, lblFechaLiquidacionInfo, lblFechaDepositoInfo, lblOcupacionInfo, lblTipoSalarioInfo, null, null, ref tempBanco, ref tempConvenio, false, isSalarioMensual); btnLiquidar.Enabled = _legajo.TipoSalario == "Mensual" ? false : true; } else { btnLiquidar.Enabled = false; } }
public void Liquidar_Load(object sender, EventArgs e) { try { if (!isEditMode) { IniciarLiquidacion(); DibujarTablaLiquidar(); ManejoDeRecibo.CalcularTabla(dtDgvDetalles); ManejoDeRecibo.CalcularTotales(dtDgvDetalles, dgvDetalles, lblRemInfo, lblNoRemInfo, lblDeduccionesInfo, lblNetoInfo); ModificarCeldasHaberDeduccion(); dgvDetalles.ClearSelection(); } else { this.Text = "Editar liquidación"; btnAgregar.Visible = false; btnEditar.Visible = false; btnQuitar.Visible = false; herramientasToolStripMenuItem.Visible = false; liquidaciónToolStripMenuItem.Visible = true; dtXML = screenReciboBuilder.dtXML.Copy(); dtpFechaDeposito.Value = Convert.ToDateTime(screenReciboBuilder.lblFechaDepositoInfo.Text); dtpFechaLiquidacion.Value = Convert.ToDateTime(screenReciboBuilder.lblFechaLiquidacionInfo.Text); DibujarTablaLiquidar(); ManejoDeRecibo.CalcularTabla(dtDgvDetalles); ManejoDeRecibo.CalcularTotales(dtDgvDetalles, dgvDetalles, lblRemInfo, lblNoRemInfo, lblDeduccionesInfo, lblNetoInfo); ModificarCeldasHaberDeduccion(); dgvDetalles.ClearSelection(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnBorrarr_Click(object sender, EventArgs e) { string codigo = dgvDetalle.CurrentRow.Cells[0].Value.ToString(); DataRow[] rows; rows = dtDetalle.Select("Codigo='" + codigo + "'"); foreach (DataRow r in rows) { r.Delete(); } dgvDetalle.Refresh(); ManejoDeRecibo.CalcularReciboMini(dtDetalle, lblRem, lblNoRem, lblDeducciones, lblNeto, tbxLinea2); if (dgvDetalle.Rows.Count < 1) { btnGuardarMenu.Enabled = false; btnGuardarComoMenu.Enabled = false; btnBorrar.Enabled = false; btnImprimirMenu.Enabled = false; } }
private void BtnGuardar_Click(object sender, EventArgs e) { try { string curFile = _legajo.CurrentUserXmlFolder + añoSelected + ".xml"; double haberRemunerativo = Convert.ToDouble(lblRemInfo.Text.Replace("$", "")); double haberNoRemunerativo = Convert.ToDouble(lblNoRemInfo.Text.Replace("$", "")); double haberDeducciones = Convert.ToDouble(lblDeduccionesInfo.Text.Replace("$", "")); double saldoNeto = (haberRemunerativo + haberNoRemunerativo) - haberDeducciones; string fechaLiquidacion = dtpFechaLiquidacion.Text; string fechaDeposito = dtpFechaDeposito.Text; DataTable tablaOrdenada = DataGridViewADataTableOrdenada(); ManejoXML.GuardarXML(screenReciboBuilder.XMLDocumento, tablaOrdenada, _legajo.PuestoRecibo, _legajo.Banco, _legajo.Convenio, fechaLiquidacion, fechaDeposito, mesSelected, curFile, saldoNeto, isSalarioMensual, screenReciboBuilder.cboQuincena.Text, isEditMode); saveBtn = true; Close(); ManejoDeRecibo.CalcularTabla(tablaOrdenada); ManejoDeRecibo.DrawTabla(tablaOrdenada, screenReciboBuilder.dgvDetallesRecibo, true); ManejoDeRecibo.CalcularTotales(tablaOrdenada, screenReciboBuilder.dgvDetallesRecibo, screenReciboBuilder.lblHaberesRemInfo, screenReciboBuilder.lblHaberesNoRemInfo, screenReciboBuilder.lblDeduccionInfo, screenReciboBuilder.lblNetoInfo); if (isSalarioMensual) { screenReciboBuilder.cboMes_SelectedIndexChanged(null, EventArgs.Empty); } else { screenReciboBuilder.cboQuincena_SelectedIndexChanged(null, EventArgs.Empty); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void conceptos_FormClosing(object sender, FormClosingEventArgs e) { if (!IsModoEditar) { Index.Enabled = true; Index.Visible = true; if (Index.GetType() == typeof(Principal)) { (this.MdiParent as Principal).ActivarBotonesTS(); } } else { ManejoDeRecibo.CalcularTabla(ScreenLiquidar.dtXML); ManejoDeRecibo.DrawTabla(ScreenLiquidar.dtXML, ScreenLiquidar.dgvDetalles, true); ManejoDeRecibo.CalcularTotales(ScreenLiquidar.dtXML, ScreenLiquidar.dgvDetalles, ScreenLiquidar.lblRemInfo, ScreenLiquidar.lblNoRemInfo, ScreenLiquidar.lblDeduccionesInfo, ScreenLiquidar.lblNetoInfo); ScreenLiquidar.Visible = true; } }
private void EliminarConcepto(DataRow dtXmlRow, DataRow dgvDtDetallesRow) { List <string> listaConceptosEnUso = VerificarConceptoEnUso(dtXmlRow); listaConceptosEnUso.AddRange(VerificarConceptoEnUso(dtXmlRow)); listaConceptosEnUso = listaConceptosEnUso.Distinct().ToList(); if (listaConceptosEnUso.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append("No se puede eliminar concepto porque es parte de la formula de los siguientes conceptos:\n\n"); for (int i = 0; i < listaConceptosEnUso.Count; i++) { sb.Append(String.Format("- {0}\n", listaConceptosEnUso[i])); } sb.Append("\nPara eliminarlo debe primero eliminar los conceptos listados."); MessageBox.Show(Convert.ToString(sb), "Eliminar concepto: " + Convert.ToString(dtXmlRow["descripcion"])); return; } dtXML.Rows.Remove(dtXmlRow); dtXML.AcceptChanges(); dtDgvDetalles.Rows.Remove(dgvDtDetallesRow); dtDgvDetalles.AcceptChanges(); dgvDetalles.Refresh(); ManejoDeRecibo.CalcularTabla(dtXML); DibujarTablaLiquidar(); ManejoDeRecibo.CalcularTotales(dtXML, dgvDetalles, lblRemInfo, lblNoRemInfo, lblDeduccionesInfo, lblNetoInfo); ModificarCeldasHaberDeduccion(); }
private void IniciarLiquidacion() { string fechaLiquidacion = ManejoDeRecibo.GenerarFechaLiquidacion(mesSelected, quincenaSelected, añoSelected, isSalarioMensual); try { var confirmResult = MessageBox.Show("¿Desea generar la liquidación en base al recibo de sueldo del mes anterior?", "Generación de liquidación", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { dtXML = ManejoDeRecibo.Liquidar(UsuarioSingleton.Instance.UserFolder, _empresa.codigoEmpresa, _legajo.NumeroLegajo, screenReciboBuilder.XMLDocumento, isSalarioMensual, _empresa.CuitEmpresa, añoSelected, mesSelected, quincenaSelected, _legajo.EmpleadoCUIL, _empresa.NombreEmpresa, false); } else { dtXML = ManejoDeRecibo.Liquidar(UsuarioSingleton.Instance.UserFolder, _empresa.codigoEmpresa, _legajo.NumeroLegajo, screenReciboBuilder.XMLDocumento, isSalarioMensual, _empresa.CuitEmpresa, añoSelected, mesSelected, quincenaSelected, _legajo.EmpleadoCUIL, _empresa.NombreEmpresa, true); } dtpFechaLiquidacion.Value = DateTime.Parse(fechaLiquidacion); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void cboMes_SelectedIndexChanged(object sender, EventArgs e) { if (cboMes.SelectedIndex != -1) { string rta = ManejoDeRecibo.CargarMes(XMLDocumento, dtXML, dgvDetallesRecibo, cboMes, cboQuincena, btnEditar, btnImprimir, btnLiquidar, lblHaberesRemInfo, lblHaberesNoRemInfo, lblDeduccionInfo, lblNetoInfo, lblFechaLiquidacionInfo, lblFechaDepositoInfo, lblOcupacionInfo, lblTipoSalarioInfo, null, null, ref tempBanco, ref tempConvenio, false, isSalarioMensual); switch (rta) { case "nuevo": isSalarioMensual = _legajo.TipoSalario.Equals("Mensual") ? true : false; if (isSalarioMensual) { cboQuincena.Enabled = false; cboQuincena.SelectedIndex = -1; } else { cboQuincena.Enabled = true; } btnLiquidar.Enabled = true; break; case "salarioMensual": isSalarioMensual = true; break; case "salarioQuincenal": isSalarioMensual = false; break; } } }
private void btnAgregarr_Click(object sender, EventArgs e) { DataRow ConceptoRow = dtDetalle.NewRow(); string codigo = tbxCodigo.Text; string descripcion = tbxDescripcion.Text; string valor = tbxValor.Text; string porcentaje = tbxPorcentaje.Text; string tipo; double valueDouble = double.Parse(valor); ConceptoRow["Codigo"] = "\"" + codigo.ToUpper() + "\""; ConceptoRow["Descripcion"] = descripcion; ConceptoRow["Porcentaje"] = porcentaje; if (codigo == " " || codigo.Length == 0 || descripcion == " " || descripcion.Length == 0 || valor == " " || valor.Length == 0) { MessageBox.Show("Error: Asegurese de que todos los campos esten llenos."); return; } else { if (optHabRem.Checked) { tipo = "RM"; ConceptoRow["Haberes"] = Math.Round(valueDouble, 2).ToString(); } else if (optHabNoRem.Checked) { tipo = "NRM"; ConceptoRow["Haberes"] = Math.Round(valueDouble, 2).ToString(); } else if (optDeduccion.Checked) { tipo = "DED"; ConceptoRow["Deducciones"] = Math.Round(valueDouble, 2).ToString(); } else { MessageBox.Show("Error: Debe seleccionar el tipo de concepto."); return; } } ConceptoRow["Tipo"] = tipo; dtDetalle.Rows.Add(ConceptoRow); dgvDetalle.Refresh(); dtDetalle.DefaultView.Sort = "Tipo DESC"; tbxCodigo.Clear(); tbxDescripcion.Clear(); tbxValor.Clear(); tbxPorcentaje.Clear(); optHabRem.Checked = false; optHabNoRem.Checked = false; optDeduccion.Checked = false; ManejoDeRecibo.CalcularReciboMini(dtDetalle, lblRem, lblNoRem, lblDeducciones, lblNeto, tbxLinea2); if (dgvDetalle.Rows.Count > 0) { btnGuardarMenu.Enabled = true; btnGuardarComoMenu.Enabled = true; btnBorrar.Enabled = true; btnImprimirMenu.Enabled = true; } else { btnGuardarMenu.Enabled = false; btnGuardarComoMenu.Enabled = false; btnBorrar.Enabled = false; btnImprimirMenu.Enabled = false; } }
private void btnAceptar_Click(object sender, EventArgs e) { try { Label th_rem = Liquidar_scrn.lblRemInfo; Label th_norem = Liquidar_scrn.lblNoRemInfo; Label tded = Liquidar_scrn.lblDeduccionesInfo; Label tneto = Liquidar_scrn.lblNetoInfo; DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView; DataRow dr = drv.Row; List <DataRow> listaConceptosFormula = RecuperarConceptosFormula(dr); foreach (DataRow row in listaConceptosFormula) { DataRow dtDgvDetallesNewRow = Liquidar_scrn.dtDgvDetalles.NewRow(); DataRow dtXMLNewRow = Liquidar_scrn.dtXML.NewRow(); dtDgvDetallesNewRow["codigo"] = Convert.ToString(row["codigo"]); dtDgvDetallesNewRow["descripcion"] = Convert.ToString(row["descripcion"]); dtDgvDetallesNewRow["hab_fijo"] = Convert.ToString(row["hab_fijo"]); dtDgvDetallesNewRow["hab_porc"] = Convert.ToString(row["hab_porc"]); dtDgvDetallesNewRow["ded_fijo"] = Convert.ToString(row["ded_fijo"]); dtDgvDetallesNewRow["ded_porc"] = Convert.ToString(row["ded_porc"]); dtDgvDetallesNewRow["tipo"] = Convert.ToString(row["tipo"]); dtDgvDetallesNewRow["modo"] = Convert.ToString(row["modo"]); dtDgvDetallesNewRow["formula_porc"] = Convert.ToString(row["formula_porc"]); dtDgvDetallesNewRow["unidades"] = (Convert.ToInt32(row["codigoConceptoPorEmpresa"]) == Convert.ToInt32(dr["codigoConceptoPorEmpresa"])) ? tbxUnidades.Text : "1"; dtDgvDetallesNewRow["codigoConceptoPorEmpresa"] = Convert.ToString(row["codigoConceptoPorEmpresa"]); Liquidar_scrn.dtDgvDetalles.Rows.Add(dtDgvDetallesNewRow); dtXMLNewRow["codigo"] = Convert.ToString(row["codigo"]); dtXMLNewRow["descripcion"] = Convert.ToString(row["descripcion"]); dtXMLNewRow["hab_fijo"] = Convert.ToString(row["hab_fijo"]); dtXMLNewRow["hab_porc"] = Convert.ToString(row["hab_porc"]); dtXMLNewRow["ded_fijo"] = Convert.ToString(row["ded_fijo"]); dtXMLNewRow["ded_porc"] = Convert.ToString(row["ded_porc"]); dtXMLNewRow["tipo"] = Convert.ToString(row["tipo"]); dtXMLNewRow["modo"] = Convert.ToString(row["modo"]); dtXMLNewRow["formula_porc"] = Convert.ToString(row["formula_porc"]); dtXMLNewRow["unidades"] = (Convert.ToInt32(row["codigoConceptoPorEmpresa"]) == Convert.ToInt32(dr["codigoConceptoPorEmpresa"])) ? tbxUnidades.Text : "1"; dtXMLNewRow["codigoConceptoPorEmpresa"] = Convert.ToString(row["codigoConceptoPorEmpresa"]); Liquidar_scrn.dtXML.Rows.Add(dtXMLNewRow); } Liquidar_scrn.dtDgvDetalles.AcceptChanges(); Liquidar_scrn.dtXML.AcceptChanges(); ManejoDeRecibo.CalcularTabla(Liquidar_scrn.dtDgvDetalles); Liquidar_scrn.DibujarTablaLiquidar(); ManejoDeRecibo.CalcularTotales(Liquidar_scrn.dtDgvDetalles, Liquidar_scrn.dgvDetalles, th_rem, th_norem, tded, tneto); Liquidar_scrn.ModificarCeldasHaberDeduccion(); Close(); } catch (Exception error) { MessageBox.Show("Error: " + error.Message); } }