public HttpResponseMessage GetUserSubscripedLicense(FetchUserSubscription model)
        {
            LicenseBO licBOLogic = new LicenseBO();

            licBOLogic.UserManager = UserManager;
            licBOLogic.RoleManager = RoleManager;
            var data = licBOLogic.GetUserLicenseSubscriptionDetails(model);

            return(Request.CreateResponse(HttpStatusCode.OK, data));
        }
        public HttpResponseMessage GetUserSubscripedLicense(string userId, bool isFeatureRequired)
        {
            LicenseBO licBOLogic = new LicenseBO();

            licBOLogic.UserManager = UserManager;
            licBOLogic.RoleManager = RoleManager;
            FetchUserSubscription model = new FetchUserSubscription()
            {
                UserId = userId, IsFeatureRequired = isFeatureRequired
            };
            var data = licBOLogic.GetUserLicenseSubscriptionDetails(model);

            return(Request.CreateResponse(HttpStatusCode.OK, data));
        }
Ejemplo n.º 3
0
        public void LoadFeaturesOnline()
        {
            HttpClient client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());

            client.DefaultRequestHeaders.Add("authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
            FetchUserSubscription userSub = new FetchUserSubscription();

            userSub.TeamId            = AppState.Instance.SelectedTeam.Id;
            userSub.IsFeatureRequired = true;
            userSub.UserId            = AppState.Instance.User.UserId;
            var response = client.PostAsJsonAsync("api/License/GetSubscriptionLicenseByTeam", userSub).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var details  = JsonConvert.DeserializeObject <UserLicenseDetails>(jsonData);
                AppState.Instance.UserLicenseList = details.SubscriptionDetails;
                UpdateFeatureToFile();
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Function to get the User License with details  for which user is authorized
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="isFeatureRequired"></param>
        /// <returns></returns>
        public static UserLicenseDetails GetUserLicenseDetails(string userId, bool isFeatureRequired, bool fetchBasedonTeam = true)
        {
            var                   licenseMapModelList = new UserLicenseDetails();
            HttpClient            client = WebApiServiceLogic.CreateClient(ServiceType.OnPremiseWebApi);
            FetchUserSubscription subs   = new FetchUserSubscription();

            if (fetchBasedonTeam)
            {
                subs.TeamId = LicenseSessionState.Instance.AppTeamContext.Id;
            }
            subs.UserId            = userId;
            subs.IsFeatureRequired = isFeatureRequired;
            var response = client.PostAsJsonAsync("api/License/GetSubscriptionLicenseByTeam", subs).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                licenseMapModelList = JsonConvert.DeserializeObject <UserLicenseDetails>(jsonData);
            }
            return(licenseMapModelList);
        }
Ejemplo n.º 5
0
        public UserLicenseDetails GetUserLicenseSubscriptionDetails(FetchUserSubscription model)
        {
            UserLicenseDetails licDetails = new UserLicenseDetails();
            var licenseMapModelList       = new List <SubscriptionDetails>();
            UserLicenseLogic logic        = new UserLicenseLogic();
            SubscriptionBO   proSubLogic  = new SubscriptionBO();

            userLogic.UserManager = UserManager;
            userLogic.RoleManager = RoleManager;

            licDetails.User = userLogic.GetUserById(model.UserId);


            List <UserLicense> data = null;

            if (model.TeamId == 0)
            {
                data = logic.GetUserLicense(model.UserId);
            }
            else
            {
                data = logic.GetUserLicense(model.UserId, model.TeamId);
            }

            var dataList = proSubLogic.GetSubscriptionFromFile();

            if (data.Count > 0)
            {
                var      subsIdList       = data.Select(l => l.License.Subscription.SubscriptionId);
                var      subscriptionList = dataList.Where(s => subsIdList.Contains(s.Id)).ToList();
                DateTime licExpireData    = DateTime.MinValue;
                foreach (var subs in subscriptionList)
                {
                    var userLicLicst             = data.Where(ul => ul.License.Subscription.SubscriptionId == subs.Id).ToList();
                    var proList                  = userLicLicst.Select(u => u.License.ProductId).ToList();
                    SubscriptionDetails mapModel = new SubscriptionDetails()
                    {
                        Name = subs.Name,
                        UserSubscriptionId = data.FirstOrDefault(us => us.License.Subscription.SubscriptionId == subs.Id).License.UserSubscriptionId
                    };
                    foreach (var pro in subs.Products.Where(p => proList.Contains(p.Id)))
                    {
                        var objLic = userLicLicst.FirstOrDefault(f => f.License.ProductId == pro.Id);
                        if (objLic != null)
                        {
                            string licenseKeydata = String.Empty;
                            licenseKeydata = objLic.License.LicenseKey;
                            var splitData   = licenseKeydata.Split(new char[] { '-' });
                            var datakey     = splitData[0];
                            var decryptObj  = LicenseKey.LicenseKeyGen.CryptoEngine.Decrypt(datakey, true);
                            var licdataList = decryptObj.Split(new char[] { '^' });
                            licExpireData = Convert.ToDateTime(licdataList[1]);
                        }
                        ProductDetails prod = new ProductDetails()
                        {
                            Id         = pro.Id,
                            Name       = pro.Name,
                            ExpireDate = licExpireData
                        };
                        if (model.IsFeatureRequired)
                        {
                            foreach (var fet in pro.AssociatedFeatures)
                            {
                                var feature = new Feature()
                                {
                                    Id          = fet.Id,
                                    Name        = fet.Name,
                                    Description = fet.Description,
                                    Version     = fet.Version
                                };
                                prod.Features.Add(feature);
                            }
                        }
                        mapModel.Products.Add(prod);
                    }
                    licenseMapModelList.Add(mapModel);
                }
            }
            licDetails.SubscriptionDetails = licenseMapModelList;
            return(licDetails);
        }