예제 #1
0
        /// <summary>
        /// To check whether Enable Redeem Receipt printer is enabled from the setting table.
        /// </summary>
        /// <param name=""></param>
        /// <returns >true or false</returns>
        public bool CheckEnableRedeemPrintCDODB()
        {
            string strproc            = "CheckEnableRedeemPrintCDODB";
            bool   bEnableRedeemPrint = false;

            try
            {
                SqlParameter[] sqlparams = CommonDataAccess.GetSettingParameterDB(DBConstants.CONST_SP_PARAM_ENABLEREDEEMPRINTCDO);
                SqlHelper.ExecuteNonQuery(CommonDataAccess.ExchangeConnectionString, System.Data.CommandType.StoredProcedure, DBConstants.CONST_SP_GETSETTING, sqlparams);
                if (sqlparams[3].Value != null || sqlparams[3].Value.ToString() != string.Empty)
                {
                    if (Convert.ToString(sqlparams[3].Value).ToUpper() == "TRUE")
                    {
                        bEnableRedeemPrint = true;
                    }
                    else
                    {
                        bEnableRedeemPrint = false;
                    }
                }
                else
                {
                    bEnableRedeemPrint = false;
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(strproc + ex.Message, LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(ex);
                bEnableRedeemPrint = false;
            }
            return(bEnableRedeemPrint);
        }
        private void GetInstallationDetailsTable()
        {
            CommonDataAccess commonDataAccess = new CommonDataAccess();

            try
            {
                objInstallationDetails = CommonDataAccess.GetInstallationDetailsForHourly();
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(ex.Message, LogManager.enumLogLevel.Error);
            }
        }
예제 #3
0
        public string FillEventType()
        {
            string strEventTypes = string.Empty;

            try
            {
                strEventTypes = CommonDataAccess.GetSettingValue("EVENTTYPELIST");
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                strEventTypes = string.Empty;
            }
            return(strEventTypes);
        }
예제 #4
0
        public string FillSettingsToBeSkipped()
        {
            string strSettings = string.Empty;

            try
            {
                strSettings = CommonDataAccess.GetSettingValue("SETTING_NAMES_HIDDEN");
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                strSettings = string.Empty;
            }
            return(strSettings);
        }
        /// <summary>
        /// To Get EnableIssueReceipt from Setting table in Exchange DB
        /// </summary>
        /// <param name=""></param>
        /// <returns type=boolean >bCreateTicketIssueReceipt</returns>
        public bool CreateTicketIssueReceipt()
        {
            bool ShouldIssueReceipt = false;

            try
            {
                SqlParameter[] sqlparams = CommonDataAccess.GetSettingParameterDB(DBConstants.CONST_SP_PARAM_ENABLEISSUERECEIPT);
                SqlHelper.ExecuteNonQuery(CommonDataAccess.ExchangeConnectionString, System.Data.CommandType.StoredProcedure, DBConstants.CONST_SP_GETSETTING, sqlparams);

                if (sqlparams[3].Value != null && Convert.ToString(sqlparams[3].Value) != string.Empty && sqlparams[3].Value != DBNull.Value)
                {
                    ShouldIssueReceipt = Convert.ToBoolean(sqlparams[3].Value);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(ShouldIssueReceipt);
        }
        /// <summary>
        /// To Open  Connection with Ticketing DB and Exchange
        /// </summary>
        /// <param name=""></param>
        /// <returns ></returns>
        public bool OpenConnection()
        {
            string Connection       = string.Empty;
            bool   IsConnectionOpen = false;

            try
            {
                Connection = CommonDataAccess.ExchangeConnectionString;

                if (CommonDataAccess.GetTicketingConnectionString(Connection) != string.Empty)
                {
                    IsConnectionOpen = true;
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(IsConnectionOpen);
        }
        public string VoucherSite()
        {
            string VoucherSite = string.Empty;

            try
            {
                SqlParameter[] sqlparams = CommonDataAccess.GetSettingParameterDB(DBConstants.CONST_SP_PARAM_VOUCHERSITENAME);
                SqlHelper.ExecuteNonQuery(CommonDataAccess.ExchangeConnectionString, System.Data.CommandType.StoredProcedure, DBConstants.CONST_SP_GETSETTING, sqlparams);

                if (sqlparams[3].Value != null || sqlparams[3].Value.ToString() != string.Empty)
                {
                    VoucherSite = Convert.ToString(sqlparams[3].Value);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(VoucherSite);
        }
예제 #8
0
        /// <summary>
        /// Retrieve the setting value
        /// </summary>
        /// <param name="strConnect"></param>
        /// <returns>dictionary</returns>
        public Dictionary <string, string> GetCMPCredentials(string strConnect)
        {
            Dictionary <string, string> objDicCMPDetails = new Dictionary <string, string>();

            try
            {
                //Get the CMP Kiosk URL
                SqlParameter[] sqlparams = CommonDataAccess.GetSettingParameterDB(DBConstants.CONSTANT_RSP_GETCMPKIOSKURL);
                string         strCMPURL = commonDataAccess.ExecuteQuery(strConnect, sqlparams);
                if (!String.IsNullOrEmpty(strCMPURL))
                {
                    objDicCMPDetails.Add("CMPURL", strCMPURL);
                }

                //Get the CMP Application USERNAME
                SqlParameter[] sqlparams1 = CommonDataAccess.GetSettingParameterDB(DBConstants.CONSTANT_RSP_GETCMPAPPUSER);
                string         strCMPUSER = commonDataAccess.ExecuteQuery(strConnect, sqlparams1);
                if (!String.IsNullOrEmpty(strCMPUSER))
                {
                    objDicCMPDetails.Add("CMPUSER", strCMPUSER);
                }

                //Get the CMP Application Password
                SqlParameter[] sqlparams2 = CommonDataAccess.GetSettingParameterDB(DBConstants.CONSTANT_RSP_GETCMPAPPPWD);
                string         strCMPPWD  = commonDataAccess.ExecuteQuery(strConnect, sqlparams2);
                if (!String.IsNullOrEmpty(strCMPPWD))
                {
                    objDicCMPDetails.Add("CMPPWD", strCMPPWD);
                }
            }


            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(objDicCMPDetails);
        }
        public string Region()
        {
            string Region = string.Empty;

            try
            {
                SqlParameter[] sqlparams = CommonDataAccess.GetSettingParameterDB(DBConstants.CONST_SP_PARAM_REGION);
                SqlHelper.ExecuteNonQuery(CommonDataAccess.ExchangeConnectionString, CommandType.StoredProcedure, DBConstants.CONST_SP_GETSETTING, sqlparams);
                if (sqlparams[3].Value != null || sqlparams[3].Value.ToString() != string.Empty)
                {
                    Region = Convert.ToString(sqlparams[3].Value);
                }
                else
                {
                    Region = string.Empty;
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }

            return(Region);
        }
예제 #10
0
        public DataTable GetAnalysisDetails(int SpotCheckDataType, DateTime StartDate, DateTime EndDate, AnalysisView viewType, int zoneId)
        {
            DataTable dtAnalysis = new DataTable();



            double TotalCashIn = 0;
            double TotalCashOut = 0;
            double Totalhandle = 0;
            int InstallationNo = 0;
            double TotalDrop = 0;
            double TotalBills = 0;
            double TotalTicketsIn = 0;
            double TotalCoinsIn = 0;
            double TotalCoinsOut = 0;
            double TicketsOut = 0;
            double TotalHandpay = 0;
            double TotalJackpot = 0;
            double TotalPayout = 0;
            double ProgressiveHandpay = 0;

            double CashableEFTIn = 0;
            double CashableEFTOut = 0;
            double NonCashableEFTIn = 0;
            double NonCashableEFTOut = 0;
            double WATIn = 0;
            double WATOut = 0;

            double TotalNonCashableTicketsIn = 0;
            double TotalNonCashableTicketsOut = 0;
            double TotalMDA = 0;
            double TotalAvgBet = 0;
            double TotalWon = 0;
            double TotalCashRefills = 0;
            DateTime InstallationEndDate;
            double TotalNetWin = 0;
            double NumberofDays = 0;
            double GAMES_BET = 0;


            string reportType = string.Empty;

            IDictionary<int, GetGroupByZone> zoneRows = new SortedDictionary<int, GetGroupByZone>();

            dtAnalysis.Columns.Add("Installation_No");
            dtAnalysis.Columns.Add("Bar_Pos_Name");
            dtAnalysis.Columns.Add("Zone_No");
            dtAnalysis.Columns.Add("Zone_Name");
            dtAnalysis.Columns.Add("Stock_No");
            dtAnalysis.Columns.Add("Name");
            dtAnalysis.Columns.Add("LastMeterDate", typeof(DateTime));
            dtAnalysis.Columns.Add("LastMeterUpdate");
            dtAnalysis.Columns.Add("NoofMachine");
            dtAnalysis.Columns.Add("GMUtoMachine");
            dtAnalysis.Columns.Add("GMUtoServer");
            dtAnalysis.Columns.Add("Bills_In", typeof(decimal));
            dtAnalysis.Columns.Add("Coin_In", typeof(decimal));
            dtAnalysis.Columns.Add("Coin_Out", typeof(decimal));
            dtAnalysis.Columns.Add("Drop", typeof(decimal));
            dtAnalysis.Columns.Add("Tickets_In", typeof(decimal));
            dtAnalysis.Columns.Add("Tickets_Out", typeof(decimal));
            dtAnalysis.Columns.Add("Non_Cashable_Tickets_In", typeof(decimal));
            dtAnalysis.Columns.Add("Non_Cashable_Tickets_Out", typeof(decimal));
            dtAnalysis.Columns.Add("Handpay", typeof(decimal));
            dtAnalysis.Columns.Add("Jackpot", typeof(decimal));
            dtAnalysis.Columns.Add("Prog_Handpay", typeof(decimal));

            if (Settings.IsAFTEnabledForSite)
            {
                dtAnalysis.Columns.Add("CashableEFTIn", typeof(decimal));
                dtAnalysis.Columns.Add("CashableEFTOut", typeof(decimal));
                dtAnalysis.Columns.Add("NonCashableEFTIn", typeof(decimal));
                dtAnalysis.Columns.Add("NonCashableEFTOut", typeof(decimal));
                dtAnalysis.Columns.Add("WATIn", typeof(decimal));
                dtAnalysis.Columns.Add("WATOut", typeof(decimal));
            }
            dtAnalysis.Columns.Add("Cash_In", typeof(decimal));
            dtAnalysis.Columns.Add("Cash_Out", typeof(decimal));
            dtAnalysis.Columns.Add("Handle", typeof(decimal));
            dtAnalysis.Columns.Add("Payout", typeof(decimal));
            dtAnalysis.Columns.Add("MDA", typeof(decimal));
            dtAnalysis.Columns.Add("AvgBet", typeof(decimal));
            dtAnalysis.Columns.Add("NetWin", typeof(decimal));

            dtAnalysis.Columns.Add("Won", typeof(decimal));
            dtAnalysis.Columns.Add("Cash_Refills", typeof(decimal));
            dtAnalysis.Columns.Add("SortColumn", typeof(int));//used to maintain Row "Total" in top
            dtAnalysis.Columns.Add("NumberofDays", typeof(decimal));
            dtAnalysis.Columns.Add("GAMES_BET", typeof(decimal));
            dtAnalysis.Columns.Add("IsTotalRow", typeof(bool)).DefaultValue = false;

            try
            {
                switch (SpotCheckDataType.ToString())
                {
                    case "1":
                        reportType = "DAY";
                        break;
                    case "2":
                        reportType = "DROP";
                        break;
                    case "3":
                        reportType = "WEEK";
                        break;
                    case "4":
                        reportType = "MONTH";
                        break;
                }

                DataTable dtDetails = new CommonDataAccess().GetInstallationDetailsForReports(reportType);
                bool isGrouping = false;
                if (zoneId != -1)
                {
                    dtDetails = (from i in dtDetails.Rows.OfType<DataRow>()
                                 where i["Zone_No"].ToString() == zoneId.ToString()
                                 select i).CopyToDataTable();
                    isGrouping = (viewType == AnalysisView.Zone);
                }
                if (zoneId == -1 && viewType == AnalysisView.Zone)
                {
                    isGrouping = true;
                }
                int ZoneCount = 0;
                foreach (DataRow InstallationDetail in dtDetails.Rows)
                {
                    if (InstallationDetail["Installation_No"] != DBNull.Value)
                    {
                        InstallationNo = Convert.ToInt32(InstallationDetail["Installation_No"]);
                        DateTime dt_date = DateTime.Now;
                        InstallationEndDate = ((InstallationDetail["End_Date"]) != DBNull.Value) ? Convert.ToDateTime(InstallationDetail["End_Date"]) : DateTime.Now.AddDays(1);
                        int StartOfDay = 0;

                        switch (SpotCheckDataType)
                        {
                            case 1:
                                StartOfDay = 1;
                                break;
                            case 2:
                                //spotCheckData.Type = 2;
                                StartOfDay = 2;
                                break;
                            case 3:
                                StartDate = analysisDataAccessHandler.GetMonthOrWeekStartDate().Rows[0]["WeekStart"].ToString().ReadDate();
                                dt_date = StartDate;
                                //if (InstallationEndDate.Date <= StartDate.Date) continue;
                                break;
                            case 4:
                                StartDate = analysisDataAccessHandler.GetMonthOrWeekStartDate().Rows[0]["MonthStart"].ToString().ReadDate();
                                dt_date = StartDate;
                                //if (InstallationEndDate.Date <= StartDate.Date) continue;
                                break;
                        }
                        LogManager.WriteLog("GetAnalysisDetails:Getting Meters for DB for Installation:" + InstallationNo, LogManager.enumLogLevel.Info);
                        DataTable dt_CurrMeters = analysisDataAccessHandler.GetAnalysisDetails(InstallationNo, StartOfDay, 0, dt_date);
                        DataRow dr_CurrM = null;
                        if (dt_CurrMeters.Rows.Count > 0)
                        {
                            dr_CurrM = dt_CurrMeters.Rows[0];
                        }
                        else
                        {

                            LogManager.WriteLog("GetAnalysisDetails:InstallationNo Not Found", LogManager.enumLogLevel.Error);

                        }

                        DataRow dr = null;
                        int zoneIdActual = 0;
                        Int32.TryParse(InstallationDetail["Zone_No"].ToString(), out zoneIdActual);
                        bool addToCollection = false;

                        switch (viewType)
                        {
                            case AnalysisView.Zone:
                                if (zoneRows.ContainsKey(zoneIdActual))
                                {
                                    GetGroupByZone gp_zone = zoneRows[zoneIdActual];
                                    dr = gp_zone.dr_row;
                                    gp_zone.count += 1;
                                   
                                }
                                else
                                {                                   
                                    addToCollection = true;
                                }
                                break;

                            default:
                                break;
                        }

                        if (dr == null)
                        {
                            dr = dtAnalysis.NewRow();
                            dtAnalysis.Rows.Add(dr);
                            if (addToCollection)
                            {
                                zoneRows.Add(zoneIdActual, new GetGroupByZone { dr_row = dr, count = 1 });

                            }
                        }

                        if (!isGrouping)
                        {
                            dr["Installation_No"] = InstallationDetail["Installation_no"].ToString();
                            dr["Bar_Pos_Name"] = InstallationDetail["Bar_Pos_Name"].ToString();
                            dr["Stock_No"] = InstallationDetail["Stock_No"].ToString();
                            dr["Name"] = InstallationDetail["Name"].ToString();
                            dr["LastMeterUpdate"] = InstallationDetail["LastMeterUpdate"].Equals(DBNull.Value) ? "" : Convert.ToDateTime(InstallationDetail["LastMeterUpdate"]).ToString("dd-MMM-yyyy HH:mm:ss");
                            dr["LastMeterDate"] = InstallationDetail["LastMeterUpdate"].Equals(DBNull.Value) ? DateTime.MinValue : InstallationDetail["LastMeterUpdate"];
                            //dr["Payout"] = Convert.ToDouble(dr_CurrM["Payout"]).ToString("F");

                            if (Convert.ToInt16(InstallationDetail["Datapak_PollingStatus"]) == 0)
                                dr["GMUtoServer"] = "ERROR";
                            else
                                dr["GMUtoServer"] = "OK";
                            if (Convert.ToInt16(InstallationDetail["GMU_Machine_Status"]) == 0)
                                dr["GMUtoMachine"] = "ERROR";
                            else
                            {
                                if (Convert.ToInt16(InstallationDetail["Datapak_PollingStatus"]) == 0)
                                    dr["GMUtoMachine"] = "UNKNOWN";
                                else
                                    dr["GMUtoMachine"] = "OK";
                            }
                        }
                        else
                        {
                            dr["Installation_No"] = string.Empty;
                            dr["Bar_Pos_Name"] = string.Empty;
                            dr["Stock_No"] = string.Empty;
                            dr["Name"] = string.Empty;
                            dr["LastMeterUpdate"] = string.Empty;
                            //dr["Payout"] = string.Empty;
                        }


                        dr["SortColumn"] = 0;

                        if (viewType == AnalysisView.Zone)
                        {
                            dr["NoofMachine"] = zoneRows[zoneIdActual].count;
                        }
                        else
                        {
                            dr["NoofMachine"] = Convert.ToInt32(InstallationDetail["NoofMachine"] != DBNull.Value ? InstallationDetail["NoofMachine"] : 0);
                        }

                        dr["Zone_No"] = InstallationDetail["Zone_No"].ToString();
                        dr["Zone_Name"] = InstallationDetail["Zone_Name"].ToString();
                        dr_CurrM["NumberofDays"] = Convert.ToDouble(dr_CurrM["NumberofDays"]).ToString();
                        dr_CurrM["GAMES_BET"] = Convert.ToDouble(dr_CurrM["GAMES_BET"]).ToString();
                        dr_CurrM["Payout"] = Convert.ToDouble(dr_CurrM["Payout"]).ToString("F");
                        TotalBills += this.AddIntValue(dr, dr_CurrM, "Bills_In");
                        TotalTicketsIn += this.AddDoubleValue(dr, dr_CurrM, "Tickets_In");

                        TotalCoinsIn += this.AddDoubleValue(dr, dr_CurrM, "Coin_In");
                        TotalNonCashableTicketsIn += this.AddDoubleValue(dr, dr_CurrM, "Non_Cashable_Tickets_In");
                        TotalNonCashableTicketsOut += this.AddDoubleValue(dr, dr_CurrM, "Non_Cashable_Tickets_Out");
                        TotalPayout += this.AddDoubleValue(dr, dr_CurrM, "Payout");
                        TotalDrop += this.AddDoubleValue(dr, dr_CurrM, "Drop");
                        TotalCashIn += this.AddDoubleValue(dr, dr_CurrM, "Cash_In");
                        TotalCashOut += this.AddDoubleValue(dr, dr_CurrM, "Cash_Out");

                        TotalNetWin += this.AddDoubleValue(dr, dr_CurrM, "NetWin");
                        NumberofDays += this.AddDoubleValue(dr, dr_CurrM, "NumberofDays");
                        GAMES_BET += this.AddDoubleValue(dr, dr_CurrM, "GAMES_BET");
                        Totalhandle += this.AddDoubleValue(dr, dr_CurrM, "Handle");
                        TotalMDA += this.AddDoubleValue(dr, dr_CurrM, "MDA");
                        TotalCoinsOut += this.AddDoubleValue(dr, dr_CurrM, "Coin_Out");
                        TicketsOut += this.AddDoubleValue(dr, dr_CurrM, "Tickets_Out");
                        TotalHandpay += this.AddDoubleValue(dr, dr_CurrM, "Handpay");
                        TotalJackpot += this.AddDoubleValue(dr, dr_CurrM, "Jackpot");
                        ProgressiveHandpay += this.AddDoubleValue(dr, dr_CurrM, "Prog_Handpay");
                        TotalAvgBet += this.AddDoubleValue(dr, dr_CurrM, "AvgBet");

                        TotalWon += this.AddDoubleValue(dr, dr_CurrM, "WON"); ;
                        TotalCashRefills += this.AddDoubleValue(dr, dr_CurrM, "Cash_Refills");
                        if (Settings.IsAFTEnabledForSite)
                        {
                            CashableEFTIn += this.AddDoubleValue(dr, dr_CurrM, "CashableEFTIn");
                            CashableEFTOut += this.AddDoubleValue(dr, dr_CurrM, "CashableEFTOut");
                            NonCashableEFTIn += this.AddDoubleValue(dr, dr_CurrM, "NonCashableEFTIn");
                            NonCashableEFTOut += this.AddDoubleValue(dr, dr_CurrM, "NonCashableEFTOut");
                            WATIn += this.AddDoubleValue(dr, dr_CurrM, "WATIn");
                            WATOut += this.AddDoubleValue(dr, dr_CurrM, "WATOut");
                        }

                    }
                }

                if (dtAnalysis.Rows.Count > 0)
                {
                    DataRow SumOfRows = dtAnalysis.NewRow();
                    SumOfRows["Installation_No"] = string.Empty;
                    SumOfRows["Bar_Pos_Name"] = "Total";
                    SumOfRows["Stock_No"] = string.Empty;
                    SumOfRows["Name"] = string.Empty;
                    SumOfRows["LastMeterUpdate"] = string.Empty;
                    SumOfRows["Cash_In"] = TotalCashIn;
                    SumOfRows["Cash_Out"] = TotalCashOut;
                    SumOfRows["NetWin"] = (TotalCashIn - TotalCashOut);
                    SumOfRows["Handle"] = Totalhandle;
                    SumOfRows["Drop"] = TotalDrop;
                    SumOfRows["NoofMachine"] = dtDetails.Rows.Count;
                    SumOfRows["WON"] = TotalWon;
                    SumOfRows["Cash_Refills"] = TotalCashRefills;
                    SumOfRows["IsTotalRow"] = true;
                    if (Totalhandle != 0)
                        SumOfRows["Payout"] = Math.Round(((Totalhandle - TotalNetWin) / Totalhandle) * 100, 2);
                    else
                        SumOfRows["Payout"] = 0;
                    /// dtDetails.Rows.Count,2,MidpointRounding.AwayFromZero);
                    //if (TotalGamesBet == 0)
                    //    TotalAvgBet = Totalhandle;
                    //else
                    //    TotalAvgBet = Totalhandle / TotalGamesBet;

                    //if (Numberofdays > 0)
                    //    MDA = (decimal)(TotalCashIn - TotalCashOut) /( dtAnalysis.Rows.Count * Numberofdays)  ;
                    //else
                    //    MDA = (decimal)(TotalCashIn - TotalCashOut) / dtAnalysis.Rows.Count;
                    if (GAMES_BET == 0)
                        SumOfRows["AvgBet"] = Math.Round(Totalhandle, 2);
                    else
                        SumOfRows["AvgBet"] = Math.Round(Convert.ToDecimal(Totalhandle / GAMES_BET), 2);// TotalAvgBet;
                    if (NumberofDays == 0)
                        SumOfRows["MDA"] = Math.Round(TotalNetWin, 2);
                    else
                        SumOfRows["MDA"] = Math.Round(Convert.ToDecimal(TotalNetWin / NumberofDays), 2);// TotalMDA;//Modified Total AvgDailyWin calculation CR#92149 Fix
                    SumOfRows["Bills_In"] = TotalBills;
                    SumOfRows["Tickets_In"] = TotalTicketsIn;
                    SumOfRows["Tickets_Out"] = TicketsOut;
                    SumOfRows["Coin_In"] = TotalCoinsIn;
                    SumOfRows["Coin_Out"] = TotalCoinsOut;
                    SumOfRows["Non_Cashable_Tickets_In"] = TotalNonCashableTicketsIn;
                    SumOfRows["Non_Cashable_Tickets_out"] = TotalNonCashableTicketsOut;
                    SumOfRows["Handpay"] = TotalHandpay;
                    SumOfRows["Jackpot"] = TotalJackpot;
                    SumOfRows["Prog_Handpay"] = ProgressiveHandpay;
                    if (Settings.IsAFTEnabledForSite)
                    {
                        SumOfRows["CashableEFTIn"] = CashableEFTIn;
                        SumOfRows["CashableEFTOut"] = CashableEFTOut;
                        SumOfRows["NonCashableEFTIn"] = NonCashableEFTIn;
                        SumOfRows["NonCashableEFTOut"] = NonCashableEFTOut;
                        SumOfRows["WATIn"] = WATIn;
                        SumOfRows["WATOut"] = WATOut;
                    }
                    SumOfRows["SortColumn"] = 100;//used to avoid Column "Total" Sorting
                    dtAnalysis.Rows.InsertAt(SumOfRows, 0);
                }

            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
            return dtAnalysis;
        }
        private void LoadAccWinLossComboBoxes()
        {
            try
            {
                DataTable dt_zones = new CommonDataAccess().GetAllZones();

                DataRow dataRow = dt_zones.NewRow();
                dataRow["Zone_No"] = 0;
                dataRow["Zone_Name"] = "ALL";

                dt_zones.Rows.InsertAt(dataRow, 0);

                LogManager.WriteLog("Setting Asset number combo box Item Source property", LogManager.enumLogLevel.Info);

                cmbZone_AWLR.ItemsSource = ((System.ComponentModel.IListSource)dt_zones).GetList();
                cmbZone_AWLR.DataContext = dt_zones.DefaultView;
                cmbZone_AWLR.DisplayMemberPath = "Zone_Name";
                cmbZone_AWLR.SelectedValuePath = "Zone_No";
                cmbZone_AWLR.SelectedIndex = 0;

                DataTable dt_machine_category = new CommonDataAccess().GetMachineCategory();

                DataRow dataRow1 = dt_machine_category.NewRow();
                dataRow1["Machine_Type_ID"] = 0;
                dataRow1["Machine_Type_Code"] = "ALL";

                dt_machine_category.Rows.InsertAt(dataRow1, 0);

                LogManager.WriteLog("Setting Asset number combo box Item Source property", LogManager.enumLogLevel.Info);

                cmbCategory_AWLR.ItemsSource = ((System.ComponentModel.IListSource)dt_machine_category).GetList();
                cmbCategory_AWLR.DataContext = dt_machine_category.DefaultView;
                cmbCategory_AWLR.DisplayMemberPath = "Machine_Type_Code";
                cmbCategory_AWLR.SelectedValuePath = "Machine_Type_ID";
                cmbCategory_AWLR.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }     
        public void GetAnalysisDetails(ref BMC.Transport.CashDeskOperatorEntity.SpotCheck objSpotCheck)
        {
            SqlParameter[] objParams = null;

            try
            {
                if (System.Globalization.CultureInfo.CurrentCulture.Name == "it-IT" ||
                    System.Globalization.CultureInfo.CurrentUICulture.Name == "it-IT" ||
                    (Settings.RegulatoryEnabled && Settings.RegulatoryType == "AAMS"))
                {
                    if (Settings.IsAFTEnabledForSite)
                    {
                        objParams = new SqlParameter[54];
                    }
                    else
                    {
                        objParams = new SqlParameter[48];
                    }

                    objParams[0]  = new SqlParameter("@Installation_No", objSpotCheck.InstallationNo);
                    objParams[1]  = CommonDataAccess.AddOutputparameter("@Cash_In ", objSpotCheck.CashIn);
                    objParams[2]  = CommonDataAccess.AddOutputparameter("@Cash_Out", objSpotCheck.CashOut);
                    objParams[3]  = CommonDataAccess.AddOutputparameter("@Token_In", objSpotCheck.TokenIn);
                    objParams[4]  = CommonDataAccess.AddOutputparameter("@Token_Out", objSpotCheck.TokenOut);
                    objParams[5]  = CommonDataAccess.AddOutputparameter("@Token_Refill", objSpotCheck.TokenRefill);
                    objParams[6]  = CommonDataAccess.AddOutputparameter("@Cash_Refill", objSpotCheck.CashRefill);
                    objParams[7]  = CommonDataAccess.AddOutputparameter("@COINS_IN", objSpotCheck.CoinsIn);
                    objParams[8]  = CommonDataAccess.AddOutputparameter("@COINS_OUT", objSpotCheck.CoinsOut);
                    objParams[9]  = CommonDataAccess.AddOutputparameter("@COINS_DROP", objSpotCheck.CoinsDrop);
                    objParams[10] = CommonDataAccess.AddOutputparameter("@CANCELLED_CREDITS", objSpotCheck.CancelledCredits);
                    objParams[11] = CommonDataAccess.AddOutputparameter("@VTP", objSpotCheck.VTP);
                    objParams[12] = CommonDataAccess.AddOutputparameter("@Datetime", objSpotCheck.DateTimeStamp);
                    objParams[13] = CommonDataAccess.AddOutputparameter("@Jackpot", objSpotCheck.Jackpot);
                    objParams[14] = CommonDataAccess.AddOutputparameter("@Handpay", objSpotCheck.HandPay);
                    objParams[15] = CommonDataAccess.AddOutputparameter("@BILL_1", objSpotCheck.Bill1);
                    objParams[16] = CommonDataAccess.AddOutputparameter("@BILL_2", objSpotCheck.Bill2);
                    objParams[17] = CommonDataAccess.AddOutputparameter("@BILL_5", objSpotCheck.Bill5);
                    objParams[18] = CommonDataAccess.AddOutputparameter("@BILL_10", objSpotCheck.Bill10);
                    objParams[19] = CommonDataAccess.AddOutputparameter("@BILL_20", objSpotCheck.Bill20);
                    objParams[20] = CommonDataAccess.AddOutputparameter("@BILL_50", objSpotCheck.Bill50);
                    objParams[21] = CommonDataAccess.AddOutputparameter("@BILL_100", objSpotCheck.Bill100);
                    objParams[22] = CommonDataAccess.AddOutputparameter("@BILL_250", objSpotCheck.Bill250);
                    objParams[23] = CommonDataAccess.AddOutputparameter("@BILL_10000", objSpotCheck.Bill10000);
                    objParams[24] = CommonDataAccess.AddOutputparameter("@BILL_20000", objSpotCheck.Bill20000);
                    objParams[25] = CommonDataAccess.AddOutputparameter("@BILL_50000", objSpotCheck.Bill50000);
                    objParams[26] = CommonDataAccess.AddOutputparameter("@BILL_100000", objSpotCheck.Bill100000);
                    objParams[27] = CommonDataAccess.AddOutputparameter("@Ticktes_Inserted", objSpotCheck.TicketsInserted);
                    objParams[28] = CommonDataAccess.AddOutputparameter("@TRUE_COIN_IN", objSpotCheck.TrueCoinIn);
                    objParams[29] = CommonDataAccess.AddOutputparameter("@TRUE_COIN_OUT", objSpotCheck.TrueCoinOut);
                    objParams[30] = CommonDataAccess.AddOutputparameter("@CASH_IN_1P", objSpotCheck.CashIn1p);
                    objParams[31] = CommonDataAccess.AddOutputparameter("@CASH_IN_2P", objSpotCheck.CashIn2p);
                    objParams[32] = CommonDataAccess.AddOutputparameter("@CASH_IN_100P", objSpotCheck.CashIn100p);
                    objParams[33] = CommonDataAccess.AddOutputparameter("@CASH_IN_200P", objSpotCheck.CashIn200p);
                    objParams[34] = CommonDataAccess.AddOutputparameter("@CASH_IN_500P", objSpotCheck.CashIn500p);
                    objParams[35] = CommonDataAccess.AddOutputparameter("@CASH_IN_1000P", objSpotCheck.CashIn1000p);
                    objParams[36] = CommonDataAccess.AddOutputparameter("@CASH_IN_2000P", objSpotCheck.CashIn2000p);
                    objParams[37] = CommonDataAccess.AddOutputparameter("@Tickets_Printed", objSpotCheck.TicketsPrinted);
                    objParams[38] = new SqlParameter("@bStartOfDay", objSpotCheck.StartOfDay);
                    objParams[39] = new SqlParameter("@bSelectDay", objSpotCheck.SelectDay);
                    objParams[40] = new SqlParameter("@Date", objSpotCheck.Date);
                    objParams[41] = CommonDataAccess.AddOutputparameter("@NoOfDays", 0);
                    objParams[42] = CommonDataAccess.AddOutputparameter("@ProgHandpay", objSpotCheck.ProgHandpay);
                    objParams[43] = CommonDataAccess.AddOutputparameter("@Games_Bet", 0);

                    if (Settings.IsAFTEnabledForSite)
                    {
                        objParams[44] = CommonDataAccess.AddOutputparameter("@CashableAFTIn", objSpotCheck.CashableEFTIn);
                        objParams[45] = CommonDataAccess.AddOutputparameter("@CashableAFTOut", objSpotCheck.CashableEFTOut);
                        objParams[46] = CommonDataAccess.AddOutputparameter("@NonCashableAFTIn", objSpotCheck.NonCashableEFTIn);
                        objParams[47] = CommonDataAccess.AddOutputparameter("@NonCashableAFTOut", objSpotCheck.NonCashableEFTOut);
                        objParams[48] = CommonDataAccess.AddOutputparameter("@WATIn", objSpotCheck.WATIn);
                        objParams[49] = CommonDataAccess.AddOutputparameter("@WATOut", objSpotCheck.WATOut);
                        objParams[50] = CommonDataAccess.AddOutputparameter("@BILL_200", objSpotCheck.Bill200);
                        objParams[51] = CommonDataAccess.AddOutputparameter("@BILL_500", objSpotCheck.Bill500);
                        objParams[52] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Inserted", objSpotCheck.NonCashableTicketsInserted);
                        objParams[53] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Printed", objSpotCheck.NonCashableTicketsPrinted);
                    }
                    else
                    {
                        objParams[44] = CommonDataAccess.AddOutputparameter("@BILL_200", objSpotCheck.Bill200);
                        objParams[45] = CommonDataAccess.AddOutputparameter("@BILL_500", objSpotCheck.Bill500);
                        objParams[46] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Inserted", objSpotCheck.NonCashableTicketsInserted);
                        objParams[47] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Printed", objSpotCheck.NonCashableTicketsPrinted);
                    }

                    SqlConnection objcon = new SqlConnection(CommonDataAccess.ExchangeConnectionString);
                    objcon.Open();
                    SqlCommand objcomd = new SqlCommand("usp_GetSpotCheckDataSAS", objcon);
                    objcomd.CommandType    = CommandType.StoredProcedure;
                    objcomd.CommandTimeout = SqlHelper.LoadCommandTimeout();
                    objcomd.Parameters.AddRange(objParams);
                    objcomd.ExecuteReader();
                    objcon.Close();

                    objSpotCheck.CashIn           = (objParams[1].Value).ToString().GetDecimal();
                    objSpotCheck.CashOut          = (objParams[2].Value).ToString().GetDecimal();
                    objSpotCheck.TokenIn          = (objParams[3].Value).ToString().GetDecimal();
                    objSpotCheck.TokenOut         = (objParams[4].Value).ToString().GetDecimal();
                    objSpotCheck.TokenRefill      = (objParams[5].Value).ToString().GetDecimal();
                    objSpotCheck.CashRefill       = (objParams[6].Value).ToString().GetDecimal();
                    objSpotCheck.CoinsIn          = (objParams[7].Value).ToString().GetDecimal();
                    objSpotCheck.CoinsOut         = (objParams[8].Value).ToString().GetDecimal();
                    objSpotCheck.CoinsDrop        = (double)(objParams[9].Value).ToString().GetDecimal();
                    objSpotCheck.CancelledCredits = (objParams[10].Value).ToString().GetDecimal();
                    objSpotCheck.VTP             = (objParams[11].Value).ToString().GetDecimal();
                    objSpotCheck.DateTimeStamp   = objParams[12].Value.ToString().ReadDate();
                    objSpotCheck.Jackpot         = (objParams[13].Value).ToString().GetDecimal();
                    objSpotCheck.HandPay         = (objParams[14].Value).ToString().GetDecimal();
                    objSpotCheck.TicketsInserted = (objParams[27].Value).ToString().GetDecimal();
                    objSpotCheck.TrueCoinIn      = (objParams[28].Value).ToString().GetDecimal();
                    objSpotCheck.TrueCoinOut     = (objParams[29].Value).ToString().GetDecimal();
                    objSpotCheck.TicketsPrinted  = (objParams[36].Value).ToString().GetDecimal();

                    objSpotCheck.Bill1  = (objParams[15].Value).ToString().GetDecimal();
                    objSpotCheck.Bill2  = (objParams[16].Value).ToString().GetDecimal();
                    objSpotCheck.Bill5  = (objParams[17].Value).ToString().GetDecimal();
                    objSpotCheck.Bill10 = (objParams[18].Value).ToString().GetDecimal();

                    objSpotCheck.Bill20     = (objParams[19].Value).ToString().GetDecimal();
                    objSpotCheck.Bill50     = (objParams[20].Value).ToString().GetDecimal();
                    objSpotCheck.Bill100    = (objParams[21].Value).ToString().GetDecimal();
                    objSpotCheck.Bill250    = (objParams[22].Value).ToString().GetDecimal();
                    objSpotCheck.Bill10000  = (objParams[23].Value).ToString().GetDecimal();
                    objSpotCheck.Bill20000  = (objParams[24].Value).ToString().GetDecimal();
                    objSpotCheck.Bill50000  = (objParams[25].Value).ToString().GetDecimal();
                    objSpotCheck.Bill100000 = (objParams[26].Value).ToString().GetDecimal();

                    objSpotCheck.CashIn2p     = (objParams[30].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn100p   = (objParams[31].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn200p   = (objParams[32].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn500p   = (objParams[33].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn1000p  = (objParams[34].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn2000p  = (objParams[35].Value).ToString().GetDecimal();
                    objSpotCheck.NumberOfDays = (objParams[40].Value == DBNull.Value) ? 0 : Convert.ToInt32(objParams[40].Value);
                    objSpotCheck.ProgHandpay  = (objParams[41].Value).ToString().GetDecimal();
                    objSpotCheck.GamesBet     = Convert.ToInt32(objParams[42].Value);

                    if (Settings.IsAFTEnabledForSite)
                    {
                        objSpotCheck.CashableEFTIn              = (objParams[43].Value).ToString().GetDecimal();
                        objSpotCheck.CashableEFTOut             = (objParams[44].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableEFTIn           = (objParams[45].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableEFTOut          = (objParams[46].Value).ToString().GetDecimal();
                        objSpotCheck.WATIn                      = (objParams[47].Value).ToString().GetDecimal();
                        objSpotCheck.WATOut                     = (objParams[48].Value).ToString().GetDecimal();
                        objSpotCheck.Bill200                    = (objParams[49].Value).ToString().GetDecimal();
                        objSpotCheck.Bill500                    = (objParams[50].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsInserted = (objParams[51].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsPrinted  = (objParams[52].Value).ToString().GetDecimal();
                    }
                    else
                    {
                        objSpotCheck.Bill200 = (objParams[43].Value).ToString().GetDecimal();
                        objSpotCheck.Bill500 = (objParams[44].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsInserted = (objParams[45].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsPrinted  = (objParams[46].Value).ToString().GetDecimal();
                    }
                }
                else
                {
                    if (Settings.IsAFTEnabledForSite)

                    {
                        objParams = new SqlParameter[54];
                    }
                    else
                    {
                        objParams = new SqlParameter[48];
                    }

                    objParams[0]  = new SqlParameter("@Installation_No", objSpotCheck.InstallationNo);
                    objParams[1]  = CommonDataAccess.AddOutputparameter("@Cash_In ", objSpotCheck.CashIn);
                    objParams[2]  = CommonDataAccess.AddOutputparameter("@Cash_Out", objSpotCheck.CashOut);
                    objParams[3]  = CommonDataAccess.AddOutputparameter("@Token_In", objSpotCheck.TokenIn);
                    objParams[4]  = CommonDataAccess.AddOutputparameter("@Token_Out", objSpotCheck.TokenOut);
                    objParams[5]  = CommonDataAccess.AddOutputparameter("@Token_Refill", objSpotCheck.TokenRefill);
                    objParams[6]  = CommonDataAccess.AddOutputparameter("@Cash_Refill", objSpotCheck.CashRefill);
                    objParams[7]  = CommonDataAccess.AddOutputparameter("@COINS_IN", objSpotCheck.CoinsIn);
                    objParams[8]  = CommonDataAccess.AddOutputparameter("@COINS_OUT", objSpotCheck.CoinsOut);
                    objParams[9]  = CommonDataAccess.AddOutputparameter("@COINS_DROP", objSpotCheck.CoinsDrop);
                    objParams[10] = CommonDataAccess.AddOutputparameter("@CANCELLED_CREDITS", objSpotCheck.CancelledCredits);
                    objParams[11] = CommonDataAccess.AddOutputparameter("@VTP", objSpotCheck.VTP);
                    objParams[12] = CommonDataAccess.AddOutputparameter("@Datetime", objSpotCheck.DateTimeStamp);
                    objParams[13] = CommonDataAccess.AddOutputparameter("@Jackpot", objSpotCheck.Jackpot);
                    objParams[14] = CommonDataAccess.AddOutputparameter("@Handpay", objSpotCheck.HandPay);
                    objParams[15] = CommonDataAccess.AddOutputparameter("@BILL_1", objSpotCheck.Bill1);
                    objParams[16] = CommonDataAccess.AddOutputparameter("@BILL_2", objSpotCheck.Bill2);
                    objParams[17] = CommonDataAccess.AddOutputparameter("@BILL_5", objSpotCheck.Bill5);
                    objParams[18] = CommonDataAccess.AddOutputparameter("@BILL_10", objSpotCheck.Bill10);
                    objParams[19] = CommonDataAccess.AddOutputparameter("@BILL_20", objSpotCheck.Bill20);
                    objParams[20] = CommonDataAccess.AddOutputparameter("@BILL_50", objSpotCheck.Bill50);
                    objParams[21] = CommonDataAccess.AddOutputparameter("@BILL_100", objSpotCheck.Bill100);
                    objParams[22] = CommonDataAccess.AddOutputparameter("@BILL_250", objSpotCheck.Bill250);
                    objParams[23] = CommonDataAccess.AddOutputparameter("@BILL_10000", objSpotCheck.Bill10000);
                    objParams[24] = CommonDataAccess.AddOutputparameter("@BILL_20000", objSpotCheck.Bill20000);
                    objParams[25] = CommonDataAccess.AddOutputparameter("@BILL_50000", objSpotCheck.Bill50000);
                    objParams[26] = CommonDataAccess.AddOutputparameter("@BILL_100000", objSpotCheck.Bill100000);
                    objParams[27] = CommonDataAccess.AddOutputparameter("@Ticktes_Inserted", objSpotCheck.TicketsInserted);
                    objParams[28] = CommonDataAccess.AddOutputparameter("@TRUE_COIN_IN", objSpotCheck.TrueCoinIn);
                    objParams[29] = CommonDataAccess.AddOutputparameter("@TRUE_COIN_OUT", objSpotCheck.TrueCoinOut);
                    objParams[30] = CommonDataAccess.AddOutputparameter("@CASH_IN_1P", objSpotCheck.CashIn1p);
                    objParams[31] = CommonDataAccess.AddOutputparameter("@CASH_IN_2P", objSpotCheck.CashIn2p);
                    objParams[32] = CommonDataAccess.AddOutputparameter("@CASH_IN_100P", objSpotCheck.CashIn100p);
                    objParams[33] = CommonDataAccess.AddOutputparameter("@CASH_IN_200P", objSpotCheck.CashIn200p);
                    objParams[34] = CommonDataAccess.AddOutputparameter("@CASH_IN_500P", objSpotCheck.CashIn500p);
                    objParams[35] = CommonDataAccess.AddOutputparameter("@CASH_IN_1000P", objSpotCheck.CashIn1000p);
                    objParams[36] = CommonDataAccess.AddOutputparameter("@CASH_IN_2000P", objSpotCheck.CashIn2000p);
                    objParams[37] = CommonDataAccess.AddOutputparameter("@Tickets_Printed", objSpotCheck.TicketsPrinted);
                    objParams[38] = new SqlParameter("@bStartOfDay", objSpotCheck.StartOfDay);
                    objParams[39] = new SqlParameter("@bSelectDay", objSpotCheck.SelectDay);
                    objParams[40] = new SqlParameter("@Date", objSpotCheck.Date);
                    objParams[41] = CommonDataAccess.AddOutputparameter("@NoOfDays", 0);
                    objParams[42] = CommonDataAccess.AddOutputparameter("@ProgHandpay", 0);
                    objParams[43] = CommonDataAccess.AddOutputparameter("@Games_Bet", 0);

                    if (Settings.IsAFTEnabledForSite)
                    {
                        objParams[44] = CommonDataAccess.AddOutputparameter("@CashableAFTIn", objSpotCheck.CashableEFTIn);
                        objParams[45] = CommonDataAccess.AddOutputparameter("@CashableAFTOut", objSpotCheck.CashableEFTOut);
                        objParams[46] = CommonDataAccess.AddOutputparameter("@NonCashableAFTIn", objSpotCheck.NonCashableEFTIn);
                        objParams[47] = CommonDataAccess.AddOutputparameter("@NonCashableAFTOut", objSpotCheck.NonCashableEFTOut);
                        objParams[48] = CommonDataAccess.AddOutputparameter("@WATIn", objSpotCheck.WATIn);
                        objParams[49] = CommonDataAccess.AddOutputparameter("@WATOut", objSpotCheck.WATOut);
                        objParams[50] = CommonDataAccess.AddOutputparameter("@BILL_200", objSpotCheck.Bill200);
                        objParams[51] = CommonDataAccess.AddOutputparameter("@BILL_500", objSpotCheck.Bill500);
                        objParams[52] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Inserted", objSpotCheck.NonCashableTicketsInserted);
                        objParams[53] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Printed", objSpotCheck.NonCashableTicketsPrinted);
                    }
                    else
                    {
                        objParams[44] = CommonDataAccess.AddOutputparameter("@BILL_200", objSpotCheck.Bill200);
                        objParams[45] = CommonDataAccess.AddOutputparameter("@BILL_500", objSpotCheck.Bill500);
                        objParams[46] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Inserted", objSpotCheck.NonCashableTicketsInserted);
                        objParams[47] = CommonDataAccess.AddOutputparameter("@NonCashable_Tickets_Printed", objSpotCheck.NonCashableTicketsPrinted);
                    }

                    SqlConnection objcon = new SqlConnection(CommonDataAccess.ExchangeConnectionString);
                    objcon.Open();
                    SqlCommand objcomd = new SqlCommand("usp_GetSpotCheckDataSAS", objcon);
                    objcomd.CommandType    = CommandType.StoredProcedure;
                    objcomd.CommandTimeout = SqlHelper.LoadCommandTimeout();
                    objcomd.Parameters.AddRange(objParams);
                    objcomd.ExecuteReader();
                    objcon.Close();

                    objSpotCheck.CashIn           = (objParams[1].Value).ToString().GetDecimal();
                    objSpotCheck.CashOut          = (objParams[2].Value).ToString().GetDecimal();
                    objSpotCheck.TokenIn          = (objParams[3].Value).ToString().GetDecimal();
                    objSpotCheck.TokenOut         = (objParams[4].Value).ToString().GetDecimal();
                    objSpotCheck.TokenRefill      = (objParams[5].Value).ToString().GetDecimal();
                    objSpotCheck.CashRefill       = (objParams[6].Value).ToString().GetDecimal();
                    objSpotCheck.CoinsIn          = (objParams[7].Value).ToString().GetDecimal();
                    objSpotCheck.CoinsOut         = (objParams[8].Value).ToString().GetDecimal();
                    objSpotCheck.CoinsDrop        = (double)(objParams[9].Value).ToString().GetDecimal();
                    objSpotCheck.CancelledCredits = (objParams[10].Value).ToString().GetDecimal();
                    objSpotCheck.VTP             = (objParams[11].Value).ToString().GetDecimal();
                    objSpotCheck.DateTimeStamp   = objParams[12].Value.ToString().ReadDate();
                    objSpotCheck.Jackpot         = (objParams[13].Value).ToString().GetDecimal();
                    objSpotCheck.HandPay         = (objParams[14].Value).ToString().GetDecimal();
                    objSpotCheck.TicketsInserted = (objParams[27].Value).ToString().GetDecimal();
                    objSpotCheck.TrueCoinIn      = (objParams[28].Value).ToString().GetDecimal();
                    objSpotCheck.TrueCoinOut     = (objParams[29].Value).ToString().GetDecimal();
                    objSpotCheck.TicketsPrinted  = (objParams[36].Value).ToString().GetDecimal();

                    objSpotCheck.Bill1  = (objParams[15].Value).ToString().GetDecimal();
                    objSpotCheck.Bill2  = (objParams[16].Value).ToString().GetDecimal();
                    objSpotCheck.Bill5  = (objParams[17].Value).ToString().GetDecimal();
                    objSpotCheck.Bill10 = (objParams[18].Value).ToString().GetDecimal();

                    objSpotCheck.Bill20     = (objParams[19].Value).ToString().GetDecimal();
                    objSpotCheck.Bill50     = (objParams[20].Value).ToString().GetDecimal();
                    objSpotCheck.Bill100    = (objParams[21].Value).ToString().GetDecimal();
                    objSpotCheck.Bill250    = (objParams[22].Value).ToString().GetDecimal();
                    objSpotCheck.Bill10000  = (objParams[23].Value).ToString().GetDecimal();
                    objSpotCheck.Bill20000  = (objParams[24].Value).ToString().GetDecimal();
                    objSpotCheck.Bill50000  = (objParams[25].Value).ToString().GetDecimal();
                    objSpotCheck.Bill100000 = (objParams[26].Value).ToString().GetDecimal();

                    objSpotCheck.CashIn2p     = (objParams[30].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn100p   = (objParams[31].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn200p   = (objParams[32].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn500p   = (objParams[33].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn1000p  = (objParams[34].Value).ToString().GetDecimal();
                    objSpotCheck.CashIn2000p  = (objParams[35].Value).ToString().GetDecimal();
                    objSpotCheck.NumberOfDays = (objParams[40].Value == DBNull.Value) ? 0 : Convert.ToInt32(objParams[40].Value);
                    objSpotCheck.ProgHandpay  = (objParams[41].Value).ToString().GetDecimal();
                    objSpotCheck.GamesBet     = Convert.ToInt32(objParams[42].Value);

                    if (Settings.IsAFTEnabledForSite)
                    {
                        objSpotCheck.CashableEFTIn              = (objParams[43].Value).ToString().GetDecimal();
                        objSpotCheck.CashableEFTOut             = (objParams[44].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableEFTIn           = (objParams[45].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableEFTOut          = (objParams[46].Value).ToString().GetDecimal();
                        objSpotCheck.WATIn                      = (objParams[47].Value).ToString().GetDecimal();
                        objSpotCheck.WATOut                     = (objParams[48].Value).ToString().GetDecimal();
                        objSpotCheck.Bill200                    = (objParams[49].Value).ToString().GetDecimal();
                        objSpotCheck.Bill500                    = (objParams[50].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsInserted = (objParams[51].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsPrinted  = (objParams[52].Value).ToString().GetDecimal();
                    }
                    else
                    {
                        objSpotCheck.Bill200 = (objParams[43].Value).ToString().GetDecimal();
                        objSpotCheck.Bill500 = (objParams[44].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsInserted = (objParams[45].Value).ToString().GetDecimal();
                        objSpotCheck.NonCashableTicketsPrinted  = (objParams[46].Value).ToString().GetDecimal();
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
        /// <summary>
        /// Create database back up in Zip format and kept in path
        /// </summary>
        /// <returns>int 0 -not success, 1- success, 2 - already backkup available</returns>
        public int CreateSqlDatabaseBackUp(FactoryReset oFactoryResetEntity)
        {
            SqlConnection    SqlConn = null;
            ServerConnection svrConnServerConnection = null;
            Server           SqlSever = null;
            Backup           bak      = null;
            BackupDeviceItem bkpitem  = null;
            DateTime         dt       = DateTime.Now;
            int iResult = 0;

            String[] format      = { "ddMMMyyyyHHmm" };
            string   bkpFileName = "";
            string   Backuppath  = "";
            string   date        = "";
            string   zipFileName = "";

            try
            {
                date        = dt.ToString(format[0], DateTimeFormatInfo.InvariantInfo);
                Backuppath  = oFactoryResetEntity.strBackupPath;
                bkpFileName = Backuppath + "\\" + "[" + date + "]" + "_BAK_" + "[" +
                              CommonDataAccess.GetSettingValue("TICKET_LOCATION_CODE") + "]" +
                              "[" + BMC.Transport.Settings.SiteName + "]" + "_" +
                              oFactoryResetEntity.BackUpDataBase + ".BAK";
                oFactoryResetEntity.strBackupFileName = bkpFileName;
                if (Directory.Exists(Backuppath))
                {
                    if (File.Exists(bkpFileName) == false)
                    {
                        try
                        {
                            SqlConn = new SqlConnection(CommonDataAccess.ExchangeConnectionString);
                            svrConnServerConnection = new ServerConnection(SqlConn);
                            SqlSever = new Server(svrConnServerConnection);

                            if (SqlSever != null)
                            {
                                bak        = new Microsoft.SqlServer.Management.Smo.Backup();
                                bak.Action = BackupActionType.Database;
                                bkpitem    = new BackupDeviceItem(bkpFileName, DeviceType.File);
                                bak.Devices.Add(bkpitem);
                                bak.Database = oFactoryResetEntity.BackUpDataBase;
                                bak.SqlBackup(SqlSever);
                            }
                        }
                        catch (SqlException sqlex)
                        {
                            ExceptionManager.Publish(sqlex);
                            iResult = 0;
                        }
                        catch (TimeoutException tex)
                        {
                            ExceptionManager.Publish(tex);
                            iResult = 0;
                        }

                        zipFileName = Backuppath + "\\" + "bkp" + oFactoryResetEntity.BackUpDataBase + date + ".ZIP";
                        zipFileName = Backuppath + "\\" + "[" + date + "]" + "_BAK_" + "[" +
                                      CommonDataAccess.GetSettingValue("TICKET_LOCATION_CODE") + "]" +
                                      "[" + BMC.Transport.Settings.SiteName + "]" + "_" +
                                      oFactoryResetEntity.BackUpDataBase + ".ZIP";
                        oFactoryResetEntity.strZipFileName = zipFileName;
                        iResult = 1;
                    }
                    else
                    {
                        iResult = 2;
                    }
                }
                else
                {
                    Directory.CreateDirectory(Backuppath);
                    try
                    {
                        SqlConn = new SqlConnection(CommonDataAccess.ExchangeConnectionString);
                        svrConnServerConnection = new ServerConnection(SqlConn);
                        SqlSever = new Server(svrConnServerConnection);

                        if (SqlSever != null)
                        {
                            bak        = new Microsoft.SqlServer.Management.Smo.Backup();
                            bak.Action = BackupActionType.Database;
                            bkpitem    = new BackupDeviceItem(bkpFileName, DeviceType.File);
                            bak.Devices.Add(bkpitem);
                            bak.Database = oFactoryResetEntity.BackUpDataBase;
                            bak.SqlBackup(SqlSever);
                        }
                    }
                    catch (SqlException sqlex)
                    {
                        ExceptionManager.Publish(sqlex);
                        iResult = 0;
                    }
                    catch (TimeoutException tex)
                    {
                        ExceptionManager.Publish(tex);
                        iResult = 0;
                    }
                    zipFileName = Backuppath + "bkp" + oFactoryResetEntity.BackUpDataBase + date + ".zip";
                    oFactoryResetEntity.strZipFileName = zipFileName;
                    iResult = 1;
                }
            }
            catch (FileNotFoundException fex)
            {
                ExceptionManager.Publish(fex);
                iResult = 0;
            }
            catch (FileLoadException flx)
            {
                ExceptionManager.Publish(flx);
                iResult = 0;
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                iResult = 0;
            }
            return(iResult);
        }
 public string GetSetting(string strSettingName, string defaultValue)
 {
     return(CommonDataAccess.GetSettingValue(strSettingName, defaultValue));
 }
 private void GetInstallationDetailsTable()
 {
     CommonDataAccess commonDataAccess = new CommonDataAccess();
     try
     {
         objInstallationDetails = CommonDataAccess.GetInstallationDetailsForHourly();
     }
     catch (Exception ex)
     {
         LogManager.WriteLog(ex.Message, LogManager.enumLogLevel.Error);
     }
 }