コード例 #1
0
        public void ProcesarAsignacion()
        {
            ArrayList modifiedRows = ModifiedRows();

            if (modifiedRows.Count > 0)
            {
                try
                {
                    _data.OpenConnection();
                    _data.BeginTransaction();
                    foreach (DataRow dr in modifiedRows)
                    {
                        SqlParameter[] param = new SqlParameter[2];

                        param[0]       = new SqlParameter("@Empleado", SqlDbType.Int);
                        param[0].Value = dr["Empleado"];
                        param[1]       = new SqlParameter("@EmpleadoResguardo", SqlDbType.Int);
                        param[1].Value = dr["EmpleadoResguardo"];

                        _data.ModifyData("spCyCActualizaEmpleadosResguardo", CommandType.StoredProcedure, param);
                    }
                    _data.Transaction.Commit();
                }
                catch (Exception ex)
                {
                    _data.Transaction.Rollback();
                    throw ex;
                }
                finally
                {
                    _data.CloseConnection();
                }
            }
        }
コード例 #2
0
        public bool ProcesarFMovimiento(DateTime FMovimiento)
        {
            bool procesado = false;

            try
            {
                _dataQry.OpenConnection();
                _dataQry.BeginTransaction();
                foreach (DataRow dr in dtListaMovimientosOK.Rows)
                {
                    procesarMovimiento(Convert.ToString(dr["Clave"]), FMovimiento, _usuario,
                                       "Cambio de FMovimiento", Convert.ToDateTime(dr["FMovimiento"]), _dataQry.Transaction);
                }
                _dataQry.Transaction.Commit();
                procesado = true;
            }
            catch (SqlException ex)
            {
                _dataQry.Transaction.Rollback();
                throw ex;
            }
            catch (Exception ex)
            {
                _dataQry.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                _dataQry.CloseConnection();
            }
            return(procesado);
        }
コード例 #3
0
        public bool ProcesarInformacion()
        {
            bool       dataSaved;
            SqlCommand update = new SqlCommand();

            update.Connection  = _connection;
            update.CommandText = "spCyCAsignacionEjecutivoResponsable";
            update.CommandType = CommandType.StoredProcedure;
            update.Parameters.Add("@Cliente", SqlDbType.Int);
            update.Parameters.Add("@Ejecutivo", SqlDbType.Int);
            try
            {
                _data.OpenConnection(_connection);
                _data.BeginTransaction(_connection);
                update.Transaction = _data.Transaction;
                foreach (DataRow dr in dtCliente.Rows)
                {
                    //Desaigna los clientes que ya no pertenecen al ejecutivo
                    if ((dr["Ejecutivo"] == DBNull.Value) && (dr["Existente"] != DBNull.Value))
                    {
                        update.Parameters["@Cliente"].Value   = dr["Cliente"];
                        update.Parameters["@Ejecutivo"].Value = DBNull.Value;
                        update.ExecuteNonQuery();
                    }
                    //Asigna los nuevos clientes al ejecutivo
                    if ((dr["Ejecutivo"] != DBNull.Value) && (dr["Existente"] == DBNull.Value))
                    {
                        update.Parameters["@Cliente"].Value   = dr["Cliente"];
                        update.Parameters["@Ejecutivo"].Value = dr["Ejecutivo"];
                        update.ExecuteNonQuery();
                    }
                }
                _data.Transaction.Commit();
                dataSaved = true;
            }
            catch (SqlException ex)
            {
                dataSaved = false;
                _data.Transaction.Rollback();
                throw ex;
            }
            catch (Exception ex)
            {
                dataSaved = false;
                _data.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                _data.CloseConnection();
                update.Dispose();
            }
            return(dataSaved);
        }
コード例 #4
0
        //Validar el movimiento capturado
        public bool ValidarMovimiento(byte Caja, DateTime FOperacion, byte Consecutivo, int Folio, ArrayList ListaAbono)
        {
            bool _terminado = false;

            try
            {
                //Validar el movimiento de caja
                data.OpenConnection();
                data.BeginTransaction();
                SqlParameter[] _param = new SqlParameter[4];
                _param[0]       = new SqlParameter("@Caja", SqlDbType.TinyInt);
                _param[0].Value = Caja;
                _param[1]       = new SqlParameter("@FOperacion", SqlDbType.DateTime);
                _param[1].Value = FOperacion.Date;
                _param[2]       = new SqlParameter("@Consecutivo", SqlDbType.TinyInt);
                _param[2].Value = Consecutivo;
                _param[3]       = new SqlParameter("@Folio", SqlDbType.Int);
                _param[3].Value = Folio;
                data.ModifyData("spValidaMovimientoCaja", CommandType.StoredProcedure, _param);

                foreach (SigaMetClasses.sCobro abono in ListaAbono)
                {
                    foreach (SigaMetClasses.sPedido abonoPedido in abono.ListaPedidos)
                    {
                        SqlParameter[] _param2 = new SqlParameter[4];
                        _param2[0]       = new SqlParameter("@Celula", SqlDbType.TinyInt);
                        _param2[0].Value = Convert.ToByte(abonoPedido.Celula);
                        _param2[1]       = new SqlParameter("@AnoPed", SqlDbType.SmallInt);
                        _param2[1].Value = Convert.ToInt16(abonoPedido.AnoPed);
                        _param2[2]       = new SqlParameter("@Pedido", SqlDbType.Int);
                        _param2[2].Value = Convert.ToInt32(abonoPedido.Pedido);
                        _param2[3]       = new SqlParameter("@Abono", SqlDbType.Money);
                        _param2[3].Value = Convert.ToDecimal(abonoPedido.ImporteAbono);
                        data.ModifyData("spPedidoActualizaSaldo", CommandType.StoredProcedure, _param2);
                    }
                }

                _terminado = true;
                data.Transaction.Commit();
            }
            catch (Exception ex)
            {
                _terminado = false;
                data.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                data.CloseConnection();
            }
            return(_terminado);
        }
コード例 #5
0
        private void btnProcesar_Click(object sender, System.EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;

            if (MessageBox.Show("¿Desea procesar la información?", "BC", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                int _consecutivoReporte = 0;

                try
                {
                    _data.ManipulatingTimeOut = 6000;
                    _data.OpenConnection();

                    _data.BeginTransaction();

                    _consecutivoReporte = GenerarEncabezadoReporte();
                    GenerarRegistroAutorizaciones(_consecutivoReporte, _periodo);
                    ProcesarDatosAcreditado(_consecutivoReporte, _periodo);
                    ProcesarDatosCliente(_consecutivoReporte, _periodo);
                    ProcesarDatosCargo(_consecutivoReporte, _periodo);

                    ProcesarDatosEspeciales(_consecutivoReporte, _periodo);

                    _data.Transaction.Commit();
                    this.Cursor = Cursors.Default;

                    MessageBox.Show("Información generada correctamente", "BC", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                catch (Exception ex)
                {
                    _data.Transaction.Rollback();

                    MessageBox.Show("Ha ocurrido un error:" + (char)13 +
                                    ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    _data.CloseConnection();
                    this.Cursor = Cursors.Default;
                }
            }
        }
コード例 #6
0
        public void ActualizaProgramaCliente(bool RegistroLlamada, SigaMetClasses.cUserInfo UserInfo, string Usuario)
        {
            try
            {
                _data.OpenConnection();
                _data.BeginTransaction();

                _data.ModifyData("spEDFRestablecerProgramaLecturaCliente", CommandType.StoredProcedure,
                                 new SqlParameter[] { new SqlParameter("@Cliente", Cliente),
                                                      new SqlParameter("@Observaciones", Observaciones),
                                                      new SqlParameter("@Usuario", Usuario) });

                foreach (Programacion oProg in ProgramacionesAsignadas)
                {
                    try
                    {
                        _data.ModifyData("spEDFProgramaLecturaClienteAlta", CommandType.StoredProcedure,
                                         new SqlParameter[] { new SqlParameter("@Cliente", this.Cliente),
                                                              new SqlParameter("@Programa", Convert.ToString(oProg.Programa)),
                                                              new SqlParameter("@CadaCuanto", oProg.CadaCuanto),
                                                              new SqlParameter("@Dia", oProg.Dia),
                                                              new SqlParameter("@TipoPeriodo", Convert.ToString(oProg.TipoPeriodo)),
                                                              new SqlParameter("@Cardinalidad", Convert.ToByte(oProg.Cardinalidad)) });
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }

                _data.Transaction.Commit();
            }
            catch (Exception ex)
            {
                _data.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                _data.CloseConnection();
            }
        }
コード例 #7
0
        public bool ProcesarAutorizacion(byte Cartera, decimal MaxImporteCredito, string Observaciones)
        {
            bool _retValue = false;

            //De acuerdo al tipo de cartera se establece el resultado de la autorización.
            if (Cartera != _claveCreditoAutorizado)
            {
                _resultadoAutorizacion = "RECHAZADA";
            }
            else
            {
                _resultadoAutorizacion = "ACEPTADA";
            }

            try
            {
                _data.OpenConnection();
                _data.BeginTransaction();

                altaSolicitudCredito(_consecutivo);
                bitacoraDatosCredito();
                actualizacionSolicitudCredito(Observaciones);
                modificarDatosCredito(Cartera, MaxImporteCredito, _resultadoAutorizacion);
                _data.Transaction.Commit();

                _retValue = true;
            }
            catch (Exception ex)
            {
                _data.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                _data.CloseConnection();
            }
            return(_retValue);
        }
コード例 #8
0
        public int AltaMovimiento(DateTime FCobranza,
                                  string UsuarioCaptura,
                                  int Empleado,
                                  decimal Total,
                                  string Observaciones,
                                  int TipoCobranza,
                                  DataTable ListaDocumentos)
        {
            int solicitudCobranza = 0;

            try
            {
                data.OpenConnection();
                data.BeginTransaction();
                //Alta del registro maestro
                solicitudCobranza = altaSolicitudCobranza(FCobranza, UsuarioCaptura, Empleado, Total, Observaciones,
                                                          TipoCobranza);
                //Alta de los registros de detalle
                foreach (DataRow dr in ListaDocumentos.Rows)
                {
                    altaPedidoSolicitudCobranza(Convert.ToInt16(dr["Celula"]), Convert.ToInt16(dr["AñoPed"]), Convert.ToInt32(dr["Pedido"]),
                                                solicitudCobranza, Convert.ToByte(dr["Gestion"]));
                }
                data.Transaction.Commit();
            }
            catch (Exception ex)
            {
                data.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                data.CloseConnection();
            }
            return(solicitudCobranza);
        }
コード例 #9
0
        public void AsignarCalculo(int Empresa, int Cliente, int Consecutivo, string Periodo, string Rango, string Usuario)
        {
            try
            {
                CargaPedidos(Empresa, Cliente, Periodo, Rango);

                BCConsultaRangos();

                string anoPeriodo = Periodo.Substring(2);
                string mesPeriodo = Periodo.Substring(0, 2);

                _dataAccess.OpenConnection();
                _dataAccess.BeginTransaction();
                foreach (DataRow drPedido in dtPedidos.Rows)
                {
                    //DateTime _fechaCorte = Convert.ToDateTime(DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month - 1) + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year);
                    DateTime _fechaCorte = Convert.ToDateTime(DateTime.DaysInMonth(Convert.ToInt32(anoPeriodo), Convert.ToInt32(mesPeriodo)) + "/" + mesPeriodo + "/" + anoPeriodo);

                    int _diasAtraso = ((TimeSpan)_fechaCorte.AddDays(-1).Subtract(Convert.ToDateTime(drPedido["Fecha_Pago"]))).Days;
                    //int _diasAtraso = ((TimeSpan)_fechaCorte.AddDays(-1).Subtract(Convert.ToDateTime(drPedido["Fecha_Pago"]))).Days;
                    int _rango = CalculaRango(_diasAtraso);

                    SqlParameter[] param = new SqlParameter[8];
                    param[0]       = new SqlParameter(@"@Consecutivo", SqlDbType.Int);
                    param[0].Value = Consecutivo;
                    param[1]       = new SqlParameter(@"@Periodo", SqlDbType.VarChar);
                    param[1].Value = Periodo;
                    param[2]       = new SqlParameter(@"@Empresa", SqlDbType.VarChar);
                    param[2].Value = Empresa;
                    param[3]       = new SqlParameter(@"@DiasAtraso", SqlDbType.Int);
                    param[3].Value = _diasAtraso;
                    param[4]       = new SqlParameter(@"@Rango", SqlDbType.Int);
                    param[4].Value = _rango;
                    param[5]       = new SqlParameter(@"@PedidoReferencia", SqlDbType.VarChar);
                    param[5].Value = drPedido["PedidoReferencia"].ToString().Trim();
                    param[6]       = new SqlParameter(@"@Celula", SqlDbType.Int);
                    param[6].Value = Convert.ToInt32(drPedido["Celula"]);
                    param[7]       = new SqlParameter(@"@AñoPed", SqlDbType.Int);
                    param[7].Value = Convert.ToInt32(drPedido["AñoPed"]);

                    this._dataAccess.ModifyData("spBCCalcularDetalleCargoPedido", CommandType.StoredProcedure, param);
                }

                SqlParameter[] paramA = new SqlParameter[3];
                paramA[0]       = new SqlParameter(@"@Consecutivo", SqlDbType.Int);
                paramA[0].Value = Consecutivo;
                paramA[1]       = new SqlParameter(@"@Periodo", SqlDbType.VarChar);
                paramA[1].Value = Periodo;
                paramA[2]       = new SqlParameter(@"@Empresa", SqlDbType.VarChar);
                paramA[2].Value = Empresa;

                this._dataAccess.ModifyData("spBCActualizaSaldosVigente", CommandType.StoredProcedure, paramA);

                SqlParameter[] paramDet = new SqlParameter[3];
                paramDet[0]       = new SqlParameter(@"@Consecutivo", SqlDbType.Int);
                paramDet[0].Value = Consecutivo;
                paramDet[1]       = new SqlParameter(@"@Periodo", SqlDbType.VarChar);
                paramDet[1].Value = Periodo;
                paramDet[2]       = new SqlParameter(@"@Empresa", SqlDbType.VarChar);
                paramDet[2].Value = Empresa;

                this._dataAccess.ModifyData("spBCAprobarDetalleSaldosAcreditado", CommandType.StoredProcedure, paramDet);

                //Registro en Bitacora

                RegistraBitacora(Periodo, Consecutivo, Empresa, "Asignacion valores calculo real", Usuario);
                _dataAccess.Transaction.Commit();
            }
            catch
            {
                _dataAccess.Transaction.Rollback();
                throw;
            }
        }
        /// <summary>
        /// Genera la tabla del Abono Externo correspondiente al archivo proporcionado
        /// </summary>
        /// <param name="filename"></param>
        /// <returns>int IdAbonoExterno Generado</returns>
        public int GenerarTabla(string filename)
        {
            int    idAbonoExterno;
            object cantidadDepositos;

            decimal totalDepositos = 0;
            int     idArchivo      = 0;

            string[] nameItems;
            int      banco;

            DataRow[] drBanco;
            try
            {
                //Manda llamar la función que regresa un DataTable con los datos del Archivo especificado
                dtTabla = la.DatosRecuperados(filename, "Test", (char)9);
                if (dtTabla.Rows.Count > 0)
                {
                    //Obtiene los datos generales y totales de la tabla
                    idAbonoExterno    = 1;
                    cantidadDepositos = dtTabla.Compute("COUNT(IDDeposito)", "");
                    CargaBancos();
                    nameItems     = filename.Split("\\".ToCharArray());
                    archivoNombre = nameItems[nameItems.Length - 1];
                    //Valida existencia del Archivo
                    if (!ValidaExistenciaArchivo(archivoNombre))
                    {
                        //Suma montos de los Depositos
                        foreach (DataRow drSuma in dtTabla.Rows)
                        {
                            if (!(drSuma["TotalDeposito"] is DBNull))
                            {
                                totalDepositos = totalDepositos + Convert.ToDecimal(drSuma["TotalAplicado"]);
                            }
                        }

                        //Consulta el id del Archivo que le corresponde al registro
                        idArchivo = ConsultaSiguienteArchivoAbono();
                        _dataAccess.BeginTransaction();

                        //Guarda cada registro de la tabla
                        foreach (DataRow dr in dtTabla.Rows)
                        {
                            //Procesar esto en la tabla en memoria fuera de la transacción

                            /*
                             * drBanco = dtBancos.Select("Nombre = '" + dr["Banco"].ToString().Trim() + "'");
                             * banco = Convert.ToInt32(drBanco[0]["Banco"]);
                             */

                            //Ubicar en una función por separado
                            SqlParameter[] param = new SqlParameter[18];
                            param[0]       = new SqlParameter(@"@IdArchivoAbonoExterno", SqlDbType.Int);
                            param[0].Value = idArchivo;
                            param[1]       = new SqlParameter(@"@IDDeposito", SqlDbType.Int);
                            param[1].Value = Convert.ToInt32(dr["IDDeposito"]);;
                            param[2]       = new SqlParameter(@"@IdAbonoExterno", SqlDbType.Int);
                            param[2].Value = idAbonoExterno;
                            param[3]       = new SqlParameter(@"@CantidadDepositos", SqlDbType.Int);
                            param[3].Value = Convert.ToInt32(cantidadDepositos);
                            param[4]       = new SqlParameter(@"@TotalDepositos", SqlDbType.Money);
                            param[4].Value = Convert.ToDecimal(totalDepositos);
                            param[5]       = new SqlParameter(@"@ArchivoOrigen", SqlDbType.VarChar);
                            param[5].Value = archivoNombre;
                            param[6]       = new SqlParameter(@"@Banco", SqlDbType.Int);
                            //Se inserta nulo porque el nombre del banco trae información que no corresponde,
                            //el nombre del banco se recupera con el número de cuenta.
                            param[6].Value  = DBNull.Value;
                            param[7]        = new SqlParameter(@"@NumeroCuentaDeposito", SqlDbType.VarChar);
                            param[7].Value  = dr["NumeroCuentaDeposito"].ToString();
                            param[8]        = new SqlParameter(@"@ReferenciaDeposito", SqlDbType.VarChar);
                            param[8].Value  = dr["ReferenciaDeposito"].ToString();
                            param[9]        = new SqlParameter(@"@FDeposito", SqlDbType.DateTime);
                            param[9].Value  = dr["FechaDeposito"].ToString();
                            param[10]       = new SqlParameter(@"@Cliente", SqlDbType.Int);
                            param[10].Value = Convert.ToInt32(dr["Cliente"]);
                            param[11]       = new SqlParameter(@"@RazonSocial", SqlDbType.VarChar);
                            param[11].Value = dr["RazonSocial"].ToString();
                            param[12]       = new SqlParameter(@"@TotalDeposito", SqlDbType.Money);
                            param[12].Value = Convert.ToDecimal(dr["TotalDeposito"]);
                            param[13]       = new SqlParameter(@"@PedidoReferencia", SqlDbType.VarChar);
                            param[13].Value = dr["PedidoReferencia"].ToString();

                            param[14]       = new SqlParameter(@"@TotalAplicado", SqlDbType.Money);
                            param[14].Value = Convert.ToDecimal(dr["TotalAplicado"]);
                            param[15]       = new SqlParameter(@"@Status", SqlDbType.VarChar);
                            param[15].Value = DBNull.Value;                            //Al inicio no tienen status, este se asigna cuando se guarda el registro
                            param[16]       = new SqlParameter(@"@Factura", SqlDbType.VarChar);
                            param[16].Value = dr["Factura"].ToString();
                            param[17]       = new SqlParameter(@"@Tipo", SqlDbType.VarChar);
                            param[17].Value = dr["Tipo"].ToString();



                            this._dataAccess.ModifyData("spCyCInsertaAbonoExterno", CommandType.StoredProcedure, param);
                            idAbonoExterno++;
                        }
                        _dataAccess.Transaction.Commit();
                    }
                    else
                    {
                        throw new ArgumentException("Ya se registró un archivo con este nombre");
                    }
                }
                return(idArchivo);
            }
            catch (SqlException ex)
            {
                _dataAccess.Transaction.Rollback();
                throw ex;
            }

            catch (ArgumentException exArg)
            {
                throw exArg;
            }

            catch (Exception ex)
            {
                _dataAccess.Transaction.Rollback();                //En cualquier caso se debe deshacer la transacción
                throw ex;
            }
        }