Ejemplo n.º 1
0
        /// <summary>
        /// Gets the dispenser.
        /// </summary>
        /// <returns>ICashDispenser</returns>
        public static ICashDispenser GetDispenser()
        {
            ICashDispenser dispenser = new CashDispenserImpl(new List <CashDispenserItem>());

            LogManager.WriteLog("|=> (GetDispenser) : Inside Get Cash Dispenser.", LogManager.enumLogLevel.Info);

            try
            {
                try
                {
                    using (CashDispenserDBDataContext context = new CashDispenserDBDataContext(ExchangeConnectionString))
                    {
                        ISingleResult <rsp_GetCashDispenserItemsResult> items = context.GetCashDispenserItems();
                        if (items != null)
                        {
                            CashDispenserItem.TypeOfDeck prevDeckType = CashDispenserItem.TypeOfDeck.None;
                            foreach (rsp_GetCashDispenserItemsResult item in items)
                            {
                                CashDispenserItem item2 = new CashDispenserItem(item.CassetteName, item.CassetteAlias);
                                item2.CassetteID    = item.CassetteID;
                                item2.Denimination  = item.Denomination;
                                item2.TotalValue    = item.TotalValue;
                                item2.IssuedValue   = item.IssuedValue;
                                item2.RejectedValue = item.RejectedValue;
                                LogManager.WriteLog(string.Format("|=> (GetDispenser) : Cassette [{0}], Denonimation : [{1:D}], Balance : [{2:F}].",
                                                                  item2.CassetteAlias,
                                                                  item2.Denimination,
                                                                  item2.RemainingValueCalculated), LogManager.enumLogLevel.Debug);

                                if (prevDeckType == CashDispenserItem.TypeOfDeck.Upper)
                                {
                                    item2.DeckType = CashDispenserItem.TypeOfDeck.Lower;
                                    //LogManager.WriteLog(string.Format("|=> (GetDispenser) : Upper Deck [{0}].", item2.CassetteAlias), LogManager.enumLogLevel.Info);
                                }
                                else
                                {
                                    prevDeckType = item2.DeckType;
                                    //LogManager.WriteLog(string.Format("|=> (GetDispenser) : Lower Deck [{0}].", item2.CassetteAlias), LogManager.enumLogLevel.Info);
                                }

                                dispenser.DispenserItems.Add(item2);
                            }
                        }
                    }
                }
                finally
                {
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(dispenser);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Updates the item.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <returns></returns>
        public static bool UpdateItem(CashDispenserItem item)
        {
            bool result = false;

            LogManager.WriteLog("|=> (UpdateItem) : Inside Update Item.", LogManager.enumLogLevel.Info);

            try
            {
                using (CashDispenserDBDataContext context = new CashDispenserDBDataContext(ExchangeConnectionString))
                {
                    int    userID   = 0;
                    string userName = string.Empty;

                    if (SecurityHelper.CurrentUser != null &&
                        SecurityHelper.CurrentUser.SecurityUserID != 0 &&
                        SecurityHelper.CurrentUser.UserName != null)
                    {
                        userID   = SecurityHelper.CurrentUser.SecurityUserID;
                        userName = SecurityHelper.CurrentUser.DisplayName;
                    }

                    int?iResult = 0;
                    context.UpdateCashDispenserItem(item.CassetteID,
                                                    item.CassetteAlias,
                                                    item.Denimination,
                                                    item.TotalValue,
                                                    userID,
                                                    userName,
                                                    ref iResult);

                    if (iResult != null && iResult.HasValue)
                    {
                        result = iResult.Value > 0;
                    }
                    LogManager.WriteLog("|=> (UpdateItem) : Result : " + result.ToString(), LogManager.enumLogLevel.Info);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Updates the item.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <returns></returns>
        public static bool UpdateItem(CashDispenserItem item)
        {
            bool result = false;
            LogManager.WriteLog("|=> (UpdateItem) : Inside Update Item.", LogManager.enumLogLevel.Info);

            try
            {
                using (CashDispenserDBDataContext context = new CashDispenserDBDataContext(ExchangeConnectionString))
                {
                    int userID = 0;
                    string userName = string.Empty;

                    if (SecurityHelper.CurrentUser != null && 
                        SecurityHelper.CurrentUser.SecurityUserID != 0 && 
                        SecurityHelper.CurrentUser.UserName != null)
                    {
                        userID = SecurityHelper.CurrentUser.SecurityUserID;
                        userName = SecurityHelper.CurrentUser.DisplayName;
                    }

                    int? iResult = 0;
                    context.UpdateCashDispenserItem(item.CassetteID,
                        item.CassetteAlias,
                        item.Denimination,
                        item.TotalValue,
                        userID,
                        userName,
                        ref iResult);

                    if (iResult != null && iResult.HasValue)
                        result = iResult.Value > 0;
                    LogManager.WriteLog("|=> (UpdateItem) : Result : " + result.ToString(), LogManager.enumLogLevel.Info);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return result;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the dispenser.
        /// </summary>
        /// <returns>ICashDispenser</returns>
        public static ICashDispenser GetDispenser()
        {
            ICashDispenser dispenser = new CashDispenserImpl(new List<CashDispenserItem>());
            LogManager.WriteLog("|=> (GetDispenser) : Inside Get Cash Dispenser.", LogManager.enumLogLevel.Info);

            try
            {
                try
                {
                    using (CashDispenserDBDataContext context = new CashDispenserDBDataContext(ExchangeConnectionString))
                    {
                        ISingleResult<rsp_GetCashDispenserItemsResult> items = context.GetCashDispenserItems();
                        if (items != null)
                        {
                            CashDispenserItem.TypeOfDeck prevDeckType = CashDispenserItem.TypeOfDeck.None;
                            foreach (rsp_GetCashDispenserItemsResult item in items)
                            {
                                CashDispenserItem item2 = new CashDispenserItem(item.CassetteName, item.CassetteAlias);
                                item2.CassetteID = item.CassetteID;
                                item2.Denimination = item.Denomination;
                                item2.TotalValue = item.TotalValue;
                                item2.IssuedValue = item.IssuedValue;
                                item2.RejectedValue = item.RejectedValue;
                                LogManager.WriteLog(string.Format("|=> (GetDispenser) : Cassette [{0}], Denonimation : [{1:D}], Balance : [{2:F}].", 
                                    item2.CassetteAlias, 
                                    item2.Denimination,
                                    item2.RemainingValueCalculated), LogManager.enumLogLevel.Debug);

                                if (prevDeckType == CashDispenserItem.TypeOfDeck.Upper)
                                {
                                    item2.DeckType = CashDispenserItem.TypeOfDeck.Lower;
                                    //LogManager.WriteLog(string.Format("|=> (GetDispenser) : Upper Deck [{0}].", item2.CassetteAlias), LogManager.enumLogLevel.Info);
                                }
                                else
                                {
                                    prevDeckType = item2.DeckType;
                                    //LogManager.WriteLog(string.Format("|=> (GetDispenser) : Lower Deck [{0}].", item2.CassetteAlias), LogManager.enumLogLevel.Info);
                                }

                                dispenser.DispenserItems.Add(item2);
                            }
                        }
                    }
                }
                finally
                {
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return dispenser;
        }
Ejemplo n.º 5
0
        /// <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);
        }
 private void WriteAuditLog(CashDispenserItem deck, decimal value)
 {
     try
     {
         string auditValue = deck.CassetteAlias + " : " + deck.Denimination + ", " + value.ToString();
         AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
         {
             AuditModuleName = ModuleName.Cash_Dispenser,
             Audit_Screen_Name = "Manual Cash Dispense",
             Audit_Desc = "From Module : " + _parentModuleName.ToString(),
             AuditOperationType = OperationType.ADD,
             Audit_Field = "Amount",
             Audit_New_Vl = auditValue,
             Audit_Slot = string.Empty
         });
     }
     catch (Exception ex)
     {
         ExceptionManager.Publish(ex);
     }
 }
Ejemplo n.º 7
0
 //
 private void WriteAuditLog(CashDispenserItem UpperDeck, CashDispenserItem LowerDeck, decimal UpperCount, decimal LowerCount, string AutoDispense, decimal value)
 {
     try
     {
         string auditValue = UpperDeck.CassetteAlias + " : " + UpperDeck.Denimination + ", " + (UpperCount * UpperDeck.Denimination).ToString();
         auditValue += " | " + LowerDeck.CassetteAlias + " : " + LowerDeck.Denimination + ", " + (LowerCount * LowerDeck.Denimination).ToString();
         auditValue += " | " + AutoDispense + " : " + value.ToString();
         AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
         {
             AuditModuleName = ModuleName.Cash_Dispenser,
             Audit_Screen_Name = "Auto Cash Dispense",
             Audit_Desc = "From Module : " + ModuleName.Cash_Dispenser.ToString(),
             AuditOperationType = OperationType.ADD,
             Audit_Field = "Amount",
             Audit_New_Vl = auditValue,
             Audit_Slot = string.Empty
         });
     }
     catch (Exception ex)
     {
         ExceptionManager.Publish(ex);
     }
 }