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)); }
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(); } }
/// <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); }
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); }