Beispiel #1
0
        //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;
            }
        }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
0
        //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();
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #6
0
        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;
            }
        }
Beispiel #7
0
        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);
            }
        }
Beispiel #8
0
        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;
            }
        }
Beispiel #9
0
        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();
        }
Beispiel #10
0
        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);
            }
        }
Beispiel #11
0
        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;
                }
            }
        }
Beispiel #12
0
        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);
            }
        }