internal async Task <JsonResult> Complete(TransferComplete inboundTransfer) { SqlConnection cn = null; try { cn = Connection.GetConnection(); SqlCommand smd = new SqlCommand("tansfer_order_create", cn) { CommandType = CommandType.StoredProcedure }; smd.Parameters.AddWithValue("@transfer_no", inboundTransfer.TransferNo); smd.Parameters.AddWithValue("@created_by", inboundTransfer.CreatedBy); smd.Parameters.AddWithValue("@from_location", inboundTransfer.FromLocation); smd.Parameters.AddWithValue("@to_location", inboundTransfer.ToLocation); smd.Parameters.AddWithValue("@lines", ToDataTable(inboundTransfer.Lines)); smd.Parameters.Add("@jsonOutput", SqlDbType.NVarChar, -1).Direction = ParameterDirection.Output; await smd.ExecuteNonQueryAsync().ConfigureAwait(false); string json = smd.Parameters["@jsonOutput"].Value.ToString(); smd.Dispose(); JArray arr = JArray.Parse(json); return(new JsonResult(arr)); } catch (Exception) { throw; } finally { Connection.CloseConnection(ref cn); } }
private bool TransferStatusCallback(int msgType, int percent, ulong bytesTransferred, uint hresult, IStream stream) { switch (msgType) { case MSG_STATUS: Progress?.Invoke(this, new ProgressEventArgs(percent)); break; case MSG_END_STREAM: var wrappedStream = new NativeStreamWrapper(stream); if (cancel) { wrappedStream.Dispose(); } else { PageScanned?.Invoke(this, new PageScannedEventArgs(wrappedStream)); } break; case MSG_END_TRANSFER: TransferComplete?.Invoke(this, EventArgs.Empty); break; } return(!cancel); }
public async Task <JsonResult> Complete([FromBody] TransferComplete inboundTransfer) { try { return(await _transferLogic.Complete(inboundTransfer).ConfigureAwait(false)); } catch (Exception ee) { return(await _transferLogic.SendRespose("False", ee.Message).ConfigureAwait(false)); } }
public static void TransferWithCallback(String user1, String user2, TransferComplete callback, Boolean overwrite = false, Boolean deleteProfile = false, String computer = ".", Boolean deleteAccount = false) { BackgroundWorker bw = new BackgroundWorker(); bw.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e) { callback((TransferStatus)e.Result); }; bw.DoWork += delegate(Object sender, DoWorkEventArgs args) { args.Result = Transfer(user1, user2, overwrite, deleteProfile, computer, deleteAccount); }; bw.RunWorkerAsync(); }
public void Transfer(double pAmount, int pFromAcctNumber, int pToAcctNumber, Guid pOrderGuid, int pCustomerId) { using (TransactionScope lScope = new TransactionScope()) using (BankEntityModelContainer lContainer = new BankEntityModelContainer()) { try { Account lFromAcct = GetAccountFromNumber(pFromAcctNumber); Account lToAcct = GetAccountFromNumber(pToAcctNumber); lFromAcct.Withdraw(pAmount); lToAcct.Deposit(pAmount); lContainer.Attach(lFromAcct); lContainer.Attach(lToAcct); lContainer.ObjectStateManager.ChangeObjectState(lFromAcct, System.Data.EntityState.Modified); lContainer.ObjectStateManager.ChangeObjectState(lToAcct, System.Data.EntityState.Modified); var lItem = new TransferComplete { OrderGuid = pOrderGuid, CustomerId = pCustomerId }; var lVisitor = new TransferCompleteToTransferCompleteMessage(); lItem.Accept(lVisitor); PublisherServiceClient lClient = new PublisherServiceClient(); lClient.Publish(lVisitor.Result); } catch (Exception lException) { Console.WriteLine("Error occured while transferring money: " + lException.Message); var lItem = new TransferError { OrderGuid = pOrderGuid }; var lVisitor = new TransferErrorToTransferErrorMessage(); lItem.Accept(lVisitor); PublisherServiceClient lClient = new PublisherServiceClient(); lClient.Publish(lVisitor.Result); } lContainer.SaveChanges(); lScope.Complete(); } }
internal async Task <JsonResult> TransferOrderInfo(TransferComplete info) { SqlConnection cn = null; try { cn = Connection.GetConnection(); SqlCommand smd = new SqlCommand("[transfer_order_info]", cn) { CommandType = CommandType.StoredProcedure }; smd.Parameters.Add("@transfer_return_info_json", SqlDbType.NVarChar, -1).Direction = ParameterDirection.Output; smd.Parameters.Add("@address", SqlDbType.NVarChar, -1).Direction = ParameterDirection.Output; smd.Parameters.AddWithValue("@transfer_order_no", info.TransferNo); // Execute the command await smd.ExecuteNonQueryAsync().ConfigureAwait(false); // Get the values string sale_info = smd.Parameters["@transfer_return_info_json"].Value.ToString(); string address = smd.Parameters["@address"].Value.ToString(); smd.Dispose(); Connection.CloseConnection(ref cn); TransferOrderInfoResponse transferOrderInfoResponse = new TransferOrderInfoResponse(); JArray Jaddress = JArray.Parse(address); transferOrderInfoResponse.TransferOrder = JArray.Parse(sale_info); if (Jaddress[0]["location_type"].ToString() == "from") { transferOrderInfoResponse.FromLocation = (JObject)Jaddress[0]; if (Jaddress.Count > 1) { transferOrderInfoResponse.ToLocation = (JObject)Jaddress[1]; } else { transferOrderInfoResponse.ToLocation = (JObject)Jaddress[0]; } } else if (Jaddress.Count > 1) { transferOrderInfoResponse.FromLocation = (JObject)Jaddress[1]; transferOrderInfoResponse.ToLocation = (JObject)Jaddress[0]; } else { transferOrderInfoResponse.FromLocation = (JObject)Jaddress[0]; transferOrderInfoResponse.ToLocation = (JObject)Jaddress[0]; } return(new JsonResult(transferOrderInfoResponse)); } catch (Exception) { throw; } finally { Connection.CloseConnection(ref cn); } }
private static void DoAction(TransferComplete action) { // action("all looks good"); }