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(); } } }
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); }
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); }
//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); }
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; } } }
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(); } }
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); }
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); }
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; } }