public void ProcessResponse(BMC.Business.NetworkService.EnableDisableThreadDataResponse threadData) { if (dEnableDisableRequest.Count <= 0) { return; } try { if (mEvent.WaitOne(NetworkServiceSettings.DBHitWaitTime)) { return; } lock (_lockRes) { if (dEnableDisableRequest.ContainsKey(threadData.MessageID)) { EnableDisableThreadData Requestitem = dEnableDisableRequest[threadData.MessageID]; //Update DB and remove from both lists if (threadData.Ack == true) { DBBuilder.UpdateAAMSStatus(Requestitem.badID, Requestitem.datapakCurrentState.ToString(), "", 3, Requestitem.InstallationNo, Requestitem.updateDate); // LogManager.WriteLog("Update Bar Position machine status", LogManager.enumLogLevel.Info); DBBuilder.UpdateBarPosition(Requestitem.InstallationNo, Requestitem.Enable); LogManager.WriteLog("ProcessResponse_EnableDisable | ACK Updated for Installation:" + Requestitem.InstallationNo.ToString() + ", Command:" + Requestitem.command.ToString() , LogManager.enumLogLevel.Info); } else { LogManager.WriteLog("ProcessResponse_EnableDisable | NACK received for Installation:" + Requestitem.InstallationNo.ToString() + ", Command:" + Requestitem.command.ToString() , LogManager.enumLogLevel.Info); } //LogManager.WriteLog("Requesting command result: " + Responseitem.Value.ToString() + " - Installation Number: " + Requestitem.Value.ToString(), LogManager.enumLogLevel.Info); dEnableDisableRequest.Remove(threadData.MessageID); } } } catch (Exception ex) { LogManager.WriteLog("ProcessResponse_EnableDisable | Exception Occured." + ex.Message, LogManager.enumLogLevel.Info); ExceptionManager.Publish(ex); } }
/// <summary> /// Entry Method for Enable/Disable Machines /// </summary> private void EnableDisableMachine() { if (mEvent.WaitOne(NetworkServiceSettings.RequestWaitTime)) { return; } DataTable dtInsatllationsToProcess; dtInsatllationsToProcess = DBBuilder.GetAAMSDetails(3); LogManager.WriteLog("EnableDisableMachine | Number of Installation to Process: " + dtInsatllationsToProcess.Rows.Count.ToString() , LogManager.enumLogLevel.Info); try { if (dtInsatllationsToProcess.Rows.Count > 0) { foreach (DataRow dRow in dtInsatllationsToProcess.Rows) { if (mEvent.WaitOne(NetworkServiceSettings.RequestWaitTime)) { break; } EnableDisableThreadData threadData = new EnableDisableThreadData() { InstallationNo = dRow["BAD_Reference_ID"] != DBNull.Value ? Convert.ToInt32(dRow["BAD_Reference_ID"].ToString()) : 0, Enable = false, badID = Convert.ToInt32(dRow["BAD_ID"]), datapakCurrentState = 0, entityType = 3, Installation_Float_Status = dRow["Installation_Float_Status"] != DBNull.Value ? Convert.ToInt32(dRow["Installation_Float_Status"]) : 0, enterprisestatus = dRow["BMC_Enterprise_Status"] != DBNull.Value ? Convert.ToBoolean(dRow["BMC_Enterprise_Status"].ToString()) : true, updateDate = Convert.ToDateTime(dRow["BAD_Updated_Date"]) }; #if DEBUG LogManager.WriteLog("EnableDisableMachine | InstallationNo:" + threadData.InstallationNo.ToString() + ", EnterpriseStatus:" + threadData.enterprisestatus.ToString(), LogManager.enumLogLevel.Info); #endif if (threadData.Installation_Float_Status == 1 && DBBuilder.GetSettingFromDB("DISABLE_MACHINE_ON_DROP", "FALSE").ToUpper() == "TRUE") { int messageID = DisableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) dEnableDisableRequest.Add(messageID, threadData); threadData.Enable = false; threadData.datapakCurrentState = 0; threadData.command = eCommand.Disable; LogManager.WriteLog("EnableDisableMachine | Disable Request For Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:DISABLE_MACHINE_ON_DROP" , LogManager.enumLogLevel.Info); //var strComment = "Machine Floated and Setting DISABLE_MACHINE_ON_DROP {True} hence disabling."; //LogManager.WriteLog(strComment, LogManager.enumLogLevel.Info); //DBBuilder.UpdateCommentsForAAMS(dRow["BAD_ID"].ToString(), strComment, 3, 0); } else if (threadData.IsSiteLicensingEnabled && threadData.SiteLicensing_DisableGames) { int messageID = DisableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) dEnableDisableRequest.Add(messageID, threadData); threadData.datapakCurrentState = 0; threadData.command = eCommand.Disable; LogManager.WriteLog("EnableDisableMachine | Disable Request For Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:SITELICENSING_DISABLEGAMES" , LogManager.enumLogLevel.Info); } else { if (threadData.enterprisestatus) { int messageID = EnableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) dEnableDisableRequest.Add(messageID, threadData); threadData.Enable = true; threadData.datapakCurrentState = 1; threadData.command = eCommand.Enable; LogManager.WriteLog("EnableDisableMachine | Enable Request for Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:ENTERPRISESTATUS" , LogManager.enumLogLevel.Info); } else { int messageID = DisableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) dEnableDisableRequest.Add(messageID, threadData); threadData.Enable = false; threadData.datapakCurrentState = 0; threadData.command = eCommand.Disable; LogManager.WriteLog("EnableDisableMachine | Disable Request for Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:ENTERPRISESTATUS" , LogManager.enumLogLevel.Info); //var strComment = "Disabling the Installation : " + threadData.InstallationNo.ToString(); //DBBuilder.UpdateCommentsForAAMS(dRow["BAD_ID"].ToString(), strComment, 2, 0); } } } } else { LogManager.WriteLog("No Machines to be enabled or disabled.", LogManager.enumLogLevel.Info); } } catch (Exception ex) { LogManager.WriteLog("EnableDisableMachine | Exception Occured.", LogManager.enumLogLevel.Info); ExceptionManager.Publish(ex); } }
/// <summary> /// Entry Method for Enable/Disable Machines /// </summary> private void EnableDisableMachine() { if (mEvent.WaitOne(NetworkServiceSettings.RequestWaitTime)) { return; } DataTable dtInsatllationsToProcess; dtInsatllationsToProcess = DBBuilder.GetAAMSDetails(3); LogManager.WriteLog("EnableDisableMachine | Number of Installation to Process: " + dtInsatllationsToProcess.Rows.Count.ToString() , LogManager.enumLogLevel.Info); try { if (dtInsatllationsToProcess.Rows.Count > 0) { foreach (DataRow dRow in dtInsatllationsToProcess.Rows) { if (mEvent.WaitOne(NetworkServiceSettings.RequestWaitTime)) { break; } EnableDisableThreadData threadData = new EnableDisableThreadData() { InstallationNo = dRow["BAD_Reference_ID"] != DBNull.Value ? Convert.ToInt32(dRow["BAD_Reference_ID"].ToString()) : 0, Enable = false, badID = Convert.ToInt32(dRow["BAD_ID"]), datapakCurrentState = 0, entityType = 3, Installation_Float_Status = dRow["Installation_Float_Status"] != DBNull.Value ? Convert.ToInt32(dRow["Installation_Float_Status"]) : 0, enterprisestatus = dRow["BMC_Enterprise_Status"] != DBNull.Value ? Convert.ToBoolean(dRow["BMC_Enterprise_Status"].ToString()) : true, updateDate = Convert.ToDateTime(dRow["BAD_Updated_Date"]) }; #if DEBUG LogManager.WriteLog("EnableDisableMachine | InstallationNo:" + threadData.InstallationNo.ToString() + ", EnterpriseStatus:" + threadData.enterprisestatus.ToString(), LogManager.enumLogLevel.Info); #endif if (threadData.Installation_Float_Status == 1 && DBBuilder.GetSettingFromDB("DISABLE_MACHINE_ON_DROP", "FALSE").ToUpper() == "TRUE") { int messageID = DisableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) { dEnableDisableRequest.Add(messageID, threadData); } threadData.Enable = false; threadData.datapakCurrentState = 0; threadData.command = eCommand.Disable; LogManager.WriteLog("EnableDisableMachine | Disable Request For Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:DISABLE_MACHINE_ON_DROP" , LogManager.enumLogLevel.Info); //var strComment = "Machine Floated and Setting DISABLE_MACHINE_ON_DROP {True} hence disabling."; //LogManager.WriteLog(strComment, LogManager.enumLogLevel.Info); //DBBuilder.UpdateCommentsForAAMS(dRow["BAD_ID"].ToString(), strComment, 3, 0); } else if (threadData.IsSiteLicensingEnabled && threadData.SiteLicensing_DisableGames) { int messageID = DisableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) { dEnableDisableRequest.Add(messageID, threadData); } threadData.datapakCurrentState = 0; threadData.command = eCommand.Disable; LogManager.WriteLog("EnableDisableMachine | Disable Request For Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:SITELICENSING_DISABLEGAMES" , LogManager.enumLogLevel.Info); } else { if (threadData.enterprisestatus) { int messageID = EnableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) { dEnableDisableRequest.Add(messageID, threadData); } threadData.Enable = true; threadData.datapakCurrentState = 1; threadData.command = eCommand.Enable; LogManager.WriteLog("EnableDisableMachine | Enable Request for Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:ENTERPRISESTATUS" , LogManager.enumLogLevel.Info); } else { int messageID = DisableMachine(threadData.InstallationNo); if (!dEnableDisableRequest.ContainsKey(messageID)) { dEnableDisableRequest.Add(messageID, threadData); } threadData.Enable = false; threadData.datapakCurrentState = 0; threadData.command = eCommand.Disable; LogManager.WriteLog("EnableDisableMachine | Disable Request for Installation: " + threadData.InstallationNo.ToString() + ", MessageID:" + messageID.ToString() + " ,CASE:ENTERPRISESTATUS" , LogManager.enumLogLevel.Info); //var strComment = "Disabling the Installation : " + threadData.InstallationNo.ToString(); //DBBuilder.UpdateCommentsForAAMS(dRow["BAD_ID"].ToString(), strComment, 2, 0); } } } } else { LogManager.WriteLog("No Machines to be enabled or disabled.", LogManager.enumLogLevel.Info); } } catch (Exception ex) { LogManager.WriteLog("EnableDisableMachine | Exception Occured.", LogManager.enumLogLevel.Info); ExceptionManager.Publish(ex); } }