Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="skuDetail"></param>
        /// <returns></returns>
        public LicenseInfo CreateLicenseInfo(SKUDetailInfo skuDetail)
        {
            LicenseInfo obj = new LicenseInfo();

            obj.SKUID        = skuDetail.SKUID;
            obj.SKUType      = skuDetail.SKUType;
            obj.Qty          = skuDetail.Qty;
            obj.QtySpecified = skuDetail.QtySpecified;

            if (skuDetail.SKUType == Constants.SKUType.OPTION.ToString())
            {
                obj.VersionSeqNo         = -1;
                obj.LicenseKey           = skuDetail.OptionLicenseKey;
                obj.ReleaseDateSpecified = false;
            }
            else
            {
                VersionInfoWithLicense[] versions      = skuDetail.VersionList;
                VersionInfoWithLicense   latestVersion = versions.OrderByDescending(o => o.VersionSeqNo).FirstOrDefault <VersionInfoWithLicense>();
                // CALL GET LICENSE FOR GIVEN SKU AND GET LICENSE KEY
                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       = latestVersion.LicenseKey;
                }
            }

            return(obj);
        }
Exemple #2
0
        /// <summary>
        /// Build SKU Details Info Object for all SKU ID and Gets latest Version License if missing
        /// </summary>
        /// <param name="sKUID"></param>
        /// /*new CR user logging 08/2013*/
        public SKUDetailInfo[] GetSKUDetailInfoWithLatestVersionLicense(string[] sKUID, string licensableSNum, string requestingSystem)
        {
            List <SKUDetailInfo> skuDetailInfoList = new List <SKUDetailInfo>();
            DataSet       skuDataSet = new DataSet();
            SKUDetailInfo skuDetailInfo;
            List <VersionInfoWithLicense> skuVersionInfoList;

            try
            {
                //get all data
                skuDataSet = GetSKUDetailInfoData(sKUID, licensableSNum);

                if (skuDataSet != null && skuDataSet.Tables != null && skuDataSet.Tables.Count > 0)
                {
                    if (skuDataSet.Tables[0].Rows.Count > 0)
                    {
                        for (int i = 0; i < skuDataSet.Tables[0].Rows.Count; i++)
                        {
                            DataRow sdr           = null;
                            string  currentSKUID  = string.Empty;
                            string  previousSKUID = string.Empty;
                            sdr = skuDataSet.Tables[0].Rows[i];

                            if (sdr["SKUID"] != DBNull.Value && sdr["SKUType"] != DBNull.Value)
                            {
                                currentSKUID  = Convert.ToString(sdr["SKUID"]);
                                previousSKUID = Convert.ToString(sdr["SKUID"]);

                                skuDetailInfo = new SKUDetailInfo();

                                //BUILD OBJECT FROM DB
                                skuDetailInfo.SKUID        = Convert.ToString(sdr["SKUID"]);
                                skuDetailInfo.SKUName      = (sdr["SKUName"] != DBNull.Value) ? Convert.ToString(sdr["SKUName"]) : "";
                                skuDetailInfo.TAAPartNo    = (sdr["TAAPartNo"] != DBNull.Value) ? Convert.ToString(sdr["TAAPartNo"]) : "";
                                skuDetailInfo.TAAPartName  = (sdr["TAAPartName"] != DBNull.Value) ? Convert.ToString(sdr["TAAPartName"]) : "";
                                skuDetailInfo.SKUType      = (sdr["SKUType"] != DBNull.Value) ? Convert.ToString(sdr["SKUType"]) : "";
                                skuDetailInfo.Qty          = (sdr["Qty"] != DBNull.Value) ? Convert.ToInt32(sdr["Qty"]) : -1;
                                skuDetailInfo.QtySpecified = false;
                                if (skuDetailInfo.Qty != -1)
                                {
                                    skuDetailInfo.QtySpecified = true;
                                }

                                skuDetailInfo.OptionLicenseKey = (sdr["OptionLicenseKey"] != DBNull.Value) ? Convert.ToString(sdr["OptionLicenseKey"]) : "";

                                if (skuDetailInfo.SKUType == Constants.SKUType.SW.ToString())
                                {
                                    skuVersionInfoList = new List <VersionInfoWithLicense>();
                                    while (previousSKUID == currentSKUID)
                                    {
                                        VersionInfoWithLicense versionObject = new VersionInfoWithLicense();
                                        versionObject.VersionPartNo   = (sdr["VersionPartNo"] != DBNull.Value) ? Convert.ToString(sdr["VersionPartNo"]) : "";
                                        versionObject.VersionPartName = (sdr["VersionPartName"] != DBNull.Value) ? Convert.ToString(sdr["VersionPartName"]) : "";
                                        versionObject.VersionSeqNo    = (sdr["VersionSeqNo"] != DBNull.Value) ? Convert.ToInt32(sdr["VersionSeqNo"]) : -1;
                                        versionObject.Version         = (sdr["Version"] != DBNull.Value) ? Convert.ToString(sdr["Version"]) : "";
                                        versionObject.VersionType     = (sdr["VersionType"] != DBNull.Value) ? Convert.ToString(sdr["VersionType"]) : "";
                                        versionObject.VersionReleaseClassification = (sdr["VersionReleaseClassification"] != DBNull.Value) ? Convert.ToString(sdr["VersionReleaseClassification"]) : "";
                                        versionObject.IsShippedVersion             = (sdr["IsShippedVersion"] != DBNull.Value) ? Convert.ToBoolean(sdr["IsShippedVersion"]) : false;
                                        versionObject.LicenseKey           = (sdr["LicenseKey"] != DBNull.Value) ? Convert.ToString(sdr["LicenseKey"]) : "";
                                        versionObject.ReleaseDateSpecified = false;
                                        versionObject.ReleaseDate          = (sdr["ReleaseDate"] != DBNull.Value) ? Convert.ToDateTime(sdr["ReleaseDate"]) : DateTime.MinValue;
                                        if (versionObject.ReleaseDate != DateTime.MinValue)
                                        {
                                            versionObject.ReleaseDateSpecified = true;
                                        }

                                        versionObject.VersionUpgradedOnSpecified = true;
                                        versionObject.VersionUpgradedOn          = (sdr["VersionUpgradedDate"] != DBNull.Value) ? Convert.ToDateTime(sdr["VersionUpgradedDate"]) : DateTime.MinValue;
                                        if (versionObject.VersionUpgradedOn != DateTime.MinValue)
                                        {
                                            versionObject.VersionUpgradedOnSpecified = true;
                                        }


                                        versionObject.ImageUrl = (sdr["ImageUrl"] != DBNull.Value) ? Convert.ToString(sdr["ImageUrl"]) : "";

                                        skuVersionInfoList.Add(versionObject);


                                        i++;
                                        if (i < skuDataSet.Tables[0].Rows.Count)
                                        {
                                            sdr          = skuDataSet.Tables[0].Rows[i];
                                            currentSKUID = Convert.ToString(sdr["SKUID"]);
                                        }
                                        else
                                        {
                                            currentSKUID = "";
                                            i--;
                                        }
                                    }
                                    VersionInfoWithLicense latestVersion = skuVersionInfoList.OrderByDescending(obj => obj.VersionSeqNo).FirstOrDefault <VersionInfoWithLicense>();
                                    if (latestVersion != null)
                                    {
                                        skuVersionInfoList = new List <VersionInfoWithLicense>();

                                        if (string.IsNullOrEmpty(latestVersion.LicenseKey))
                                        {
                                            //call get license
                                            //GetLicenseKey(string SNum, string SKUID, string SKUType, int Qty, string Version, DateTime ExpiryDate);
                                            /*new CR user logging 08/2013*/
                                            latestVersion.LicenseKey = GetLicenseKey(licensableSNum, latestVersion.VersionPartName, skuDetailInfo.SKUType, skuDetailInfo.Qty, 1, latestVersion.Version, DateTime.MinValue, requestingSystem);
                                        }
                                        skuVersionInfoList.Add(latestVersion);
                                    }
                                    skuDetailInfo.VersionList = skuVersionInfoList.ToArray();
                                }

                                skuDetailInfoList.Add(skuDetailInfo);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Building SKU Details Failed. " + ex.Message + Environment.NewLine + ex.StackTrace);
            }

            return(skuDetailInfoList.ToArray());
        }
Exemple #3
0
        /// <summary>
        /// Build SKU Details Info Object for all SKU ID
        /// </summary>
        /// <param name="sKUID"></param>
        public SKUDetailInfo[] GetSKUDetailInfo(string[] sKUID, string licensableSNum)
        {
            List <SKUDetailInfo> skuDetailInfoList = new List <SKUDetailInfo>();
            DataSet       skuDataSet = new DataSet();
            SKUDetailInfo skuDetailInfo;
            List <VersionInfoWithLicense> skuVersionInfoList;

            try
            {
                //get all data
                skuDataSet = GetSKUDetailInfoData(sKUID, licensableSNum);

                if (skuDataSet != null && skuDataSet.Tables != null && skuDataSet.Tables.Count > 0)
                {
                    if (skuDataSet.Tables[0].Rows.Count > 0)
                    {
                        for (int i = 0; i < skuDataSet.Tables[0].Rows.Count; i++)
                        {
                            DataRow sdr           = null;
                            string  currentSKUID  = string.Empty;
                            string  previousSKUID = string.Empty;
                            sdr = skuDataSet.Tables[0].Rows[i];

                            if (sdr["SKUID"] != DBNull.Value && sdr["SKUType"] != DBNull.Value)
                            {
                                currentSKUID  = Convert.ToString(sdr["SKUID"]);
                                previousSKUID = Convert.ToString(sdr["SKUID"]);

                                skuDetailInfo = new SKUDetailInfo();

                                //BUILD OBJECT FROM DB
                                skuDetailInfo.SKUID        = Convert.ToString(sdr["SKUID"]);
                                skuDetailInfo.SKUName      = (sdr["SKUName"] != DBNull.Value) ? Convert.ToString(sdr["SKUName"]) : "";
                                skuDetailInfo.TAAPartNo    = (sdr["TAAPartNo"] != DBNull.Value) ? Convert.ToString(sdr["TAAPartNo"]) : "";
                                skuDetailInfo.TAAPartName  = (sdr["TAAPartName"] != DBNull.Value) ? Convert.ToString(sdr["TAAPartName"]) : "";
                                skuDetailInfo.SKUType      = (sdr["SKUType"] != DBNull.Value) ? Convert.ToString(sdr["SKUType"]) : "";
                                skuDetailInfo.Qty          = (sdr["Qty"] != DBNull.Value) ? Convert.ToInt32(sdr["Qty"]) : -1;
                                skuDetailInfo.QtySpecified = false;
                                if (skuDetailInfo.Qty != -1)
                                {
                                    skuDetailInfo.QtySpecified = true;
                                }

                                skuDetailInfo.UpdatedTimestampSpecified = true;
                                if (skuDetailInfo.SKUType == Constants.SKUType.OPTION.ToString())
                                {
                                    if (skuDetailInfo.UpdatedTimestamp == DateTime.MinValue)
                                    {
                                        skuDetailInfo.UpdatedTimestamp          = (sdr["UpdatedOn"] != DBNull.Value) ? Convert.ToDateTime(sdr["UpdatedOn"]) : DateTime.MinValue;
                                        skuDetailInfo.UpdatedTimestampSpecified = true;
                                    }
                                    else
                                    {
                                        skuDetailInfo.UpdatedTimestamp          = Convert.ToDateTime((sdr["UpdatedOn"]));
                                        skuDetailInfo.UpdatedTimestampSpecified = true;
                                    }
                                }

                                skuDetailInfo.OptionLicenseKey = (sdr["OptionLicenseKey"] != DBNull.Value) ? Convert.ToString(sdr["OptionLicenseKey"]) : "";

                                if (skuDetailInfo.SKUType == Constants.SKUType.SW.ToString())
                                {
                                    skuVersionInfoList = new List <VersionInfoWithLicense>();
                                    while (previousSKUID == currentSKUID)
                                    {
                                        VersionInfoWithLicense versionObject = new VersionInfoWithLicense();
                                        versionObject.VersionPartNo   = (sdr["VersionPartNo"] != DBNull.Value) ? Convert.ToString(sdr["VersionPartNo"]) : "";
                                        versionObject.VersionPartName = (sdr["VersionPartName"] != DBNull.Value) ? Convert.ToString(sdr["VersionPartName"]) : "";
                                        versionObject.VersionSeqNo    = (sdr["VersionSeqNo"] != DBNull.Value) ? Convert.ToInt32(sdr["VersionSeqNo"]) : -1;
                                        versionObject.Version         = (sdr["Version"] != DBNull.Value) ? Convert.ToString(sdr["Version"]) : "";
                                        versionObject.VersionType     = (sdr["VersionType"] != DBNull.Value) ? Convert.ToString(sdr["VersionType"]) : "";
                                        versionObject.VersionReleaseClassification = (sdr["VersionReleaseClassification"] != DBNull.Value) ? Convert.ToString(sdr["VersionReleaseClassification"]) : "";
                                        versionObject.IsShippedVersion             = (sdr["IsShippedVersion"] != DBNull.Value) ? Convert.ToBoolean(sdr["IsShippedVersion"]) : false;
                                        versionObject.LicenseKey           = (sdr["LicenseKey"] != DBNull.Value) ? Convert.ToString(sdr["LicenseKey"]) : "";
                                        versionObject.ReleaseDateSpecified = false;
                                        versionObject.ReleaseDate          = (sdr["ReleaseDate"] != DBNull.Value) ? Convert.ToDateTime(sdr["ReleaseDate"]) : DateTime.MinValue;
                                        if (versionObject.ReleaseDate != DateTime.MinValue)
                                        {
                                            versionObject.ReleaseDateSpecified = true;
                                        }

                                        versionObject.VersionUpgradedOnSpecified = true;
                                        versionObject.VersionUpgradedOn          = (sdr["VersionUpgradedDate"] != DBNull.Value) ? Convert.ToDateTime(sdr["VersionUpgradedDate"]) : DateTime.MinValue;
                                        if (versionObject.VersionUpgradedOn != DateTime.MinValue)
                                        {
                                            versionObject.VersionUpgradedOnSpecified = true;
                                        }


                                        versionObject.ImageUrl = (sdr["ImageUrl"] != DBNull.Value) ? Convert.ToString(sdr["ImageUrl"]) : "";

                                        skuDetailInfo.UpdatedTimestampSpecified = true;
                                        bool del = (sdr["Deleted"] != DBNull.Value) ? Convert.ToBoolean(sdr["Deleted"]) : true;
                                        if (del == false)
                                        {
                                            if (skuDetailInfo.UpdatedTimestamp == DateTime.MinValue)
                                            {
                                                skuDetailInfo.UpdatedTimestamp          = (sdr["UpdatedOn"] != DBNull.Value) ? Convert.ToDateTime(sdr["UpdatedOn"]) : DateTime.MinValue;
                                                skuDetailInfo.UpdatedTimestampSpecified = true;
                                            }
                                            else
                                            {
                                                skuDetailInfo.UpdatedTimestamp          = Convert.ToDateTime((sdr["UpdatedOn"]));
                                                skuDetailInfo.UpdatedTimestampSpecified = true;
                                            }
                                        }

                                        skuVersionInfoList.Add(versionObject);

                                        i++;
                                        if (i < skuDataSet.Tables[0].Rows.Count)
                                        {
                                            sdr          = skuDataSet.Tables[0].Rows[i];
                                            currentSKUID = Convert.ToString(sdr["SKUID"]);
                                        }
                                        else
                                        {
                                            currentSKUID = string.Empty;
                                        }
                                    }
                                    // if come out reset to original place
                                    i--;
                                    skuDetailInfo.VersionList = skuVersionInfoList.ToArray();
                                }
                                skuDetailInfoList.Add(skuDetailInfo);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Building SKU Details Failed. " + ex.Message + Environment.NewLine + ex.StackTrace);
            }

            return(skuDetailInfoList.ToArray());
        }