using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace CheckFirmwareUpgradeEligibility { #region "Summary" /* Project-Firmware Upgrade * Description:check user eligibility. * Created By-Xavient Offshore * Created Date-17 Dec 2013 */ #endregion #region "Interface declaration" interface ICheckLegacyWIFI { string checkEligibilityStatus(ClsCheckLegacyWIFI obj); } #endregion #region "Class declaration and Implements Interface" public class ClsCheckLegacyWIFI : ICheckLegacyWIFI { #region "Private Variable Declaration" private string _AccountNumber; private string _MacAddress; private string _PhoneNumber; private string _ZipCode; #endregion #region "Public Property Declaration" public string AccountNumber { get { return this._AccountNumber; } set { this._AccountNumber = value; } } public string MacAddress { get { return this._MacAddress; } set { this._MacAddress = value; } } public string PhoneNumber { get { return this._PhoneNumber; } set { this._PhoneNumber = value; } } public string ZipCode { get { return this._ZipCode; } set { this._ZipCode = value; } } #endregion #region "Public Methods" public string checkEligibilityStatus(ClsCheckLegacyWIFI objClsCheckLegacyWIFI) { string strReturnMessage = string.Empty; try { strReturnMessage = CheckInputValidation(objClsCheckLegacyWIFI); if (strReturnMessage == "") { if (objClsCheckLegacyWIFI.MacAddress != "") { strReturnMessage = GetEligibilityStatussMAC(objClsCheckLegacyWIFI); } else if (objClsCheckLegacyWIFI.ZipCode != "") { if (objClsCheckLegacyWIFI.AccountNumber != "") { strReturnMessage = GetEligibilityStatussZIPAcc(objClsCheckLegacyWIFI); } else if (objClsCheckLegacyWIFI.PhoneNumber != "") { strReturnMessage = GetEligibilityStatussZipPhone(objClsCheckLegacyWIFI); } else { strReturnMessage = "ACCOUNT NUMBER OR PHONE NUMBER IS MANDATORY WITH ZIPCODE."; } } else { strReturnMessage = "ACCOUNT NUMBER OR PHONE NUMBER IS MANDATORY WITH ZIPCODE."; } } } catch (Exception ex) { strReturnMessage = ex.Message.ToString(); } return strReturnMessage; } // Check Inputs validation entered by user for blank and digits private string CheckInputValidation(ClsCheckLegacyWIFI objClsCheckLegacyWIFI) { string strReturnMessage = string.Empty; if ((objClsCheckLegacyWIFI.AccountNumber == "") && (objClsCheckLegacyWIFI.ZipCode == "") && (objClsCheckLegacyWIFI.PhoneNumber == "") && (objClsCheckLegacyWIFI.MacAddress == "")) { strReturnMessage = "YOU NEED TO ENTER ACCOUNT NUMBER AND ZIPCODE OR ZIPCODE AND ACCOUNT NUMBER OR MAC ADDRESS"; } else if (objClsCheckLegacyWIFI.MacAddress != "") { if (objClsCheckLegacyWIFI.MacAddress.Length != 12) { strReturnMessage = "MAC ADDRESS SHOULD CONTAIN ONLY 12 DIGITS/CHARACTERS."; } } else if (objClsCheckLegacyWIFI.AccountNumber != "") { if (objClsCheckLegacyWIFI.AccountNumber.Length != 16) { strReturnMessage = "ACCOUNT NUMBER SHOULD CONTAIN ONLY 16 DIGITS."; } } else if (objClsCheckLegacyWIFI.ZipCode != "") { if (objClsCheckLegacyWIFI.ZipCode.Length != 10) { strReturnMessage = "ZIPCODE SHOULD CONTAIN ONLY 10 DIGITS/CHARACTERS."; } } else if (objClsCheckLegacyWIFI.PhoneNumber != "") { if (objClsCheckLegacyWIFI.PhoneNumber.Length != 10) { strReturnMessage = "PHONE NUMBER SHOULD CONTAIN ONLY 10 DIGITS."; } } return strReturnMessage; } // Execute when user entered only Mac Address private string GetEligibilityStatussMAC(ClsCheckLegacyWIFI objClsCheckLegacyWIFI) { int rowcount = 0; string returnMsg = string.Empty; return returnMsg; // todo: temp SqlConnection sqlConn = GetConnectionString(); try { SqlCommand sqlCmd = new SqlCommand(); sqlCmd.CommandText = "PROC_GET_UPDATE_FIRMWARE_MACADDR"; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.Connection = sqlConn; sqlCmd.Parameters.AddWithValue("@MAC_ADDR", objClsCheckLegacyWIFI.MacAddress.Trim().Replace("'","''").ToString()); sqlConn.Open(); rowcount = (int)sqlCmd.ExecuteScalar(); sqlConn.Close(); if (rowcount > 0) { returnMsg = "YOUR DEVICE IS ELIGIBLE FOR FIRMWARE UPGRADE."; } else { returnMsg = "YOUR DEVICE IS NOT ELIGIBLE FOR FIRMWARE UPGRADE."; } } catch (Exception ex) { returnMsg = ex.Message + ex.Source; } finally { if (sqlConn.State.Equals(ConnectionState.Open)) { sqlConn.Close(); } } return returnMsg; } // Execute when user entered only Zipcode or Account Number private string GetEligibilityStatussZIPAcc(ClsCheckLegacyWIFI objClsCheckLegacyWIFI) { int rowcount = 0; string returnMsg = string.Empty; return returnMsg; // todo: temp SqlConnection sqlConn = GetConnectionString(); try { SqlCommand sqlCmd = new SqlCommand(); sqlCmd.CommandText = "PROC_GET_UPDATE_FIRMWARE_ACC_ZIP"; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.Connection = sqlConn; sqlCmd.Parameters.AddWithValue("@ACCOUNT_NUM", objClsCheckLegacyWIFI.AccountNumber.Trim().Replace("'", "''").ToString()); sqlCmd.Parameters.AddWithValue("@ZIPCODE", objClsCheckLegacyWIFI.ZipCode.Trim().Replace("'", "''").ToString()); sqlConn.Open(); rowcount = (int)sqlCmd.ExecuteScalar(); sqlConn.Close(); if (rowcount > 0) { returnMsg = "YOUR DEVICE IS ELIGIBLE FOR FIRMWARE UPGRADE."; } else { returnMsg = "YOUR DEVICE IS NOT ELIGIBLE FOR FIRMWARE UPGRADE."; } } catch (Exception ex) { returnMsg = ex.Message + ex.Source; } finally { if (sqlConn.State.Equals(ConnectionState.Open)) { sqlConn.Close(); } } return returnMsg; } // Execute when user entered only Zipcode or Phone Number private string GetEligibilityStatussZipPhone(ClsCheckLegacyWIFI objClsCheckLegacyWIFI) { int rowcount = 0; string returnMsg = string.Empty; return returnMsg; // todo: temp SqlConnection sqlConn = GetConnectionString(); try { SqlCommand sqlCmd = new SqlCommand(); sqlCmd.CommandText = "PROC_GET_UPDATE_FIRMWARE_ZIP_PHONE"; sqlCmd.CommandType = CommandType.StoredProcedure; sqlCmd.Connection = sqlConn; sqlCmd.Parameters.AddWithValue("@ZIPCODE", objClsCheckLegacyWIFI.ZipCode.Trim().Replace("'", "''").ToString()); sqlCmd.Parameters.AddWithValue("@PHONE_NUM", objClsCheckLegacyWIFI.PhoneNumber.Trim().Replace("'", "''").ToString()); sqlConn.Open(); rowcount = (int)sqlCmd.ExecuteScalar(); sqlConn.Close(); if (rowcount > 0) { returnMsg = "YOUR DEVICE IS ELIGIBLE FOR FIRMWARE UPGRADE."; } else { returnMsg = "YOUR DEVICE NOT IS ELIGIBLE FOR FIRMWARE UPGRADE."; } } catch (Exception ex) { returnMsg = ex.Message + ex.Source; } finally { if (sqlConn.State.Equals(ConnectionState.Open)) { sqlConn.Close(); } } return returnMsg; } private SqlConnection GetConnectionString() { string connectionString = "Server=ignatz;Database=CharterDotcom;user id=charter;password=charter;"; // SqlConnection sqlConn = new SqlConnection(ConfigurationSettings.AppSettings["FirmwareDBConnection"]); SqlConnection sqlConn = new SqlConnection(connectionString); return sqlConn; } #endregion } #endregion }