private void ExecuteHourlyVTP(int installationNo)
        {
            DateTime dtTheDateTime;
            int      iTheHour     = 0;
            int      iReturnValue = -1;

            try
            {
                LogManager.WriteLog("Inside ExecuteHourlyVTP", LogManager.enumLogLevel.Info);

                if (DateTime.Now.Hour == 0)
                {
                    dtTheDateTime = DateTime.Today.Date.AddDays(-1);
                    dtTheDateTime.Date.ToString(format[0], DateTimeFormatInfo.InvariantInfo);
                    iTheHour = 24;
                    LogManager.WriteLog("Started hourly for datetime= " + dtTheDateTime.ToString() + " Started hourly for Hour= " + iTheHour.ToString(), LogManager.enumLogLevel.Info);
                }
                else
                {
                    dtTheDateTime = DateTime.Now;
                    dtTheDateTime.ToString(format[1], DateTimeFormatInfo.InvariantInfo);
                    iTheHour = DateTime.Now.Hour;
                    LogManager.WriteLog("Started hourly for datetime= " + dtTheDateTime.ToString() + " Started hourly for Hour= " + iTheHour.ToString(), LogManager.enumLogLevel.Info);
                }

                iReturnValue = EnrollmentBusinessObject.CreateInstance().ExecuteHourlyVTP(installationNo, dtTheDateTime, iTheHour, false);

                switch (iReturnValue)
                {
                case 0:
                    LogManager.WriteLog("Hourly for DPNo=" + installationNo + " -Passed!", LogManager.enumLogLevel.Info);
                    break;

                case 1:
                    LogManager.WriteLog("Hourly for  DPNo= " + installationNo + " -Invalid Installation!", LogManager.enumLogLevel.Info);
                    break;

                case 2:
                    LogManager.WriteLog("Hourly for DPNo= " + installationNo + " -Invalid Installation!", LogManager.enumLogLevel.Info);
                    break;

                default:
                    LogManager.WriteLog("Hourly for DPNo= " + installationNo + " -'Other' Error-", LogManager.enumLogLevel.Info);
                    break;
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
        }
Esempio n. 2
0
        private DataTable GetActiveSiteDetailsFromEnterprise()
        {
            try
            {
                LogManager.WriteLog("Inside GetActiveSiteDetailsFromEnterprise method", LogManager.enumLogLevel.Info);

                return(EnrollmentBusinessObject.CreateInstance().GetActiveSiteDetails());;
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
                return(null);
            }
        }
        private void GetAssetDetailsFromEnterprise()
        {
            Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate
            {
                try
                {
                    LogManager.WriteLog("Inside GetAccDetails_Click", LogManager.enumLogLevel.Info);

                    // Get details from Enterprise for the asset
                    if (txtAsset.Text.Trim().Length > 0)
                    {
                        LogManager.WriteLog("Invoking GetAssetDetails method", LogManager.enumLogLevel.Info);

                        DataTable dtAsset = EnrollmentBusinessObject.CreateInstance().GetAssetDetails(txtAsset.Text.Trim(), Settings.SiteCode);

                        LogManager.WriteLog("GetAssetDetails Success", LogManager.enumLogLevel.Info);

                        if (dtAsset != null)
                        {
                            LogManager.WriteLog("Asset details available", LogManager.enumLogLevel.Info);

                            LogManager.WriteLog("Asset details - " + dtAsset.Rows.Count.ToString(), LogManager.enumLogLevel.Info);
                            if (dtAsset.Rows.Count > 0)
                            {
                                switch (Int32.Parse(dtAsset.Rows[0][0].ToString()))
                                {
                                case -1:     //asset not exists
                                    LogManager.WriteLog("Inside Case -1", LogManager.enumLogLevel.Info);
                                    ShowMessage("MessageID239");
                                    EnterpriseSuccess = false;
                                    txtAsset.Text     = string.Empty;
                                    //TODO: Message Box
                                    lblSerialNo.Content   = "";
                                    lblGameTitle.Content  = "";
                                    tbMachineType.Text    = "";
                                    lblAltSrialNo.Content = "";
                                    lblGMUNo.Content      = "";
                                    return;

                                case -2:     //asset is IN USE
                                    LogManager.WriteLog("Inside Case -2", LogManager.enumLogLevel.Info);
                                    ShowMessage("MessageID238");
                                    EnterpriseSuccess = false;
                                    txtAsset.Text     = string.Empty;
                                    //TODO: Message Box
                                    lblSerialNo.Content   = "";
                                    lblGameTitle.Content  = "";
                                    tbMachineType.Text    = "";
                                    lblAltSrialNo.Content = "";
                                    lblGMUNo.Content      = "";
                                    return;

                                case -3:     //asset is in Transit
                                    LogManager.WriteLog("Inside Case -3", LogManager.enumLogLevel.Info);
                                    ShowMessage("MessageID341");
                                    EnterpriseSuccess = false;
                                    txtAsset.Text     = string.Empty;
                                    //TODO: Message Box
                                    lblSerialNo.Content   = "";
                                    lblGameTitle.Content  = "";
                                    tbMachineType.Text    = "";
                                    lblAltSrialNo.Content = "";
                                    lblGMUNo.Content      = "";
                                    return;

                                case 0:
                                    LogManager.WriteLog("Inside Case 0", LogManager.enumLogLevel.Info);
                                    string AGSSerial      = string.Empty;
                                    EnterpriseSuccess     = true;
                                    objPosDetails.AssetNo = txtAsset.Text.Trim();

                                    lblSerialNo.Content                = dtAsset.Rows[0]["SerialNo"].ToString();
                                    objPosDetails.SerialNo             = dtAsset.Rows[0]["SerialNo"].ToString();
                                    lblGameTitle.Content               = objPosDetails.Game = dtAsset.Rows[0]["Game"].ToString();         //MachineName
                                    tbMachineType.Text                 = objPosDetails.GameCode = dtAsset.Rows[0]["GameCode"].ToString(); //MachineTypeCode
                                    lblAltSrialNo.Content              = objPosDetails.AltSerialNo = dtAsset.Rows[0]["AltSerialNo"].ToString();
                                    objPosDetails.Manufacturer         = dtAsset.Rows[0]["Manufacturer_Name"].ToString();
                                    objPosDetails.ActAssetNo           = dtAsset.Rows[0]["ActAssetNo"].ToString();
                                    objPosDetails.GMUNo                = dtAsset.Rows[0]["GMUNo"].ToString();
                                    lblGMUNo.Content                   = objPosDetails.GMUNo;
                                    objPosDetails.ActSerialNo          = dtAsset.Rows[0]["ActSerialNo"].ToString();
                                    objPosDetails.EnrolmentFlag        = int.Parse(dtAsset.Rows[0]["EnrolmentFlag"].ToString());
                                    objPosDetails.CMPGameType          = dtAsset.Rows[0]["CMPGameType"].ToString();
                                    objPosDetails.isMultiGame          = Convert.ToBoolean(dtAsset.Rows[0]["isMultiGame"].ToString()) ? 1 : 0;
                                    objPosDetails.GetGameDetails       = Convert.ToBoolean(dtAsset.Rows[0]["GetGameDetails"].ToString());
                                    objPosDetails.IsDefaultAssetDetail = Convert.ToBoolean(dtAsset.Rows[0]["IsDefaultAssetDetail"]);
                                    objPosDetails.BaseDenom            = int.Parse(dtAsset.Rows[0]["Base_Denom"].ToString());
                                    objPosDetails.PercentagePayout     = Convert.ToSingle(dtAsset.Rows[0]["Percentage_Payout"].ToString());
                                    objPosDetails.OccupancyHour        = Convert.ToInt32(dtAsset.Rows[0]["OccupanyHour"].ToString());
                                    objPosDetails.AssetDisplayName     = Convert.ToString(dtAsset.Rows[0]["AssetDisplayName"].ToString());
                                    objPosDetails.GameTypeCode         = Convert.ToString(dtAsset.Rows[0]["GameTypeCode"].ToString());

                                    if (objPosDetails.EnrolmentFlag == 1)
                                    {
                                        tb_AssetNo.Text = Application.Current.FindResource("PosDetails_xaml_TextBlock_3").ToString();
                                    }
                                    else if (objPosDetails.EnrolmentFlag == 2)
                                    {
                                        tb_AssetNo.Text = Application.Current.FindResource("MachineRemoval_xaml_TextBlock_4").ToString();
                                    }
                                    else
                                    {
                                        tb_AssetNo.Text = Application.Current.FindResource("EnrollmentWnd_xaml_SerialNo").ToString();
                                    }
                                    break;
                                }
                            }
                            else
                            {
                                ShowMessage("MessageID237");
                            }
                        }
                        else
                        {
                            LogManager.WriteLog("Asset details not available", LogManager.enumLogLevel.Error);
                        }
                    }
                    else
                    {
                        EnterpriseSuccess     = false;
                        lblSerialNo.Content   = "";
                        lblGameTitle.Content  = "";
                        tbMachineType.Text    = "";
                        lblAltSrialNo.Content = "";
                        lblGMUNo.Content      = "";
                    }
                }
                catch (Exception ex)
                {
                    ExceptionManager.Publish(ex);
                    GetAccDetails.IsEnabled = true;
                }
            });
        }
        private void EnrollMachine()
        {
            Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate
            {
                try
                {
                    LogManager.WriteLog("Inside Enroll_Click", LogManager.enumLogLevel.Info);

                    int installationNo = 0;
                    if (Settings.ValidateGMUInSite && Settings.AGSValue.Trim() == Settings.DefaultGMUValue.Trim())
                    {
                        if (UpdateGMUNo.CreateInstance().CheckAGSCombination("", lblGMUNo.Content.ToString().Trim(), ""))
                        {
                            MessageBox.ShowBox("MessageID510", BMC_Icon.Information);
                            return;
                        }
                    }
                    int agsValue = Convert.ToInt32(Settings.AGSValue.Trim());
                    if (UpdateGMUNo.CreateInstance().CheckAGSCombination(((agsValue & 8) == 8) ?  objPosDetails.ActAssetNo :"", ((agsValue & 16) == 16) ?  lblGMUNo.Content.ToString().Trim() : "", ((agsValue & 4) == 4) ?  objPosDetails.ActSerialNo : ""))
                    {
                        MessageBox.ShowBox("Enrollment_MessageID511", BMC_Icon.Information);
                        return;
                    }

                    GetAssetDetailsFromEnterprise();

                    if (EnterpriseSuccess)
                    {
                        if (lblSerialNo.Content.ToString() == string.Empty)
                        {
                            MessageBox.ShowBox("MessageID300", BMC_Icon.Information);
                            return;
                        }

                        LogManager.WriteLog("Inside If - EnterpriseSuccess", LogManager.enumLogLevel.Info);

                        //if (!ValidateControls())
                        //    return;

                        LogManager.WriteLog("Assigning values to object...", LogManager.enumLogLevel.Info);

                        //objPosDetails.CreditValue = Int32.Parse(txtCreditValue.Text.Trim());
                        objPosDetails.CreditValue = Convert.ToInt32(cmbCoinType.SelectedValue);
                        LogManager.WriteLog("CreditValue assigned", LogManager.enumLogLevel.Info);

                        objPosDetails.Jackpot = 0;// Int32.Parse(txtJackpot.Text.Trim()); ;
                        //LogManager.WriteLog("Jackpot value assigned", LogManager.enumLogLevel.Info);

                        LogManager.WriteLog("Invoking InstallMachine....", LogManager.enumLogLevel.Info);

                        EnrollmentErrorCodes ReturnValue = EnrollmentBusinessObject.CreateInstance().InstallMachine(objPosDetails, Security.SecurityHelper.CurrentUser.SecurityUserID, out installationNo);

                        LogManager.WriteLog(string.Format("Install Machine Completed with ReturnCode - {0}", ReturnValue), LogManager.enumLogLevel.Info);

                        switch (ReturnValue)
                        {
                        case EnrollmentErrorCodes.UpdateToOptionFileParameterFailure:
                            {
                                try
                                {
                                    LogManager.WriteLog(string.Format("Machine Removal due to  UpdateToOptionFileParameterFailure : Serial No:{0}, Installation No: (1) ", objPosDetails.SerialNo, objPosDetails.InstallationNo), LogManager.enumLogLevel.Info);
                                    //EnrollmentErrorCodes ErrorCode = EnrollmentBusinessObject.CreateInstance().RemoveMachine(objPosDetails.InstallationNo, 0, string.Empty);
                                }
                                catch (Exception ex)
                                {
                                    LogManager.WriteLog("Machine Removal due to UpdateToOptionFileParameterFailure", LogManager.enumLogLevel.Info);
                                    ExceptionManager.Publish(ex);
                                }
                                ShowMessage("MessageID351");
                                Audit_Error("Unable to update the Option File Parameter.");
                                break;
                            }

                        case EnrollmentErrorCodes.AddToPollingListFailure:
                            {
                                try
                                {
                                    LogManager.WriteLog(string.Format("Machine Removal due to  AddToPollingListFailure : Serial No:{0}, Installation No: (1) ", objPosDetails.SerialNo, objPosDetails.InstallationNo), LogManager.enumLogLevel.Info);
                                    //EnrollmentErrorCodes ErrorCode = EnrollmentBusinessObject.CreateInstance().RemoveMachine(objPosDetails.InstallationNo, 0, string.Empty);
                                }
                                catch (Exception ex)
                                {
                                    LogManager.WriteLog("Machine Removal due to  AddToPollingListFailure", LogManager.enumLogLevel.Info);
                                    ExceptionManager.Publish(ex);
                                }
                                ShowMessage("MessageID234");
                                Audit_Error("Unable to Add to Polling list.");
                                break;
                            }

                        case EnrollmentErrorCodes.ExchangeHostServiceNotRunning:
                            {
                                try
                                {
                                    LogManager.WriteLog(string.Format("Machine Removal due to  AddToPollingList TimeOut : Serial No:{0}, Installation No: (1) ", objPosDetails.SerialNo, objPosDetails.InstallationNo), LogManager.enumLogLevel.Info);
                                    //EnrollmentErrorCodes ErrorCode = EnrollmentBusinessObject.CreateInstance().RemoveMachine(objPosDetails.InstallationNo, 0, string.Empty);
                                }
                                catch (Exception ex)
                                {
                                    LogManager.WriteLog("Machine Removal due to  AddToPollingList TimeOut ", LogManager.enumLogLevel.Info);
                                    ExceptionManager.Publish(ex);
                                }
                                ShowMessage("MessageID358");
                                Audit_Error("Unable to Add to Polling list. Time Out Occured");
                                break;
                            }

                        case EnrollmentErrorCodes.DatabaseError:
                            {
                                ShowMessage("MessageID235");
                                Audit_Error("Database Error.");
                                break;
                            }

                        case EnrollmentErrorCodes.EnterpriseDatabaseError:
                            {
                                ShowMessage("MessageID236");
                                Audit_Error("Enterprise Database Error.");
                                break;
                            }

                        case EnrollmentErrorCodes.EnterpriseWebServiceCommunicationFailure:
                            {
                                ShowMessage("MessageID237");
                                Audit_Error("Enterprise WebService Communication Failure.");
                                break;
                            }

                        case EnrollmentErrorCodes.EnterpriseAssetInUse:
                            {
                                ShowMessage("MessageID238");
                                Audit_Error("Enterprise Asset in Use.");
                                break;
                            }

                        case EnrollmentErrorCodes.EnterpriseAssetNotAvailable:
                            {
                                ShowMessage("MessageID239");
                                Audit_Error("Enterprise Asset not Availble.");
                                break;
                            }

                        case EnrollmentErrorCodes.PositionLocked:
                            {
                                ShowMessage("MessageID240");
                                Audit_Error("Postion is Locked.");
                                break;
                            }

                        case EnrollmentErrorCodes.LockExists:
                            {
                                ShowMessage("MessageID240");
                                Audit_Error("Lock Exists");
                                break;
                            }

                        case EnrollmentErrorCodes.LockError:
                            {
                                ShowMessage("MessageID240");
                                Audit_Error("Lock Error.");
                                break;
                            }

                        case EnrollmentErrorCodes.Success:
                            {
                                MessageBox.ShowBox("MessageID241", BMC_Icon.Information);
                                AuditViewerBusiness.InsertAuditData(new Audit.Transport.Audit_History
                                {
                                    AuditModuleName    = ModuleName.Enrollment,
                                    Audit_Screen_Name  = "Enrollment|MachineInstallation",
                                    Audit_Desc         = chkInTransitAsset.IsChecked == false ? "Machine Installed" : "Transit Machine Installed",
                                    AuditOperationType = OperationType.ADD,
                                    Audit_Field        = "Position",
                                    Audit_New_Vl       = objPosDetails.Position,
                                    Audit_Slot         = objPosDetails.AssetNo
                                });

                                // Insert Hourly Records if the machine installation is successful
                                ExecuteHourlyVTP(installationNo);
                                EnrollmentBusinessObject.CreateInstance().UpdateHourlyStatsGamingday(installationNo.ToString());
                                EnrollmentBusinessObject.CreateInstance().InsertIntoExportHistory(installationNo);
                                CloseWindow();
                            }
                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    ExceptionManager.Publish(ex);
                }
            });
        }