/// <summary> /// Dispenses the specified show message box. /// </summary> /// <param name="showMessageBox">if set to <c>true</c> [show message box].</param> public DispenserWorkerResult Dispense(decimal cd1Value, decimal cd2Value, out string outputString) { CDC.CashDispenserItem.DispenseResult result1 = null; CDC.CashDispenserItem.DispenseResult result2 = null; string cd1 = string.Empty; string cd2 = string.Empty; DispenserWorkerResult result = DispenserWorkerResult.None; outputString = string.Empty; this.EnsureDecksAreLoaded(); try { if (cd1Value > 0) { try { CDC.CashDispenserItem item1 = this.UpperDeck; cd1 = item1.CassetteAlias; result1 = item1.Dispense(cd1Value); } catch (Exception ex) { ExceptionManager.Publish(ex); } } else { result1 = new BMC.CashDispenser.Core.CashDispenserItem.DispenseResult() { Result = true }; } if (cd2Value > 0) { try { CDC.CashDispenserItem item2 = this.LowerDeck; cd2 = item2.CassetteAlias; result2 = item2.Dispense(cd2Value); } catch (Exception ex) { ExceptionManager.Publish(ex); } } else { result2 = new BMC.CashDispenser.Core.CashDispenserItem.DispenseResult() { Result = true }; } } catch (Exception ex) { ExceptionManager.Publish(ex); } finally { string currencySymbol = ExtensionMethods.GetCurrencySymbol(string.Empty); StringBuilder sb = new StringBuilder(); if (result1 != null) { sb.Append(result1.IssuedValue.ToString() + " " + currencySymbol); sb.Append(" issued, "); sb.Append(result1.RejectedValue.ToString() + " " + currencySymbol); sb.Append(" rejected from " + cd1); sb.Append(" (" + result1.ErrorDescription + ")"); // Upper Deck if (result1.Result) { result |= DispenserWorkerResult.UpperDeckOK; } else { result |= DispenserWorkerResult.UpperDeckFail; } } // Lower Deck if (result2 != null) { if (sb.Length > 0) { sb.Append(Environment.NewLine); } sb.Append(result2.IssuedValue.ToString() + " " + currencySymbol); sb.Append(" issued, "); sb.Append(result2.RejectedValue.ToString() + " " + currencySymbol); sb.Append(" rejected from " + cd2); sb.Append(" (" + result2.ErrorDescription + ")"); if (result2.Result) { result |= DispenserWorkerResult.LowerDeckOK; } else { result |= DispenserWorkerResult.LowerDeckFail; } } outputString = sb.ToString(); } // Final Condition if (((result & DispenserWorkerResult.LowerDeckOK) == DispenserWorkerResult.LowerDeckOK) && ((result & DispenserWorkerResult.UpperDeckOK) == DispenserWorkerResult.UpperDeckOK)) { result = DispenserWorkerResult.Success | DispenserWorkerResult.LowerDeckOK | DispenserWorkerResult.UpperDeckOK; } else { result &= ~DispenserWorkerResult.None; result |= DispenserWorkerResult.Failed; } return(result); }
/// <summary> /// Dispenses the specified show message box. /// </summary> /// <param name="showMessageBox">if set to <c>true</c> [show message box].</param> public DispenserWorkerResult Dispense(decimal cd1Value, decimal cd2Value, out string outputString) { CDC.CashDispenserItem.DispenseResult result1 = null; CDC.CashDispenserItem.DispenseResult result2 = null; string cd1 = string.Empty; string cd2 = string.Empty; DispenserWorkerResult result = DispenserWorkerResult.None; outputString = string.Empty; this.EnsureDecksAreLoaded(); try { if (cd1Value > 0) { try { CDC.CashDispenserItem item1 = this.UpperDeck; cd1 = item1.CassetteAlias; result1 = item1.Dispense(cd1Value); } catch (Exception ex) { ExceptionManager.Publish(ex); } } else { result1 = new BMC.CashDispenser.Core.CashDispenserItem.DispenseResult() { Result = true }; } if (cd2Value > 0) { try { CDC.CashDispenserItem item2 = this.LowerDeck; cd2 = item2.CassetteAlias; result2 = item2.Dispense(cd2Value); } catch (Exception ex) { ExceptionManager.Publish(ex); } } else { result2 = new BMC.CashDispenser.Core.CashDispenserItem.DispenseResult(){Result = true}; } } catch (Exception ex) { ExceptionManager.Publish(ex); } finally { string currencySymbol = ExtensionMethods.GetCurrencySymbol(string.Empty); StringBuilder sb = new StringBuilder(); if (result1 != null) { sb.Append(result1.IssuedValue.ToString() + " " + currencySymbol); sb.Append(" issued, "); sb.Append(result1.RejectedValue.ToString() + " " + currencySymbol); sb.Append(" rejected from " + cd1); sb.Append(" (" + result1.ErrorDescription + ")"); // Upper Deck if (result1.Result) { result |= DispenserWorkerResult.UpperDeckOK; } else { result |= DispenserWorkerResult.UpperDeckFail; } } // Lower Deck if (result2 != null) { if (sb.Length > 0) { sb.Append(Environment.NewLine); } sb.Append(result2.IssuedValue.ToString() + " " + currencySymbol); sb.Append(" issued, "); sb.Append(result2.RejectedValue.ToString() + " " + currencySymbol); sb.Append(" rejected from " + cd2); sb.Append(" (" + result2.ErrorDescription + ")"); if (result2.Result) { result |= DispenserWorkerResult.LowerDeckOK; } else { result |= DispenserWorkerResult.LowerDeckFail; } } outputString = sb.ToString(); } // Final Condition if (((result & DispenserWorkerResult.LowerDeckOK) == DispenserWorkerResult.LowerDeckOK) && ((result & DispenserWorkerResult.UpperDeckOK) == DispenserWorkerResult.UpperDeckOK)) { result = DispenserWorkerResult.Success | DispenserWorkerResult.LowerDeckOK | DispenserWorkerResult.UpperDeckOK; } else { result &= ~DispenserWorkerResult.None; result |= DispenserWorkerResult.Failed; } return result; }