/// <summary>
        ///
        /// </summary>
        /// <param name="objSoftDeleteLicensesRequest"></param>
        /// <param name="objSoftDeleteLicensesResponse"></param>
        /// <returns></returns>
        public bool ValidateRequest(SoftDeleteLicensesRequest objSoftDeleteLicensesRequest, SoftDeleteLicensesResponse objSoftDeleteLicensesResponse)
        {
            bool ValidationStatus = true;

            if (!objSoftDeleteLicensesRequest.RequestID.IsValidString() && ValidationStatus)
            {
                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                objSoftDeleteLicensesResponse.ResponseMessage = Constants.ResponseStatus.InvalidParameter.ToString();
                ValidationStatus = false;
            }
            if (!objSoftDeleteLicensesRequest.RequestingSystem.IsValidString() && ValidationStatus)
            {
                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                objSoftDeleteLicensesResponse.ResponseMessage = Constants.ResponseStatus.InvalidParameter.ToString();
                ValidationStatus = false;
            }
            if (objCommonValidationBL.DupCheckRequestId(objSoftDeleteLicensesRequest.RequestID, objSoftDeleteLicensesRequest.RequestingSystem) && ValidationStatus)
            {
                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.AmbigousRequest;
                objSoftDeleteLicensesResponse.ResponseMessage = Constants.ResponseMessage[3].ToString();
                ValidationStatus = false;
            }

            if (objSoftDeleteLicensesRequest.SNum == null || objSoftDeleteLicensesRequest.SNum.Length < 1 && ValidationStatus)
            {
                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                objSoftDeleteLicensesResponse.ResponseMessage = "Please enter Serial Number . This is Mandatory field.";
                ValidationStatus = false;
            }
            else
            {
                if (!objSoftDeleteLicensesRequest.SNum.IsValidString() && objSoftDeleteLicensesRequest.SNum.Length > 0 && ValidationStatus)
                {
                    objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                    objSoftDeleteLicensesResponse.ResponseMessage = "Invalid SNum Format";
                    ValidationStatus = false;
                }
            }

            if ((objSoftDeleteLicensesRequest.SKU != null) && ValidationStatus && objSoftDeleteLicensesRequest.SNum.Length > 0)  //VALIDATE SNUM UNIT (MAX 100)
            {
                if (objSoftDeleteLicensesRequest.SKU.Length > 1)
                {
                    if (!objSoftDeleteLicensesRequest.SKU.IsValidString() && ValidationStatus)
                    {
                        objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                        objSoftDeleteLicensesResponse.ResponseMessage = "Invalid SKU Format";
                        ValidationStatus = false;
                    }
                }
            }

            return(ValidationStatus);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="objSoftDeleteLicensesRequest"></param>
        /// <param name="objSoftDeleteLicensesResponse"></param>
        /// <returns></returns>
        public bool ProcessRequest(SoftDeleteLicensesRequest objSoftDeleteLicensesRequest, SoftDeleteLicensesResponse objSoftDeleteLicensesResponse)
        {
            bool  flag    = false;
            Int32 flagVal = 0;

            try
            {
                #region codestart
                DataSet ds = new DataSet();
                /*new CR user logging 08/2013*/
                if (objSoftDeleteLicensesRequest.SKU != null)
                {
                    flagVal = GetSoftDeleteLicenses(objSoftDeleteLicensesRequest.SNum, objSoftDeleteLicensesRequest.SKU, objSoftDeleteLicensesRequest.RequestingSystem);
                }
                else
                {
                    flagVal = GetSoftDeleteLicenses(objSoftDeleteLicensesRequest.SNum, null, objSoftDeleteLicensesRequest.RequestingSystem);
                }



                if (flagVal > 0)
                {
                    if (flagVal == 1)
                    {
                        objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.Success;
                        objSoftDeleteLicensesResponse.ResponseMessage = "All the Licensekeys related to the Serial Number  " + objSoftDeleteLicensesRequest.SNum + "  are marked deleted.";
                        flag = true;
                    }
                    else
                    {
                        if (flagVal == 2)
                        {
                            objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.SoftDeletionFailed;
                            objSoftDeleteLicensesResponse.ResponseMessage = "There are NO Licensekeys related to the serial Number  " + objSoftDeleteLicensesRequest.SNum + "  to be marked as deleted.";
                            flag = true;
                        }

                        else
                        {
                            if (flagVal == 3)
                            {
                                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.Success;
                                objSoftDeleteLicensesResponse.ResponseMessage = "All the License keys related to the serial Number  " + objSoftDeleteLicensesRequest.SNum + "  and SKU or Partname  " + objSoftDeleteLicensesRequest.SKU + "  are marked deleted.";
                                flag = true;
                            }
                            else
                            {
                                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.SoftDeletionFailed;
                                objSoftDeleteLicensesResponse.ResponseMessage = "There are NO Licensekeys related to the serial Number  " + objSoftDeleteLicensesRequest.SNum + "  and SKU or Partname  " + objSoftDeleteLicensesRequest.SKU + "  to be marked as deleted.";
                                flag = true;
                            }
                        }
                    }
                }

                else
                {
                    objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                    objSoftDeleteLicensesResponse.ResponseMessage = "No soft deltions were done";
                }


                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception("Error Occured While getting the output of ProcessRequest method related to SoftDeleteLicenses . " + ex.Message + Environment.NewLine + ex.StackTrace);
            }

            return(flag);
        }
        public override SoftDeleteLicensesResponse SoftDeleteLicenses(SoftDeleteLicensesRequest objSoftDeleteLicensesRequest)
        {
            SoftDeleteLicensesProcess objSoftDeleteLicensesProcess = new SoftDeleteLicensesProcess();

            return(objSoftDeleteLicensesProcess.SoftDeleteLicenses(objSoftDeleteLicensesRequest));
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="objRMASwapRequest"></param>
        /// <param name="objRMASwapResponse"></param>
        /// <returns></returns>
        public bool ProcessRequest(RMASwapRequest objRMASwapRequest, RMASwapResponse objRMASwapResponse)
        {
            // START PROCESSING

            bool flag = false;

            string[]  SKUList     = null;
            SKUInfo[] SKUInfoList = null;

            string ParentSNum = string.Empty;
            string message    = string.Empty;

            SKUDetailInfo[] skuDetailList;
            DataTable       SNumAssocation;

            try
            {
                if (objRMASwapRequest.SourceLicenseSNum.IsValidString() && objRMASwapRequest.DestLicenseSNum.IsValidString())
                {
                    //GET SKULIST FOR GIVEN SERIAL NO
                    SKUInfoList = objCommonBL.GetSKUListForGivenSNum(objRMASwapRequest.SourceLicenseSNum, string.Empty);

                    if (SKUInfoList == null || SKUInfoList.Length < 1)
                    {
                        objRMASwapResponse.ResponseStatus  = (int)Constants.ResponseStatus.NoLicSNUMFound;
                        objRMASwapResponse.ResponseMessage = Constants.ResponseMessage[7].ToString();
                        return(flag);
                    }

                    //FIND ALL PARENT SERIAL NUM AND SKULIST USING PARENTCHILD METHOD
                    #region FIND PARENTCHILD RECORDS FOR BOTH SERIAL NO
                    SNumAssocation = GetUpdatedSNumAssocation(objRMASwapRequest);
                    #endregion

                    #region CHECK ASSOCIATION RESPONSE
                    if (SNumAssocation == null || SNumAssocation.Rows.Count == 0)
                    {
                        objRMASwapResponse.ResponseStatus  = (int)Constants.ResponseStatus.NoParentChildFound;
                        objRMASwapResponse.ResponseMessage = Constants.ResponseMessage[8].ToString();
                        return(flag);
                    }
                    #endregion

                    #region CHECK DESTINATION LICENSABLE SNUM IS AVAILABLE IN TST OR NOT
                    if (!CheckTSTRecord(objRMASwapRequest.DestLicenseSNum))
                    {
                        objRMASwapResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                        objRMASwapResponse.ResponseMessage = "Destination Licensable SNum is Not available in System.";
                        return(flag);
                    }
                    #endregion

                    #region Old Code
                    //// REPLACE LICENSABLE SOURCE SNUM WITH DESTINATION SNUM IN TST TABLE
                    //if (ReplaceSourceLicenseSNumWithDestLicenseSNum(SNumAssocation))
                    //{
                    //    if (SKUInfoList != null)
                    //        SKUList = SKUInfoList.Select(o => o.SKUID).ToArray<string>();

                    //    if (SKUList != null && SKUList.Length > 0)
                    //    {
                    //        // FIND ALL SKU DETAILS (SOFTWARE & OPTION) FOR GIVEN ID.
                    //        skuDetailList = objCommonBL.GetSKUDetailInfo(SKUList, objRMASwapRequest.SourceLicenseSNum);

                    //        //CHECK RETURN OBJECT AND GENERATED LICENSE AS PER VERSION FILTER IF REQUIRED
                    //        if (skuDetailList != null && skuDetailList.Length > 0)
                    //        {
                    //            List<LicenseInfo> LicenseInfoList = new List<LicenseInfo>();
                    //            for (int j = 0; j < skuDetailList.Length; j++)
                    //            {

                    //                string releaseKey = string.Empty;
                    //                //FOR SOFTWARE
                    //                if (skuDetailList[j].SKUType != Constants.SKUType.OPTION.ToString())
                    //                {
                    //                    VersionInfoWithLicense[] versions = skuDetailList[j].VersionList;
                    //                    //remove all old keys.
                    //                    for (int k = 0; k < versions.Length; k++)
                    //                    {
                    //                        versions[k].IsShippedVersion = false;
                    //                        versions[k].LicenseKey = "";
                    //                    }
                    //                    if (versions != null && versions.Length > 0)
                    //                    {
                    //                        VersionInfoWithLicense latestVersion = versions.OrderByDescending(o => o.VersionSeqNo).FirstOrDefault<VersionInfoWithLicense>();

                    //                        // CALL GET LICENSE FOR GIVEN SKU AND GET LICENSE KEY
                    //                        if (latestVersion != null && string.IsNullOrEmpty(latestVersion.LicenseKey))
                    //                        {
                    //                            releaseKey = string.Empty;
                    //                            releaseKey = objCommonBL.GetLicenseKey(objRMASwapRequest.DestLicenseSNum, skuDetailList[j].SKUID, skuDetailList[j].SKUType, skuDetailList[j].Qty, 1, latestVersion.Version, DateTime.MinValue, 1);
                    //                            latestVersion.LicenseKey = releaseKey;
                    //                            latestVersion.IsShippedVersion = true;
                    //                        }
                    //                    }

                    //                    //add it to response licenseinfo object
                    //                    LicenseInfo obj = CreateLicenseInfo(skuDetailList[j]);
                    //                    LicenseInfoList.Add(obj);
                    //                }
                    //                else if (skuDetailList[j].SKUType == Constants.SKUType.OPTION.ToString()) //FOR OPTION
                    //                {
                    //                    skuDetailList[j].OptionLicenseKey = "";
                    //                    releaseKey = objCommonBL.GetLicenseKey(objRMASwapRequest.DestLicenseSNum, skuDetailList[j].SKUID, skuDetailList[j].SKUType, skuDetailList[j].Qty, 1, "", DateTime.MinValue, 1);
                    //                    skuDetailList[j].OptionLicenseKey = releaseKey;

                    //                    //add it to response licenseinfo object
                    //                    LicenseInfo obj = CreateLicenseInfo(skuDetailList[j]);
                    //                    LicenseInfoList.Add(obj);
                    //                }
                    //            }

                    //            objRMASwapResponse.Licenses = LicenseInfoList.ToArray();
                    //        }
                    //        else
                    //        {

                    //            objRMASwapResponse.ResponseStatus = (int)Constants.ResponseStatus.UnKnownSKU;
                    //            objRMASwapResponse.ResponseMessage = Constants.ResponseMessage[2].ToString();
                    //        }
                    //    }
                    //}
                    //else
                    //{
                    //    objRMASwapResponse.ResponseStatus = (int)Constants.ResponseStatus.InvalidParameter;
                    //    objRMASwapResponse.ResponseMessage = "Invalid TST Record for SNum.Fail to Replace SNum.";
                    //}
                    #endregion

                    #region NEW CR
                    // REPLACE LICENSABLE SOURCE SNUM WITH DESTINATION SNUM IN TST TABLE
                    if (ReplaceSourceLicenseSNumWithDestLicenseSNum(SNumAssocation))
                    {
                        if (SKUInfoList != null)
                        {
                            SKUList = SKUInfoList.Select(o => o.SKUID).ToArray <string>();
                        }

                        if (SKUList != null && SKUList.Length > 0)
                        {
                            // FIND ALL SKU DETAILS (SOFTWARE & OPTION) FOR GIVEN ID.
                            skuDetailList = objCommonBL.GetSKUDetailInfo(SKUList, objRMASwapRequest.SourceLicenseSNum);

                            //CHECK RETURN OBJECT AND GENERATED LICENSE AS PER VERSION FILTER IF REQUIRED
                            if (skuDetailList.Length > 0)
                            {
                                DataTable dtChkLicenseData = null;
                                //RMA SWAP CR - Get the records with SKUS deleted=0 for options and for softwares get the latest SKU record
                                DataSet dsChkLicenseData = objCommonBL.FindLicenseHistoryForRMASWAP(objRMASwapRequest.SourceLicenseSNum);
                                if (dsChkLicenseData != null && dsChkLicenseData.Tables != null && dsChkLicenseData.Tables.Count > 0)
                                {
                                    dtChkLicenseData = dsChkLicenseData.Tables[0];
                                }
                                List <LicenseInfo> LicenseInfoList = new List <LicenseInfo>();
                                string             releaseKey      = string.Empty;
                                foreach (DataRow row in dtChkLicenseData.Rows)
                                {
                                    string strSKUID   = (row["PartName"] != DBNull.Value) ? row["PartName"].ToString() : string.Empty;
                                    string strSKUType = (row["ProductType"] != DBNull.Value) ? row["ProductType"].ToString() : string.Empty;
                                    if (strSKUType == "2")
                                    {
                                        strSKUType = "OPTION";
                                    }
                                    else
                                    {
                                        strSKUType = "SW";
                                    }
                                    int intQty   = (row["Qty"] != DBNull.Value) ? Convert.ToInt16(row["Qty"]) : 1;
                                    int intIndex = (row["Index"] != DBNull.Value) ? Convert.ToInt16(row["Index"]) : 1;
                                    //Do not pass Version as we need to fetch the latest version for the SKU
                                    //string strVersion = (row["VersionName"] != DBNull.Value) ? row["VersionName"].ToString() : string.Empty;
                                    //For Software
                                    if (strSKUType != Constants.SKUType.OPTION.ToString())
                                    {
                                        // CALL GET LICENSE FOR GIVEN SKU AND GET LICENSE KEY

                                        releaseKey = string.Empty;
                                        //pass the version as empty here
                                        /*new CR user logging 08/2013*/
                                        releaseKey = objCommonBL.CallRMASwapLicense(objRMASwapRequest.DestLicenseSNum, strSKUID, strSKUType, intQty, intIndex, string.Empty, DateTime.MinValue, 1, objRMASwapRequest.RequestingSystem);
                                        //skuDetailList[j].OptionLicenseKey = releaseKey;
                                        if (string.IsNullOrEmpty(releaseKey) || releaseKey.Equals("Fail to Generate Key"))
                                        {
                                            flag = false;
                                        }
                                        else
                                        {
                                            flag = true;
                                        }


                                        LicenseInfo obj = new LicenseInfo();
                                        obj.SKUID   = strSKUID;
                                        obj.SKUType = strSKUType;
                                        obj.Qty     = intQty;
                                        //obj.QtySpecified = skuDetail.QtySpecified;
                                        VersionInfoWithLicense[] versions      = null;
                                        VersionInfoWithLicense   latestVersion = null;
                                        for (int i = 0; i < skuDetailList.Length; i++)
                                        {
                                            if (skuDetailList[i].SKUID.Equals(strSKUID))
                                            {
                                                versions = skuDetailList[i].VersionList;
                                                break;
                                            }
                                        }
                                        if (versions != null)
                                        {
                                            latestVersion = versions.OrderByDescending(o => o.VersionSeqNo).FirstOrDefault <VersionInfoWithLicense>();
                                        }
                                        if (latestVersion != null)
                                        {
                                            obj.ImageUrl         = latestVersion.ImageUrl;
                                            obj.IsShippedVersion = latestVersion.IsShippedVersion;
                                            obj.Version          = latestVersion.Version;
                                            obj.VersionSeqNo     = latestVersion.VersionSeqNo;
                                            obj.VersionType      = latestVersion.VersionType;
                                            obj.LicenseKey       = releaseKey;
                                        }

                                        //add it to response licenseinfo object
                                        LicenseInfoList.Add(obj);
                                    }
                                    else
                                    {
                                        LicenseInfo obj = new LicenseInfo();
                                        obj.SKUID   = strSKUID;
                                        obj.SKUType = strSKUType;
                                        obj.Qty     = intQty;
                                        //obj.QtySpecified = skuDetail.QtySpecified;
                                        /*new CR user logging 08/2013*/
                                        releaseKey               = objCommonBL.CallRMASwapLicense(objRMASwapRequest.DestLicenseSNum, strSKUID, strSKUType, intQty, intIndex, "", DateTime.MinValue, 1, objRMASwapRequest.RequestingSystem);
                                        obj.VersionSeqNo         = -1;
                                        obj.LicenseKey           = releaseKey;
                                        obj.ReleaseDateSpecified = false;

                                        //add it to response licenseinfo object
                                        LicenseInfoList.Add(obj);
                                        if (string.IsNullOrEmpty(releaseKey) || releaseKey.Equals("Fail to Generate Key"))
                                        {
                                            flag = false;
                                        }
                                        else
                                        {
                                            flag = true;
                                        }
                                    }
                                }


                                objRMASwapResponse.Licenses = LicenseInfoList.ToArray();
                            }
                            else
                            {
                                objRMASwapResponse.ResponseStatus  = (int)Constants.ResponseStatus.UnKnownSKU;
                                objRMASwapResponse.ResponseMessage = Constants.ResponseMessage[2].ToString();
                            }
                        }
                    }
                    else
                    {
                        objRMASwapResponse.ResponseStatus  = (int)Constants.ResponseStatus.InvalidParameter;
                        objRMASwapResponse.ResponseMessage = "Invalid TST Record for SNum.Fail to Replace SNum.";
                    }

                    #endregion

                    //flag = true;
                }



                //NEW CR
                #region Soft Delete the Source Serial Number
                //Soft delete the Source Serial number
                if (flag)
                {
                    var objSoftDeleteLicensesResponse = new SoftDeleteLicensesResponse();
                    var objSoftDeleteLicensesRequest  = new SoftDeleteLicensesRequest();
                    objSoftDeleteLicensesRequest.RequestID        = objRMASwapRequest.RequestID;
                    objSoftDeleteLicensesRequest.RequestDateTime  = objRMASwapRequest.RequestDateTime;
                    objSoftDeleteLicensesRequest.RequestingSystem = objRMASwapRequest.RequestingSystem;
                    objSoftDeleteLicensesRequest.SNum             = objRMASwapRequest.SourceLicenseSNum;


                    objSoftDeleteLicensesResponse.RequestID        = objSoftDeleteLicensesRequest.RequestID;
                    objSoftDeleteLicensesResponse.ResponseID       = objSoftDeleteLicensesRequest.RequestID;
                    objSoftDeleteLicensesResponse.ResponseDateTime = DateTime.UtcNow;
                    objSoftDeleteLicensesResponse.ResponseStatus   = (int)Constants.ResponseStatus.Success;
                    objSoftDeleteLicensesResponse.ResponseMessage  = Constants.ResponseStatus.Success.ToString();
                    objSoftDeleteLicensesResponse.SNum             = objSoftDeleteLicensesRequest.SNum;

                    objSoftDeleteLicensesBL.ProcessRequest(objSoftDeleteLicensesRequest, objSoftDeleteLicensesResponse);
                    if (objSoftDeleteLicensesResponse.ResponseStatus != (int)Constants.ResponseStatus.Success)
                    {
                        objRMASwapResponse.ResponseMessage += objSoftDeleteLicensesResponse.ResponseMessage.ToString();
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception("Error Occured While Processing RMASwap. " + ex.Message + Environment.NewLine + ex.StackTrace);
            }

            return(flag);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="objSoftDeleteLicensesRequest"></param>
        /// <returns></returns>
        public SoftDeleteLicensesResponse SoftDeleteLicenses(SoftDeleteLicensesRequest objSoftDeleteLicensesRequest)
        {
            var objSoftDeleteLicensesResponse = new SoftDeleteLicensesResponse();

            objSoftDeleteLicensesResponse.RequestID        = objSoftDeleteLicensesRequest.RequestID;
            objSoftDeleteLicensesResponse.ResponseID       = objSoftDeleteLicensesRequest.RequestID;
            objSoftDeleteLicensesResponse.ResponseDateTime = DateTime.UtcNow;
            objSoftDeleteLicensesResponse.ResponseStatus   = (int)Constants.ResponseStatus.Success;
            objSoftDeleteLicensesResponse.ResponseMessage  = Constants.ResponseStatus.Success.ToString();
            objSoftDeleteLicensesResponse.SNum             = objSoftDeleteLicensesRequest.SNum;
            if (objSoftDeleteLicensesRequest.SKU != null)
            {
                objSoftDeleteLicensesResponse.SKU = objSoftDeleteLicensesRequest.SKU;
            }


            //Start GetSoftDeleteLicenses

            try
            {
                //ASSIGNING ID'S
                objSoftDeleteLicensesResponse.RequestID  = objSoftDeleteLicensesRequest.RequestID;
                objSoftDeleteLicensesResponse.ResponseID = objSoftDeleteLicensesRequest.RequestID;

                //INPUT DATA VALIDATION
                if (objSoftDeleteLicensesBL.ValidateRequest(objSoftDeleteLicensesRequest, objSoftDeleteLicensesResponse))
                {
                    //PROCESS DATA & RETURN RESPONSE
                    objSoftDeleteLicensesBL.ProcessRequest(objSoftDeleteLicensesRequest, objSoftDeleteLicensesResponse);
                }
            }
            catch (Exception ex)
            {
                //SET FAILURE STATUS
                objSoftDeleteLicensesResponse.ResponseStatus  = (int)Constants.ResponseStatus.ServiceUnavailable;
                objSoftDeleteLicensesResponse.ResponseMessage = Constants.ResponseMessage[1000].ToString();

                //LOG EXCEPTION
                objEventLogger.WriteLog(ex.Message + Environment.NewLine + ex.StackTrace, objSoftDeleteLicensesRequest.RequestingSystem, DateTime.UtcNow, objSoftDeleteLicensesRequest.RequestID);
            }
            finally
            {
                objSoftDeleteLicensesResponse.ResponseDateTime = DateTime.UtcNow;


                //SERIALIZE REQUEST/RESPONSE
                string request  = "GetSoftDeleteLicensesRequest";
                string response = "GetSoftDeleteLicensesResponse";

                try
                {
                    request  = Util.SerializeObject(objSoftDeleteLicensesRequest);
                    response = Util.SerializeObject(objSoftDeleteLicensesResponse);
                }
                catch (Exception ex)
                {
                    objEventLogger.WriteLog("Request/Response Object Serialization Error: " + ex.Message + Environment.NewLine + ex.StackTrace, objSoftDeleteLicensesRequest.RequestingSystem, DateTime.UtcNow, objSoftDeleteLicensesRequest.RequestID);
                }

                if (!request.IsValidString())
                {
                    request = "GetSoftDeleteLicensesRequest";
                }
                if (!response.IsValidString())
                {
                    response = "GetSoftDeleteLicensesResponse";
                }


                //LOG REQUEST/RESPONSE
                objTransactionLogger.LogTransaction(objSoftDeleteLicensesRequest.RequestID, objSoftDeleteLicensesRequest.RequestDateTime, objSoftDeleteLicensesRequest.RequestingSystem,
                                                    request, objSoftDeleteLicensesResponse.ResponseID, objSoftDeleteLicensesResponse.ResponseDateTime, response,
                                                    objSoftDeleteLicensesResponse.ResponseStatus, objSoftDeleteLicensesResponse.ResponseMessage, 0);

                //End Processing GetSoftDeleteLicenses
            }

            //GetSoftDeleteLicenses ends
            return(objSoftDeleteLicensesResponse);
        }