誰かがこれで私を助けてくれることを願っています。ユーザーにログインを求めるプロンプトを表示し、請求書とトークンを生成して返すメソッド (user_login) があります。
問題は、ユーザーがすでにログインしている場合 (これをリストに保持している場合)、メソッド svr.logonex を呼び出してはならないことです。前のインスタンスから値を取得する必要があります。svr 変数を保存する必要があると思いますが、その方法がわかりません。どんな助けでも大歓迎です。ありがとう
コードは次のとおりです。
public EPS30Ora.LogonResult User_Login(input_params inputparams)
{
EPS30Ora.EPS30Svr svr = new EPS30Ora.EPS30Svr();
if (Users.Exists(Username => Username.Username.Equals(inputparams.Username)))
{
List<input_params> selected = Users.Where(Username => Username.Username.Equals(inputparams.Username)).ToList();
svr.PrepareByMoney(selected[0].ck, 1, inputparams.meter_number, 10, 0, ref cal);
}
else
{
Log_Res = svr.LogOnEx("EDEESTE", inputparams.VSID, inputparams.Username, inputparams.Password, "EPS30Ora", ref inputparams.ck);
if (Log_Res == EPS30Ora.LogonResult.psOK)
{
try
{
Users.Add(inputparams);
object tr_bl = svr.GetInvoiceData(inputparams.ck, svr.Confirm(inputparams.ck));
}
catch (System.Runtime.InteropServices.COMException ex)
{
Trace.WriteLine("Se ha producido una excepción: " + ex);
}
}
}
return Log_Res;
}