Beispiel #1
0
        private void btnModificar_Click(object sender, EventArgs e)
        {
            string _Message = "";

            _Message = ((cmbAnio.SelectedIndex == 0) ? "- Debe seleccionar el año de la plantilla" : "");
            if (_Message.Length > 0)
            {
                MessageBox.Show(_Message, "Información Faltante", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            _Message = ((cmbTipo.SelectedIndex == 0) ? "- Debe seleccionar un tipo de plantilla" : "");
            if (_Message.Length > 0)
            {
                MessageBox.Show(_Message, "Información Faltante", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            int           Row           = DtComprobaciones.CurrentCell.RowIndex;
            int           IDcompro      = Convert.ToInt32(DtComprobaciones.Rows[Row].Cells[0].Value.ToString());
            oComprobacion _Comprobacion = _Comprobaciones.Where(o => o.IdComprobacion == IDcompro).FirstOrDefault();

            if (_Comprobacion.AdmiteCambios == 0)
            {
                MessageBox.Show("La fórmula no puede ser modificada ya que es un cálculo de " + cmbTipo.Text, "Modificar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            ActualizarComprobacion _ActualizarComprobacion = new ActualizarComprobacion(IDcompro, _Comprobacion, cmbTipo.SelectedIndex, "M", (int)cmbAnio.SelectedValue);

            _ActualizarComprobacion.Text  = "Modificar comprobación aritmetica";
            _ActualizarComprobacion._Form = this;
            _ActualizarComprobacion.ShowDialog();
            CargaDTComprobaciones();
        }
        public ActualizarComprobacion(int IdCruce, oComprobacion _Comprobacion, int IDPlantilla, string Accion, int _Year)
        {
            InitializeComponent();

            txtNro.Text    = IdCruce.ToString();
            _iYear         = _Year;
            _oComprobacion = _Comprobacion;
            if (_Comprobacion != null)
            {
                txtConcepto.Text = _Comprobacion.Concepto;
                string[] Formula = _Comprobacion.Formula.Split('=');
                txtcelda.Text     = Formula[0];
                txtformula.Text   = Formula[1];
                txtCondicion.Text = _Comprobacion.Condicion;
                if (txtCondicion.Text.Trim() != "")
                {
                    txtCondicion.ReadOnly  = false;
                    chkCondicionar.Checked = true;
                }
                txtNota.Text = _Comprobacion.Nota;
            }
            accion = Accion;

            TpPlantilla = IDPlantilla;
        }
 public lComprobacionesAdmin(oComprobacion _Template, string accion) : base(_Template)
 {
     Template = _Template;
     if ((accion == "A") || (accion == "M"))
     {
         if (Template.IdTipoPlantilla == 0)
         {
             _Messages.Add("Debe seleccionar un tipo.");
         }
         if (string.IsNullOrEmpty(Template.Concepto) || string.IsNullOrWhiteSpace(Template.Concepto))
         {
             _Messages.Add("Debe seleccionar un concepto.");
         }
         if (string.IsNullOrEmpty(Template.Formula) || string.IsNullOrWhiteSpace(Template.Formula))
         {
             _Messages.Add("Debe seleccionar un fórmula.");
         }
     }
 }
 public aComprobacionesAdmin(oComprobacion _Template) : base()
 {
 }
Beispiel #5
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            bool   _Connection = new lSerializados().CheckConnection(Configuration.UrlConnection);
            string _Message    = "No existe conexión con el servidor de datos... Contacte a un Administrador de Red para ver las opciones de conexión.";
            string _Title      = "Conexión de Red";

            if (_Connection)
            {
                int           Row           = DtComprobaciones.CurrentCell.RowIndex;
                int           IDcompro      = Convert.ToInt32(DtComprobaciones.Rows[Row].Cells[0].Value.ToString());
                oComprobacion _Comprobacion = _Comprobaciones.Where(o => o.IdComprobacion == IDcompro).FirstOrDefault();
                DialogResult  dialogo       = MessageBox.Show("Desea eliminar fórmula número " + IDcompro.ToString() + "?",
                                                              "Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (dialogo == DialogResult.Yes)
                {
                    _Message = ((cmbTipo.SelectedIndex == 0) ? "- Debe seleccionar un tipo de plantilla" : "");
                    if (_Message.Length > 0)
                    {
                        MessageBox.Show(_Message, "Información Faltante", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (_Comprobacion.AdmiteCambios == 0)
                    {
                        MessageBox.Show("La fórmula no puede ser eliminada ya que es un cálculo de " + cmbTipo.Text, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    DialogResult _response = DialogResult.None;

                    oComprobacion _Template = new oComprobacion()
                    {
                        IdComprobacion  = IDcompro,
                        IdTipoPlantilla = cmbTipo.SelectedIndex,
                        Concepto        = "",
                        Formula         = "",
                        Condicion       = "",
                        Nota            = ""
                    };
                    KeyValuePair <bool, string[]> _result = new lComprobacionesAdmin(_Template, "E").Delete();
                    string _Messages = "";
                    foreach (string _Msg in _result.Value)
                    {
                        _Messages += ((_Messages.Length > 0) ? "\r\n" : "") + _Msg;
                    }
                    if (_result.Key && _response != DialogResult.Yes)
                    {
                        _Messages = "Fórmula eliminada con éxito";
                    }
                    MessageBox.Show(_Messages, (_result.Key) ? "Proceso Existoso" : "Información Faltante", MessageBoxButtons.OK, (_result.Key) ? MessageBoxIcon.Information : MessageBoxIcon.Exclamation);

                    if (_result.Key)
                    {
                        string       _Path      = Configuration.Path;
                        oPlantilla[] _Templates = Assembler.LoadJson <oPlantilla[]>($"{_Path}\\jsons\\Plantillas.json");
                        oPlantilla   _Temp      = _Templates.FirstOrDefault(o => o.IdTipoPlantilla == _Template.IdTipoPlantilla && o.Anio == (int)cmbAnio.SelectedValue);

                        //Libro Actual de Excel.
                        Excel.Worksheet xlSht;
                        Excel.Workbook  wb         = Globals.ThisAddIn.Application.ActiveWorkbook;
                        string[]        Formula    = _Comprobacion.Formula.Split('=');
                        string[]        _celdaBase = Formula[0].Replace("[", "").Replace("]", "").Split(',');
                        string[]        _celdaFin  = Formula[1].Replace("[", "").Replace("]", "").Split(',');
                        Excel.Range     _RangeO;
                        Excel.Range     _RangeR;

                        xlSht = (Excel.Worksheet)wb.Worksheets.get_Item(_celdaBase[0]);
                        for (int a = 1; a < 1000; a++)
                        {
                            _RangeO = (Excel.Range)xlSht.get_Range($"A" + a.ToString());

                            if (_RangeO != null)
                            {
                                if (_RangeO.Value.ToString() == _celdaBase[1])
                                {
                                    _RangeR              = (Excel.Range)xlSht.get_Range($"{Generales.ColumnAdress(Int32.Parse(_celdaBase[2]))}" + a.ToString());
                                    _RangeR.Formula      = "";
                                    _RangeR.Value        = "";
                                    _RangeR.NumberFormat = "@";
                                    _RangeR.Value2       = "";

                                    a = 1001;
                                }
                            }
                        }
                        FileJson(_Temp, cmbTipo.SelectedIndex.ToString());
                        this.Hide();
                    }
                }
            }
            else
            {
                MessageBox.Show(_Message, _Title, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #6
0
        /// <summary>
        /// Carga el Grid 2-Formulas y la descripción de la misma segun el click que haga el usuario en el Grid  1- comprobaciones
        /// </summary>
        /// <param name="Row"></param>
        private void ComprobacionesCLick(int Row)
        {
            try
            {
                if (Row >= 0)
                {
                    int IDComp = Convert.ToInt32(DtComprobaciones.Rows[Row].Cells[0].Value.ToString());
                    int IdTp   = Convert.ToInt32(cmbTipo.SelectedValue);

                    Workbook      wb            = Globals.ThisAddIn.Application.ActiveWorkbook;
                    Range         currentCell   = null;
                    Range         currentFind   = null;
                    Worksheet     xlSht         = null;
                    oComprobacion _Comprobacion = _Comprobaciones.Where(o => o.IdComprobacion == IDComp).FirstOrDefault();
                    _Comprobacion.setCeldas();
                    List <oCelda> CeldaNws = new List <oCelda>();
                    foreach (oCelda _Celda in _Comprobacion.Celdas)
                    {
                        xlSht = wb.Worksheets[_Comprobacion.Destino.Anexo];
                        int _maxValue = xlSht.UsedRange.SpecialCells(XlCellType.xlCellTypeLastCell).Row;

                        currentCell = (Range)xlSht.get_Range("A1", "A" + (_maxValue).ToString());
                        currentFind = currentCell.Find(_Celda.Indice, Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlPart,
                                                       XlSearchOrder.xlByRows, XlSearchDirection.xlNext, false,
                                                       Type.Missing, Type.Missing);

                        _Celda.Fila = currentFind.Row;

                        currentCell = (Range)xlSht.Cells[_Celda.Fila, 2];
                        if (currentCell.get_Value(Type.Missing) != null)
                        {
                            _Celda.Concepto = currentCell.get_Value(Type.Missing).ToString();
                        }
                        else
                        {
                            _Celda.Concepto = "";
                        }

                        CeldaNws.Add(_Celda);
                    }
                    var _FormulaI = (
                        from x in CeldaNws
                        select new
                    {
                        Anexo = x.Anexo,
                        Indice = x.Indice,
                        x.Concepto,
                        Col = Generales.ColumnAdress(x.Columna),
                        CodSAT = ""
                    }
                        ).ToList();

                    DtFormula.DataSource = ToDataTable(_FormulaI);
                    txtDetalle.Text      = "Fórmula: " + _Comprobacion.Formula;
                }
                else
                {
                    DtFormula.DataSource = null;
                    txtDetalle.Text      = "";
                }
            }
            catch
            {
                this.Hide();
                MessageBox.Show("Archivo no válido, favor de generar el archivo mediante el AddIn D.SAT", "Información Incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btguardar_Click(object sender, EventArgs e)
        {
            bool   _Connection = new lSerializados().CheckConnection(Configuration.UrlConnection);
            string _Message    = "No existe conexión con el servidor de datos... Contacte a un Administrador de Red para ver las opciones de conexión.";
            string _Title      = "Conexión de Red";

            if (_Connection)
            {
                _Message  = (txtConcepto.Text.Trim() == "") ? "- Debe indicar concepto." : "";
                _Message += (txtcelda.Text.Trim() == "") ? ((_Message.Length > 0) ? "\r\n" : "") + "- Debe indicar celda." : "";
                _Message += (txtformula.Text.Trim() == "") ? ((_Message.Length > 0) ? "\r\n" : "") + "- Debe indicar fórmula." : "";
                _Message += (chkCondicionar.Checked && txtCondicion.Text.Trim() == "") ? ((_Message.Length > 0) ? "\r\n" : "") + "- Debe indicar condición." : "";

                if (_Message.Length > 0)
                {
                    MessageBox.Show(_Message, "Información Faltante", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                DialogResult _response = DialogResult.None;
                string       Formulax  = (txtcelda.Text + "=" + txtformula.Text);
                string       condicion = "";

                if (chkCondicionar.Checked)
                {
                    condicion = txtCondicion.Text;
                }


                oComprobacion _Template = new oComprobacion()
                {
                    IdComprobacion  = Convert.ToInt32(txtNro.Text),
                    IdTipoPlantilla = TpPlantilla,//buscar
                    Concepto        = txtConcepto.Text,
                    Formula         = Formulax,
                    Condicion       = condicion,
                    Nota            = txtNota.Text,
                };

                if (accion == "A")
                {
                    KeyValuePair <bool, string[]> _result = new lComprobacionesAdmin(_Template, accion).Add();

                    string _Messages = "";
                    foreach (string _Msg in _result.Value)
                    {
                        _Messages += ((_Messages.Length > 0) ? "\r\n" : "") + _Msg;
                    }
                    if (_result.Key && _response != DialogResult.Yes)
                    {
                        _Messages = "Comprobación agregada con éxito";
                    }
                    MessageBox.Show(_Messages, (_result.Key) ? "Proceso Existoso" : "Información Faltante", MessageBoxButtons.OK, (_result.Key) ? MessageBoxIcon.Information : MessageBoxIcon.Exclamation);
                    if (_result.Key)
                    {
                        this.Hide();
                    }
                }
                else
                if (accion == "M")
                {
                    KeyValuePair <bool, string[]> _result = new lComprobacionesAdmin(_Template, accion).Update();

                    string _Messages = "";
                    foreach (string _Msg in _result.Value)
                    {
                        _Messages += ((_Messages.Length > 0) ? "\r\n" : "") + _Msg;
                    }
                    if (_result.Key && _response != DialogResult.Yes)
                    {
                        _Messages = "Comprobación modificada con éxito";
                    }
                    MessageBox.Show(_Messages, (_result.Key) ? "Proceso Existoso" : "Información Faltante", MessageBoxButtons.OK, (_result.Key) ? MessageBoxIcon.Information : MessageBoxIcon.Exclamation);
                    if (_result.Key)
                    {
                        this.Hide();
                    }
                }
            }
            else
            {
                MessageBox.Show(_Message, _Title, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btguardar_Click(object sender, EventArgs e)
        {
            bool   _Connection = new lSerializados().CheckConnection(Configuration.UrlConnection);
            string _Message    = "No existe conexión con el servidor de datos... Contacte a un Administrador de Red para ver las opciones de conexión.";
            string _Title      = "Conexión de Red";

            if (_Connection)
            {
                _Message  = (txtConcepto.Text.Trim() == "") ? "- Debe indicar concepto." : "";
                _Message += (txtcelda.Text.Trim() == "") ? ((_Message.Length > 0) ? "\r\n" : "") + "- Debe indicar celda." : "";
                _Message += (txtformula.Text.Trim() == "") ? ((_Message.Length > 0) ? "\r\n" : "") + "- Debe indicar fórmula." : "";
                _Message += (chkCondicionar.Checked && txtCondicion.Text.Trim() == "") ? ((_Message.Length > 0) ? "\r\n" : "") + "- Debe indicar condición." : "";

                if (_Message.Length > 0)
                {
                    MessageBox.Show(_Message, "Información Faltante", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                DialogResult _response = DialogResult.None;
                string       Formulax  = (txtcelda.Text + "=" + txtformula.Text);
                string       condicion = "";

                if (chkCondicionar.Checked)
                {
                    condicion = txtCondicion.Text;
                }


                oComprobacion _Template = new oComprobacion()
                {
                    IdComprobacion  = Convert.ToInt32(txtNro.Text),
                    IdTipoPlantilla = TpPlantilla,//buscar
                    Concepto        = txtConcepto.Text,
                    Formula         = Formulax,
                    Condicion       = condicion,
                    Nota            = txtNota.Text,
                };

                if (accion == "A")
                {
                    KeyValuePair <bool, string[]> _result = new lComprobacionesAdmin(_Template, accion).Add();

                    string _Messages = "";
                    foreach (string _Msg in _result.Value)
                    {
                        _Messages += ((_Messages.Length > 0) ? "\r\n" : "") + _Msg;
                    }
                    if (_result.Key && _response != DialogResult.Yes)
                    {
                        _Messages = "Comprobación agregada con éxito";
                    }
                    MessageBox.Show(_Messages, (_result.Key) ? "Proceso Existoso" : "Información Faltante", MessageBoxButtons.OK, (_result.Key) ? MessageBoxIcon.Information : MessageBoxIcon.Exclamation);
                    //if (_result.Key) this.Hide();
                }
                else
                if (accion == "M")
                {
                    KeyValuePair <bool, string[]> _result = new lComprobacionesAdmin(_Template, accion).Update();

                    string _Messages = "";
                    foreach (string _Msg in _result.Value)
                    {
                        _Messages += ((_Messages.Length > 0) ? "\r\n" : "") + _Msg;
                    }
                    if (_result.Key && _response != DialogResult.Yes)
                    {
                        _Messages = "Comprobación modificada con éxito";
                    }
                    MessageBox.Show(_Messages, (_result.Key) ? "Proceso Existoso" : "Información Faltante", MessageBoxButtons.OK, (_result.Key) ? MessageBoxIcon.Information : MessageBoxIcon.Exclamation);
                    //if (_result.Key) this.Hide();
                }

                string       _Path      = Configuration.Path;
                oPlantilla[] _Templates = Assembler.LoadJson <oPlantilla[]>($"{_Path}\\jsons\\Plantillas.json");
                oPlantilla   _Temp      = _Templates.FirstOrDefault(o => o.IdTipoPlantilla == _Template.IdTipoPlantilla && o.Anio == _iYear);

                if (_oComprobacion != null)
                {
                    //Libro Actual de Excel.
                    Excel.Worksheet xlSht;
                    Excel.Workbook  wb         = Globals.ThisAddIn.Application.ActiveWorkbook;
                    string[]        Formula    = _oComprobacion.Formula.Split('=');
                    string[]        _celdaBase = Formula[0].Replace("[", "").Replace("]", "").Split(',');
                    string[]        _celdaFin  = Formula[1].Replace("[", "").Replace("]", "").Split(',');
                    Excel.Range     _RangeO;
                    Excel.Range     _RangeR;

                    xlSht = (Excel.Worksheet)wb.Worksheets.get_Item(_celdaBase[0]);
                    for (int a = 1; a < 1000; a++)
                    {
                        _RangeO = (Excel.Range)xlSht.get_Range($"A" + a.ToString());

                        if (_RangeO != null)
                        {
                            if (_RangeO.Value.ToString() == _celdaBase[1])
                            {
                                _RangeR              = (Excel.Range)xlSht.get_Range($"{Generales.ColumnAdress(Int32.Parse(_celdaBase[2]))}" + a.ToString());
                                _RangeR.Formula      = "";
                                _RangeR.Value        = "";
                                _RangeR.NumberFormat = "@";
                                _RangeR.Value2       = "";

                                a = 1001;
                            }
                        }
                    }
                }

                _Form.Close();
                FileJson(_Temp, TpPlantilla.ToString());
                _Form.Show();
            }
            else
            {
                MessageBox.Show(_Message, _Title, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            bool   _Connection = new lSerializados().CheckConnection(Configuration.UrlConnection);
            string _Message    = "No existe conexión con el servidor de datos... Contacte a un Administrador de Red para ver las opciones de conexión.";
            string _Title      = "Conexión de Red";

            if (_Connection)
            {
                int           Row           = DtComprobaciones.CurrentCell.RowIndex;
                int           IDcompro      = Convert.ToInt32(DtComprobaciones.Rows[Row].Cells[0].Value.ToString());
                oComprobacion _Comprobacion = _Comprobaciones.Where(o => o.IdComprobacion == IDcompro).FirstOrDefault();
                DialogResult  dialogo       = MessageBox.Show("Desea eliminar fórmula número " + IDcompro.ToString() + "?",
                                                              "Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (dialogo == DialogResult.Yes)
                {
                    _Message = ((cmbTipo.SelectedIndex == 0) ? "- Debe seleccionar un tipo de plantilla" : "");
                    if (_Message.Length > 0)
                    {
                        MessageBox.Show(_Message, "Información Faltante", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (_Comprobacion.AdmiteCambios == 0)
                    {
                        MessageBox.Show("La fórmula no puede ser eliminada ya que es un cálculo de " + cmbTipo.Text, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    DialogResult _response = DialogResult.None;

                    oComprobacion _Template = new oComprobacion()
                    {
                        IdComprobacion  = IDcompro,
                        IdTipoPlantilla = cmbTipo.SelectedIndex,
                        Concepto        = "",
                        Formula         = "",
                        Condicion       = "",
                        Nota            = ""
                    };
                    KeyValuePair <bool, string[]> _result = new lComprobacionesAdmin(_Template, "E").Delete();
                    string _Messages = "";
                    foreach (string _Msg in _result.Value)
                    {
                        _Messages += ((_Messages.Length > 0) ? "\r\n" : "") + _Msg;
                    }
                    if (_result.Key && _response != DialogResult.Yes)
                    {
                        _Messages = "Fórmula eliminada con éxito";
                    }
                    MessageBox.Show(_Messages, (_result.Key) ? "Proceso Existoso" : "Información Faltante", MessageBoxButtons.OK, (_result.Key) ? MessageBoxIcon.Information : MessageBoxIcon.Exclamation);
                    if (_result.Key)
                    {
                        this.Hide();
                    }
                }
            }
            else
            {
                MessageBox.Show(_Message, _Title, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }