public static void Invoke_GuardarSaldo(RemObjects.SDK.IROService @__Instance, RemObjects.SDK.IMessage @__Message, RemObjects.SDK.Server.IServerChannelInfo @__ServerChannelInfo, out RemObjects.SDK.Server.ResponseOptions @__oResponseOptions) { RemObjects.SDK.ObjectDisposer @__ObjectDisposer = new RemObjects.SDK.ObjectDisposer(1); try { TSaldo Datos = ((TSaldo)(@__Message.Read("Datos", typeof(TSaldo), RemObjects.SDK.StreamingFormat.Default))); @__ObjectDisposer.Add(Datos); bool Result; Result = ((IRPDataService)(@__Instance)).GuardarSaldo(Datos); @__Message.InitializeResponseMessage(@__ServerChannelInfo, "RPSuiteServer", "RPDataService", "GuardarSaldoResponse"); @__Message.WriteBoolean("Result", Result); @__Message.FinalizeMessage(); @__oResponseOptions = RemObjects.SDK.Server.ResponseOptions.roDefault; } finally { @__ObjectDisposer.Dispose(); } }
public bool GuardarSaldo(TSaldo Datos) { try { IDbCommand commandSaldo; using (IDataReader reader = this.ServiceSchema.GetDataReader(this.Connection, "spSaldo", new string[] { "EstacionID" }, new object[] { Datos.EstacionID }, out commandSaldo)) if (reader.Read()) { if (Datos.LimiteCredito != (double)reader["LimiteCredito"]) { Datos.Saldo = (double)reader["Saldo"]; Datos.Saldo += (Datos.LimiteCredito - (double)reader["LimiteCredito"]); } using (IDbCommand lcommand = this.ServiceSchema.NewCommand(this.Connection, "cmdActualizaSaldo", new string[] { "EstacionID", "LimiteCredito", "CreditoUsado" , "Saldo" }, new object[] { Datos.EstacionID, Datos.LimiteCredito, (double)reader["CreditoUsado"], Datos.Saldo })) { reader.Close(); commandSaldo.Dispose(); lcommand.ExecuteNonQuery(); return(true); } } else { using (IDbCommand lcommand = this.ServiceSchema.NewCommand(this.Connection, "cmdInsertarSaldo", new string[] { "EstacionID", "LimiteCredito", "CreditoUsado" , "Saldo" }, new object[] { Datos.EstacionID, Datos.LimiteCredito, Datos.CreditoUsado, Datos.LimiteCredito })) { reader.Close(); commandSaldo.Dispose(); lcommand.ExecuteNonQuery(); return(true); } } } catch (Exception ex) { return(false); } }