public static async Task ReconcileAsync(string tenant, ReconciliationViewModel model, LoginView meta) { if (string.IsNullOrWhiteSpace(model.Memo)) { model.Memo = string.Format(I18N.ReconciledByName, meta.Name); } using (var db = DbProvider.Get(FrapidDbServer.GetConnectionString(tenant), tenant).GetDatabase()) { string sql = "SELECT * FROM finance.reconcile_account(@0::bigint, @1::integer, @2::date, @3::text);"; if (db.DatabaseType == DatabaseType.SqlServer) { sql = "EXECUTE finance.reconcile_account @0, @1, @2, @3;"; } await db.NonQueryAsync(sql, model.TransactionDetailId, meta.UserId, model.NewBookDate, model.Memo).ConfigureAwait(false); } }
public async Task <ActionResult> ReconcileAsync(ReconciliationViewModel model) { if (!this.ModelState.IsValid) { return(this.InvalidModelState(this.ModelState)); } var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(false); try { await Reconciliations.ReconcileAsync(this.Tenant, model, meta).ConfigureAwait(true); return(this.Ok()); } catch (Exception ex) { return(this.Failed(ex.Message, HttpStatusCode.InternalServerError)); } }