Exemplo n.º 1
0
        /// <summary>
        /// Validating Existence of Asset,New GMU NO, Serial No
        /// </summary>
        /// <param name="item_ags"></param>
        /// <param name="ErrorMsg"></param>
        /// <returns></returns>
        private bool Vaildate(BMC.Transport.AGSdetails item_ags, ref string ErrorMsg)
        {
            bool retval = true;

            try
            {
                int mygmuno = 0;
                int.TryParse(item_ags.GMUNo, out mygmuno);
                if (mygmuno == 0)
                {
                    ErrorMsg = "MessageID524";
                    retval   = false;
                }
                else if (mygmuno > 0 && mygmuno > 99999)
                {
                    ErrorMsg = "MessageID525";
                    retval   = false;
                }
                else if (UpdateGMUNo.CreateInstance().CheckAGSCombination(item_ags.ActualAssetNo, item_ags.GMUNo, item_ags.SerialNo))
                {
                    ErrorMsg = "MessageID510";
                    retval   = false;
                }
            }
            catch (Exception ex)
            {
                retval   = false;
                ErrorMsg = "MessageID511";
                ExceptionManager.Publish(ex);
            }
            return(retval);
        }
Exemplo n.º 2
0
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                LogManager.WriteLog(strScreenName + "Get Machine AGS Combination Details", LogManager.enumLogLevel.Info);
                lst_ags = UpdateGMUNo.CreateInstance().GetAGSDetails();//Load Machine Details (i.e. GMUNo,AssetNo)

                lvGMUNo.ItemsSource = lst_ags;

                if (Settings.AGSValue.Trim() != "16")
                {
                    border_GMU.IsEnabled = false;
                }
                else
                {
                    txtGMUDisable.Visibility = Visibility.Hidden;
                }
                //di_Method.Add("RemoveMachineFromPollingList", UpdateGMUNo.CreateInstance().RemoveMachineFromPollingList);
                //di_Method.Add("AddToPollingList", UpdateGMUNo.CreateInstance().AddToPollingList);
                //RetryCount = Convert.ToInt32(BMC.Common.ConfigurationManagement.ConfigManager.Read("GMUNoUpdateRetryCount"));
            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Send AGS details to enterprise
        /// </summary>
        /// <param name="item_ags"></param>
        private void SaveAGSCombination(BMC.Transport.AGSdetails item_ags)
        {
            try
            {
                string strXml = UpdateGMUNo.CreateInstance().ExportAGSDetails(item_ags.MachineID, item_ags.GMUNo);
                Proxy  oProxy = new Proxy(Settings.SiteCode);

                if (oProxy.UpdateGMUNumber(strXml))//Send AGS Details to Enterprise
                {
                    LogManager.WriteLog(strScreenName + "Enterprise GMU Number Updated Successfully", LogManager.enumLogLevel.Info);

                    if (UpdateGMUNo.CreateInstance().UpdateGMUDetails(item_ags.MachineID, item_ags.GMUNo, item_ags.Installation_No.Value)) //After Vaildating in Enterprise Updating GMUNo in Exchange
                    {
                        if (SendDetailsToExcomms(item_ags))                                                                                //Send to Excomms i.e. GMU No is modified
                        {
                            BMC.Presentation.MessageBox.ShowBox("MessageID506", BMC_Icon.Information);
                            LogManager.WriteLog(strScreenName + "Exchange GMU Number Updated Successfully GMUNo: " + item_ags.OldGMUNo + "-->" + item_ags.GMUNo, LogManager.enumLogLevel.Info);
                            AuditModule("GMU Updated Successfully for an Asset ", item_ags.AssetNo, item_ags.OldGMUNo, item_ags.GMUNo);
                        }
                        else
                        {
                            AuditModule("GMU Updated Failed for an Asset ", item_ags.AssetNo, item_ags.OldGMUNo, item_ags.GMUNo);
                            UpdateGMUNo.CreateInstance().UpdateGMUDetails(item_ags.MachineID, item_ags.OldGMUNo, item_ags.Installation_No.Value);
                            LogManager.WriteLog(strScreenName + "Rollback GMU Number Updation in Exchange GMUNo: " + item_ags.GMUNo + "-->" + item_ags.OldGMUNo, LogManager.enumLogLevel.Info);
                            strXml = UpdateGMUNo.CreateInstance().ExportAGSDetails(item_ags.MachineID, item_ags.OldGMUNo);
                            oProxy.UpdateGMUNumber(strXml);
                            LogManager.WriteLog(strScreenName + "Rollback GMU Number Updation in Enterprise GMUNo: " + item_ags.GMUNo + "-->" + item_ags.OldGMUNo, LogManager.enumLogLevel.Info);
                            item_ags.GMUNo = item_ags.OldGMUNo;
                            AuditModule("Rollback GMU Number Updation for an Asset ", item_ags.AssetNo, item_ags.GMUNo, item_ags.OldGMUNo);
                        }
                    }
                    else
                    {
                        AuditModule("GMU Updated Failed for an Asset ", item_ags.AssetNo, item_ags.OldGMUNo, item_ags.GMUNo);
                        BMC.Presentation.MessageBox.ShowBox("MessageID507", BMC_Icon.Information);
                        LogManager.WriteLog(strScreenName + "Exchange GMU Number Updated Failed for GMUNo: " + item_ags.GMUNo, LogManager.enumLogLevel.Info);
                        item_ags.GMUNo = item_ags.OldGMUNo;
                    }
                }
                else
                {
                    BMC.Presentation.MessageBox.ShowBox("MessageID529", BMC_Icon.Information);
                    // AuditModule("GMU Updated Failed for an Asset ", item_ags.AssetNo, item_ags.OldGMUNo, item_ags.GMUNo);
                    LogManager.WriteLog(strScreenName + "Enterprise GMU Number Updated Failed for GMUNo: " + item_ags.GMUNo, LogManager.enumLogLevel.Info);
                    item_ags.GMUNo = item_ags.OldGMUNo;
                }
            }
            catch (Exception Ex)
            {
                AuditModule("GMU Updated Failed for an Asset ", item_ags.AssetNo, item_ags.OldGMUNo, item_ags.GMUNo);
                BMC.Presentation.MessageBox.ShowBox("MessageID507", BMC_Icon.Information);
                item_ags.GMUNo = item_ags.OldGMUNo;
                ExceptionManager.Publish(Ex);
            }
        }
Exemplo n.º 4
0
        ///// <summary>
        ///// This Method will retry around certain number of times if it fails
        ///// </summary>
        ///// <param name="Key"></param>
        ///// <param name="Installation_No"></param>
        ///// <param name="Bar_Pos_Port"></param>
        ///// <param name="DisableMachine"></param>
        ///// <returns></returns>
        //private bool InvokeMethod(string Key, int Installation_No, int Bar_Pos_Port, int DisableMachine)
        //{
        //    bool retVal = false;
        //    int Count = 0;

        //    try
        //    {
        //        while (Count < RetryCount)
        //        {
        //            ar_wait.WaitOne(2000);
        //            if (Key == "RemoveMachineFromPollingList")
        //            {
        //                if (di_Method[Key].Invoke(Installation_No, DisableMachine))
        //                {
        //                    ar_wait.Set();
        //                    retVal = true;
        //                    break;
        //                }
        //            }
        //            else
        //            {
        //                if (di_Method[Key].Invoke(Installation_No, Bar_Pos_Port))
        //                {
        //                    ar_wait.Set();
        //                    retVal = true;
        //                    break;
        //                }
        //            }
        //            Count++;
        //        }
        //    }
        //    catch (Exception Ex)
        //    {
        //        ExceptionManager.Publish(Ex);
        //    }
        //    return retVal;
        //}

        /// <summary>
        /// Remove machine from polling list and then adding to polling list with same installtion
        /// </summary>
        /// <param name="item_ags"></param>
        /// <returns>true or false</returns>
        private bool SendDetailsToExcomms(BMC.Transport.AGSdetails item_ags)
        {
            bool retVal = false;

            try
            {
                EnrollmentDataAccess enrollmentDataAccess = new EnrollmentDataAccess();
                int Bar_Pos_Port = enrollmentDataAccess.GetBarPosPort(item_ags.Installation_No.Value);

                if (item_ags.IsNull)
                {
                    if (UpdateGMUNo.CreateInstance().RemoveMachineFromPollingList(item_ags.Installation_No.Value, 0))
                    {
                        LogManager.WriteLog(strScreenName + " Remove Machine From PollingList Succeed InstallationNo:" + item_ags.Installation_No.Value, LogManager.enumLogLevel.Info);
                        LogManager.WriteLog(strScreenName + "'NULL' string updated successfully for an asset :" + item_ags.AssetNo, LogManager.enumLogLevel.Info);
                        bool retGMUEvent = UpdateGMUNo.CreateInstance().UpdateGMUDownEvent(item_ags.Installation_No.Value);
                        LogManager.WriteLog(strScreenName + "'GMUDownEvent inserted - " + retGMUEvent.ToString() + " -  for an asset :" + item_ags.AssetNo, LogManager.enumLogLevel.Info);
                        retVal = true;
                    }
                    else
                    {
                        BMC.Presentation.MessageBox.ShowBox("MessageID208", BMC_Icon.Error);
                        LogManager.WriteLog(strScreenName + "Unable to Remove Machine From PollingList InstallationNo:" + item_ags.Installation_No.Value, LogManager.enumLogLevel.Info);
                    }
                }
                else
                {
                    if (UpdateGMUNo.CreateInstance().AddToPollingList(item_ags.Installation_No.Value, Bar_Pos_Port))
                    {
                        LogManager.WriteLog(strScreenName + "Add Machine To PollingList Succeed InstallationNo:" + item_ags.Installation_No.Value, LogManager.enumLogLevel.Info);
                        retVal = true;
                    }
                    else
                    {
                        BMC.Presentation.MessageBox.ShowBox("MessageID508", BMC_Icon.Error);
                        LogManager.WriteLog(strScreenName + "Unable to Add Machine To PollingList InstallationNo:" + item_ags.Installation_No.Value, LogManager.enumLogLevel.Info);
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
            return(retVal);
        }
        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);
                }
            });
        }