Beispiel #1
0
        /// <summary>
        /// function to create the License  for multiple User . This function will be used for bulk license mapping to
        /// multiple User.
        /// </summary>
        /// <param name="licList"></param>
        /// <param name="userIdList"></param>
        /// <returns></returns>
        public bool CreateMultiUserLicense(UserLicenseDataMapping model)
        {
            LicenseLogic licLogic = new LicenseLogic();

            foreach (var userId in model.UserList)
            {
                var userLicList = Work.UserLicenseRepository.GetData(ul => ul.UserId == userId).ToList();
                foreach (var lic in model.LicenseDataList)
                {
                    var data = Work.LicenseDataRepository.GetData(l => l.ProductId == lic.ProductId && l.UserSubscriptionId == lic.UserSubscriptionId).ToList().Select(l => l.Id);
                    var obj  = userLicList.FirstOrDefault(ul => data.Contains(ul.LicenseId));
                    if (obj == null)
                    {
                        var         licId = licLogic.GetUnassignedLicense(lic.UserSubscriptionId, lic.ProductId).Id;
                        UserLicense ul    = new UserLicense()
                        {
                            UserId    = userId,
                            LicenseId = licId,
                            TeamId    = model.TeamId
                        };
                        CreateUserLicense(ul);
                    }
                    userLicList.Remove(obj);
                }
            }
            return(true);
        }
        public string RevokeLicenseFromUser(string[] SelectedSubscription)
        {
            List <string> userIdList = new List <string>();

            userIdList.Add(Convert.ToString(TempData["UserId"]));
            List <LicenseData> lstLicData = new List <LicenseData>();

            foreach (var data in SelectedSubscription)
            {
                var splitValue     = data.Split(new char[] { '-' });
                var prodId         = splitValue[0].Split(new char[] { ':' })[1];
                var subscriptionId = splitValue[1].Split(new char[] { ':' })[1];

                LicenseData licData = new LicenseData()
                {
                    UserSubscriptionId = Convert.ToInt32(subscriptionId),
                    ProductId          = Convert.ToInt32(prodId)
                };
                lstLicData.Add(licData);
            }
            UserLicenseDataMapping mapping = new UserLicenseDataMapping()
            {
                TeamId = LicenseSessionState.Instance.SelectedTeam.Id, LicenseDataList = lstLicData, UserList = userIdList
            };
            HttpClient client   = WebApiServiceLogic.CreateClient(ServiceType.OnPremiseWebApi);
            var        response = client.PostAsJsonAsync("api/License/RevokeUserLicence", mapping).Result;

            if (!response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var obj      = JsonConvert.DeserializeObject <ResponseFailure>(jsonData);
                return(response.ReasonPhrase + " - " + obj.Message);
            }
            return(String.Empty);
        }
        public HttpResponseMessage RemoveUserLicense(UserLicenseDataMapping model)
        {
            var status = userLicenselogic.RevokeUserLicense(model);

            if (status)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, "Success"));
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, userLicenselogic.ErrorMessage));
            }
        }
Beispiel #4
0
        public bool RevokeUserLicense(UserLicenseDataMapping model)
        {
            LicenseLogic licLogic = new LicenseLogic();

            foreach (var userId in model.UserList)
            {
                foreach (var lic in model.LicenseDataList)
                {
                    var obj = Work.UserLicenseRepository.GetData(l => l.UserId == userId && l.License.ProductId == lic.ProductId && l.License.UserSubscriptionId == lic.UserSubscriptionId && l.TeamId == model.TeamId).FirstOrDefault();
                    RevokeUserLicense(obj);
                }
            }
            return(true);
        }
        public string UpdateLicense(string[] SelectedSubscription, string action = "Add", string[] SelectedUserIdList = null, bool canAddBulkLicense = false)
        {
            List <string> userIdList = new List <string>();

            if (canAddBulkLicense)
            {
                foreach (var userId in SelectedUserIdList)
                {
                    userIdList.Add(userId);
                }
            }
            else
            {
                userIdList.Add(Convert.ToString(TempData["UserId"]));
            }

            List <LicenseData>     lstLicData = ExtractLicenseData(SelectedSubscription);
            UserLicenseDataMapping mapping    = new UserLicenseDataMapping()
            {
                TeamId = LicenseSessionState.Instance.SelectedTeam.Id, LicenseDataList = lstLicData, UserList = userIdList
            };
            HttpClient client   = WebApiServiceLogic.CreateClient(ServiceType.OnPremiseWebApi);
            var        response = client.PostAsJsonAsync("api/License/CreateUserLicence", mapping).Result;

            if (!response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var obj      = JsonConvert.DeserializeObject <ResponseFailure>(jsonData);
                return(response.ReasonPhrase + " - " + obj.Message);
            }
            else
            {
                if (userIdList.Contains(LicenseSessionState.Instance.User.UserId))
                {
                    var subscriptionDetails = OnPremiseSubscriptionLogic.GetUserLicenseForUser();
                    LicenseSessionState.Instance.UserSubscriptionList = subscriptionDetails;
                }
            }
            return(String.Empty);
        }