private ArrayList procesarArrayPedidos(DataRow[] RowArray)
        {
            ArrayList _listaPedidos = new ArrayList();

            foreach (DataRow dr in RowArray)
            {
                SigaMetClasses.sPedido _pedido = new SigaMetClasses.sPedido();
                _pedido.AnoPed    = Convert.ToInt16(dr["AñoPed"]);
                _pedido.Celula    = Convert.ToByte(dr["Celula"]);
                _pedido.Pedido    = Convert.ToInt32(dr["Pedido"]);
                _pedido.TipoCargo = Convert.ToByte(dr["TipoCargo"]);
                _pedido.Saldo     = Convert.ToDecimal(dr["Saldo"]);
                _listaPedidos.Add(_pedido);
            }
            return(_listaPedidos);
        }
Exemple #2
0
        private void procesarArrayPedidos()
        {
            _listaPedidosEntregar = new ArrayList();
            _listaPedidosDevolver = new ArrayList();
            foreach (ListViewItem lvi in vwGrd1.Items)
            {
                SigaMetClasses.sPedido _pedido = new SigaMetClasses.sPedido();

                _pedido.AnoPed    = Convert.ToInt16(lvi.SubItems[columnLocation("AñoPed")].Text);
                _pedido.Celula    = Convert.ToByte(lvi.SubItems[columnLocation("Celula")].Text);
                _pedido.Pedido    = Convert.ToInt32(lvi.SubItems[columnLocation("Pedido")].Text);
                _pedido.TipoCargo = Convert.ToByte(lvi.SubItems[columnLocation("TipoCargo")].Text);
                _pedido.Saldo     = Convert.ToDecimal(lvi.SubItems[columnLocation("Saldo")].Text);

                if (lvi.Checked)
                {
                    _listaPedidosEntregar.Add(_pedido);
                }
                else
                {
                    _listaPedidosDevolver.Add(_pedido);
                }
            }
        }
Exemple #3
0
        public void generaMovimiento()
        {
            byte _tipoAjuste = 0;

            if (_tipoOperacion == Convert.ToByte(TipoOperacion.AjusteEficiencias))
            {
                frmTipoAjuste formTipoAjuste = new frmTipoAjuste();
                if (formTipoAjuste.ShowDialog() == DialogResult.OK)
                {
                    _tipoAjuste = formTipoAjuste.TipoAjuste;

                    MessageBox.Show(_tipoAjuste.ToString());
                }
                else
                {
                    return;
                }
            }

            //Estructuras de abonos en memoria

            //CobroPedido
            ArrayList listaCobroPedido = new ArrayList();
            ArrayList listaCobro       = new ArrayList();

            SigaMetClasses.sCobro cobro = new SigaMetClasses.sCobro();
            decimal totalcobro          = 0;

            foreach (ListViewItem _item in vwGrd1.CheckedItems)
            {
                SigaMetClasses.sPedido cobropedido = new SigaMetClasses.sPedido();
                cobropedido.Celula       = Convert.ToByte(_item.SubItems[1].Text);
                cobropedido.AnoPed       = Convert.ToInt16(_item.SubItems[2].Text);
                cobropedido.Pedido       = Convert.ToInt32(_item.SubItems[3].Text);
                cobropedido.ImporteAbono = Convert.ToDecimal(_item.SubItems[7].Text);
                totalcobro += cobropedido.ImporteAbono;
                listaCobroPedido.Add(cobropedido);
            }

            //Cobro
            cobro.Consecutivo  = 1;
            cobro.AnoCobro     = Convert.ToInt16(_fechaOperacion.Year);
            cobro.TipoCobro    = SigaMetClasses.Enumeradores.enumTipoCobro.EfectivoVales;
            cobro.Total        = totalcobro;
            cobro.ListaPedidos = listaCobroPedido;
            listaCobro.Add(cobro);
            if (!_sesionIniciada)
            {
                SigaMetClasses.CorteCaja oCorte = new SigaMetClasses.CorteCaja();
                try
                {
                    _consecutivoCorteCaja = Convert.ToByte(oCorte.Alta(_caja, _fechaOperacion, _usuario, DateTime.Now, 0, _consecutivoCorteCaja));
                    _sesionIniciada       = true;
                }
                catch (Exception ex)
                {
                    _sesionIniciada = false;
                    MessageBox.Show("Error:" + (char)13 + ex.Message, this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    return;
                }
            }
            //***

            //Generación del movimiento de caja
            int    folio = 0;
            string clave = string.Empty;

            try
            {
                //Procesar transaccion
                SigaMetClasses.TransaccionMovimientoCaja movcaja = new SigaMetClasses.TransaccionMovimientoCaja();
                folio = movcaja.Alta(_caja, _fechaOperacion, _consecutivoCorteCaja, _fechaMovimiento, totalcobro,
                                     _usuario, _empleado, _tipoMovimiento, 0, 0,
                                     listaCobro, _usuario, txtObservaciones.Text, ref clave, _tipoAjuste);
                //Validar cobros de eficiencia negativa
                movcaja = null;
                restablecer();
                //Indicar la clave del movimiento de ajuste
                MessageBox.Show("Movimiento de ajuste generado con la clave:" + clave + (char)13,
                                "Proceso completado", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:" + (char)13 + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //***

            //Validar automáticamente los movimientos de eficiencias negativas
            if (_tipoOperacion == Convert.ToByte(TipoOperacion.AjusteEficiencias))
            {
                bool validado  = false;
                bool continuar = true;
                while ((validado == false) && (continuar == true))
                {
                    SigaMetClasses.TransaccionMovimientoCaja movcaja = new SigaMetClasses.TransaccionMovimientoCaja();
                    try
                    {
                        _datos.ValidarMovimiento(_caja, _fechaOperacion, _consecutivoCorteCaja, folio, listaCobro);
                        validado = true;
                        MessageBox.Show("Movimiento generado con la clave " + clave + (char)13 +
                                        "Movimiento validado correctamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        validado  = false;
                        continuar = (MessageBox.Show("Error validando el movimiento:" + (char)13 + ex.Message + (char)13 +
                                                     "¿Desea reintentar?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes);
                    }
                }
            }
            //***
        }