/// <summary> /// /// </summary> /// <param name="objSoftwareVersionsRequest"></param> /// <param name="objSoftwareVersionsResponse"></param> /// <returns></returns> public bool ValidateRequest(GetSoftwareVersionsRequest objSoftwareVersionsRequest, GetSoftwareVersionsResponse objSoftwareVersionsResponse) { bool ValidationStatus = true; if (!objSoftwareVersionsRequest.RequestID.IsValidString() && ValidationStatus) { objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.InvalidParameter; objSoftwareVersionsResponse.ResponseMessage = Constants.ResponseStatus.InvalidParameter.ToString(); ValidationStatus = false; } if (!objSoftwareVersionsRequest.RequestingSystem.IsValidString() && ValidationStatus) { objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.InvalidParameter; objSoftwareVersionsResponse.ResponseMessage = Constants.ResponseStatus.InvalidParameter.ToString(); ValidationStatus = false; } if (objCommonValidationBL.DupCheckRequestId(objSoftwareVersionsRequest.RequestID, objSoftwareVersionsRequest.RequestingSystem) && ValidationStatus) { objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.AmbigousRequest; objSoftwareVersionsResponse.ResponseMessage = Constants.ResponseMessage[3].ToString(); ValidationStatus = false; } if (!objSoftwareVersionsRequest.SKUID.IsValidString()) { objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.InvalidParameter; objSoftwareVersionsResponse.ResponseMessage = "Invalid SKU Format"; ValidationStatus = false; } return(ValidationStatus); }
/// <summary> /// /// </summary> /// <param name="objSoftwareVersionsRequest"></param> /// <returns></returns> public GetSoftwareVersionsResponse GetSoftwareVersions(GetSoftwareVersionsRequest objSoftwareVersionsRequest) { var objSoftwareVersionsResponse = new GetSoftwareVersionsResponse(); objSoftwareVersionsResponse.RequestID = objSoftwareVersionsRequest.RequestID; objSoftwareVersionsResponse.ResponseID = objSoftwareVersionsRequest.RequestID; objSoftwareVersionsResponse.ResponseDateTime = DateTime.UtcNow; objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.Success; objSoftwareVersionsResponse.ResponseMessage = Constants.ResponseStatus.Success.ToString(); objSoftwareVersionsResponse.SKUID = objSoftwareVersionsRequest.SKUID; //Start GetSoftwareVersions try { //ASSIGNING ID'S objSoftwareVersionsResponse.RequestID = objSoftwareVersionsRequest.RequestID; objSoftwareVersionsResponse.ResponseID = objSoftwareVersionsRequest.RequestID; //INPUT DATA VALIDATION if (objSoftwareVersionsBL.ValidateRequest(objSoftwareVersionsRequest, objSoftwareVersionsResponse)) { //PROCESS DATA & RETURN RESPONSE objSoftwareVersionsBL.ProcessRequest(objSoftwareVersionsRequest, objSoftwareVersionsResponse); } } catch (Exception ex) { //SET FAILURE STATUS objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.ServiceUnavailable; objSoftwareVersionsResponse.ResponseMessage = Constants.ResponseMessage[1000].ToString(); //LOG EXCEPTION objEventLogger.WriteLog(ex.Message + Environment.NewLine + ex.StackTrace, objSoftwareVersionsRequest.RequestingSystem, DateTime.UtcNow, objSoftwareVersionsRequest.RequestID); } finally { objSoftwareVersionsResponse.ResponseDateTime = DateTime.UtcNow; //SERIALIZE REQUEST/RESPONSE string request = "GetSoftwareVersionsRequest"; string response = "GetSoftwareVersionsResponse"; try { request = Util.SerializeObject(objSoftwareVersionsRequest); response = Util.SerializeObject(objSoftwareVersionsResponse); } catch (Exception ex) { objEventLogger.WriteLog("Request/Response Object Serialization Error: " + ex.Message + Environment.NewLine + ex.StackTrace, objSoftwareVersionsRequest.RequestingSystem, DateTime.UtcNow, objSoftwareVersionsRequest.RequestID); } if (!request.IsValidString()) { request = "GetSoftwareVersionsRequest"; } if (!response.IsValidString()) { response = "GetSoftwareVersionsResponse"; } //LOG REQUEST/RESPONSE objTransactionLogger.LogTransaction(objSoftwareVersionsRequest.RequestID, objSoftwareVersionsRequest.RequestDateTime, objSoftwareVersionsRequest.RequestingSystem, request, objSoftwareVersionsResponse.ResponseID, objSoftwareVersionsResponse.ResponseDateTime, response, objSoftwareVersionsResponse.ResponseStatus, objSoftwareVersionsResponse.ResponseMessage, 0); //End Processing GetSoftwareVersions } //GetSoftwareVersions ends return(objSoftwareVersionsResponse); }
public override GetSoftwareVersionsResponse GetSoftwareVersions(GetSoftwareVersionsRequest objSoftwareVersionsRequest) { SoftwareVersionsProcess objSoftwareVersionsProcess = new SoftwareVersionsProcess(); return(objSoftwareVersionsProcess.GetSoftwareVersions(objSoftwareVersionsRequest)); }
/// <summary> /// /// </summary> /// <param name="objSoftwareVersionsRequest"></param> /// <param name="objSoftwareVersionsResponse"></param> /// <returns></returns> public bool ProcessRequest(GetSoftwareVersionsRequest objSoftwareVersionsRequest, GetSoftwareVersionsResponse objSoftwareVersionsResponse) { bool flag = false; try { List <VersionInfoWithImageUrl> versionInfoList; // Perform a DB lookup for all versions // FIND DETAILS (SOFTWARE & OPTION) FOR GIVEN ID. if (objSoftwareVersionsRequest.SKUID.IsValidString()) { string[] arr = new string[1]; arr[0] = objSoftwareVersionsRequest.SKUID; DataSet ds = GetSKUVersionInfo(arr); if (ds != null && ds.Tables != null && ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { versionInfoList = new List <VersionInfoWithImageUrl>(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = null; string currentSKUID = string.Empty; string previousSKUID = string.Empty; dr = ds.Tables[0].Rows[i]; VersionInfoWithImageUrl objVersionInfoWithImageUrl = new VersionInfoWithImageUrl(); objVersionInfoWithImageUrl.IsShippedVersion = (dr["IsShippedVersion"] != DBNull.Value) ? Convert.ToBoolean(dr["IsShippedVersion"]) : false; objVersionInfoWithImageUrl.ReleaseDateSpecified = false; objVersionInfoWithImageUrl.ReleaseDate = (dr["ReleaseDate"] != DBNull.Value) ? Convert.ToDateTime(dr["ReleaseDate"]) : DateTime.MinValue; if (objVersionInfoWithImageUrl.ReleaseDate != DateTime.MinValue) { objVersionInfoWithImageUrl.ReleaseDateSpecified = true; } objVersionInfoWithImageUrl.ImageUrl = (dr["ImageUrl"] != DBNull.Value) ? Convert.ToString(dr["ImageUrl"]) : ""; objVersionInfoWithImageUrl.Version = (dr["Version"] != DBNull.Value) ? Convert.ToString(dr["Version"]) : ""; objVersionInfoWithImageUrl.VersionSeqNo = (dr["VersionSeqNo"] != DBNull.Value) ? Convert.ToInt32(dr["VersionSeqNo"]) : -1; objVersionInfoWithImageUrl.VersionType = (dr["VersionType"] != DBNull.Value) ? Convert.ToString(dr["VersionType"]) : ""; objVersionInfoWithImageUrl.VersionReleaseClassification = (dr["VersionReleaseClassification"] != DBNull.Value) ? Convert.ToString(dr["VersionReleaseClassification"]) : ""; versionInfoList.Add(objVersionInfoWithImageUrl); } if (objSoftwareVersionsRequest.VersionFilter.IsValidString() && objSoftwareVersionsRequest.VersionFilter == "LATEST") { VersionInfoWithImageUrl latestVersion = versionInfoList.OrderByDescending(o => o.VersionSeqNo).FirstOrDefault <VersionInfoWithImageUrl>(); if (latestVersion != null) { versionInfoList.Clear(); versionInfoList.Add(latestVersion); } } else if (objSoftwareVersionsRequest.VersionFilter.IsValidString() && objSoftwareVersionsRequest.VersionFilter != "LATEST" && !objSoftwareVersionsRequest.VersionFilter.Contains("+")) { VersionInfoWithImageUrl specificVersion = versionInfoList.Where(o => o.Version == objSoftwareVersionsRequest.VersionFilter).FirstOrDefault <VersionInfoWithImageUrl>(); if (specificVersion != null) { versionInfoList.Clear(); versionInfoList.Add(specificVersion); } } //NEW CR #region WITH ADDITION VERSION KEY else if (objSoftwareVersionsRequest.VersionFilter.IsValidString() && objSoftwareVersionsRequest.VersionFilter != "LATEST" && objSoftwareVersionsRequest.VersionFilter.Contains("+")) { versionInfoList.Clear(); string strSKUVersion = string.Empty; if (objSoftwareVersionsRequest.VersionFilter.Contains('+')) { int intindex = objSoftwareVersionsRequest.VersionFilter.LastIndexOf('+'); strSKUVersion = objSoftwareVersionsRequest.VersionFilter.Substring(0, intindex); } for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = null; dr = ds.Tables[0].Rows[i]; VersionInfoWithImageUrl objVersionInfoWithImageUrl = new VersionInfoWithImageUrl(); objVersionInfoWithImageUrl.IsShippedVersion = (dr["IsShippedVersion"] != DBNull.Value) ? Convert.ToBoolean(dr["IsShippedVersion"]) : false; objVersionInfoWithImageUrl.ReleaseDateSpecified = false; objVersionInfoWithImageUrl.ReleaseDate = (dr["ReleaseDate"] != DBNull.Value) ? Convert.ToDateTime(dr["ReleaseDate"]) : DateTime.MinValue; if (objVersionInfoWithImageUrl.ReleaseDate != DateTime.MinValue) { objVersionInfoWithImageUrl.ReleaseDateSpecified = true; } objVersionInfoWithImageUrl.ImageUrl = (dr["ImageUrl"] != DBNull.Value) ? Convert.ToString(dr["ImageUrl"]) : ""; objVersionInfoWithImageUrl.Version = (dr["Version"] != DBNull.Value) ? Convert.ToString(dr["Version"]) : ""; objVersionInfoWithImageUrl.VersionSeqNo = (dr["VersionSeqNo"] != DBNull.Value) ? Convert.ToInt32(dr["VersionSeqNo"]) : -1; objVersionInfoWithImageUrl.VersionType = (dr["VersionType"] != DBNull.Value) ? Convert.ToString(dr["VersionType"]) : ""; objVersionInfoWithImageUrl.VersionReleaseClassification = (dr["VersionReleaseClassification"] != DBNull.Value) ? Convert.ToString(dr["VersionReleaseClassification"]) : ""; int intResult = objVersionInfoWithImageUrl.Version.CompareTo(strSKUVersion); if (intResult == 0 || intResult == 1) { versionInfoList.Add(objVersionInfoWithImageUrl); } } } #endregion objSoftwareVersionsResponse.AvailableVersion = versionInfoList.ToArray(); } } } if (objSoftwareVersionsResponse.AvailableVersion == null || objSoftwareVersionsResponse.AvailableVersion.Length <= 0) { objSoftwareVersionsResponse.ResponseStatus = (int)Constants.ResponseStatus.UnKnownSKU; objSoftwareVersionsResponse.ResponseMessage = Constants.ResponseMessage[2].ToString(); } flag = true; } catch (Exception ex) { } return(flag); }