コード例 #1
0
 public LicenseBO()
 {
     userLicenseRequestLogic = new UserLicenseRequestLogic();
     licLogic   = new UserLicenseLogic();
     userLogic  = new UserLogic();
     _teamLogic = new TeamLogic();
 }
コード例 #2
0
ファイル: TeamBO.cs プロジェクト: pshivaru/LicensePrototype2
 public TeamBO()
 {
     userLogic        = new UserLogic();
     logic            = new TeamMemberLogic();
     teamLogic        = new TeamLogic();
     teamLicenseLogic = new TeamLicenseLogic();
     userLicLogic     = new UserLicenseLogic();
     licLogic         = new LicenseLogic();
 }
コード例 #3
0
        public UserLicenseLogicTest()
        {
            InitializerClass.Initialize();

            userLicLogic = new UserLicenseLogic();
            userLogic    = new UserLogic();
            licLogic     = new Logic.ServiceLogic.LicenseLogic();
            userLicLogic = new UserLicenseLogic();
            subLogic     = new UserSubscriptionLogic();
            AdminUser    = userLogic.GetUserByEmail("*****@*****.**");
            TeamMember   = userLogic.GetUserByEmail("*****@*****.**");
            Sub          = subLogic.GetSubscription(AdminUser.UserId).First();
            LicenseList  = licLogic.GetLicenseList(Sub.Id);
        }
コード例 #4
0
        public HttpResponseMessage UpdateActiveStatus(User model)
        {
            Initialize();
            logic.UpdateLogOutStatus(model.UserId, model.IsActive);
            UserLicenseLogic licLogic = new UserLicenseLogic();

            licLogic.RevokeTeamLicenseFromUser(model.UserId);
            if (!String.IsNullOrEmpty(logic.ErrorMessage))
            {
                return(Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, logic.ErrorMessage));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.OK, "updated"));
            }
        }
コード例 #5
0
 public LicenseController()
 {
     userLicenselogic = new UserLicenseLogic();
     teamLicenselogic = new TeamLicenseLogic();
     reqLogic         = new UserLicenseRequestLogic();
 }
コード例 #6
0
        public List <SubscriptionDetails> GetSubscriptionList(string adminId, string userId = "")
        {
            List <SubscriptionDetails> lstSsubscriptionDetail = new List <SubscriptionDetails>();
            var            usersubList = userSubLogic.GetSubscription(adminId);
            SubscriptionBO psLogic     = new SubscriptionBO();
            var            subList     = psLogic.GetSubscriptionFromFile();
            List <int>     proList     = new List <int>();

            if (!String.IsNullOrEmpty(userId))
            {
                bool   isAdmin = adminId == userId;
                TeamBO teamBo  = new TeamBO();
                proList = teamBo.GetTeamProductByUserId(userId, isAdmin);
            }
            foreach (var userSub in usersubList)
            {
                var subType = subList.FirstOrDefault(s => s.Id == userSub.SubscriptionId);
                if (subType != null)
                {
                    SubscriptionDetails model = new SubscriptionDetails()
                    {
                        Id = subType.Id,
                        UserSubscriptionId = userSub.Id,
                        Name = subType.Name
                    };
                    LicenseLogic licDataLogic = new LicenseLogic();
                    var          userlicList  = licDataLogic.GetLicenseList(userSub.Id);

                    foreach (var pro in subType.Products)
                    {
                        if (!proList.Contains(pro.Id))
                        {
                            var licList = userlicList.Where(p => p.ProductId == pro.Id).ToList();
                            var proObj  = new ProductDetails()
                            {
                                Id = pro.Id, Name = pro.Name, ProductCode = pro.ProductCode, TotalLicenseCount = licList.Count, UsedLicenseCount = licList.Where(l => l.IsMapped == true).Count()
                            };
                            proObj.IsDisabled = proObj.TotalLicenseCount == proObj.UsedLicenseCount;
                            model.Products.Add(proObj);
                        }
                    }
                    lstSsubscriptionDetail.Add(model);
                }
            }

            if (!String.IsNullOrEmpty(userId))
            {
                UserLicenseLogic logic = new UserLicenseLogic();
                var data = logic.GetUserLicense(userId);
                if (data != null && data.Count > 0)
                {
                    data = data.Where(p => p.IsTeamLicense == false).ToList();
                }
                foreach (var obj in data)
                {
                    var subObj = lstSsubscriptionDetail.FirstOrDefault(f => f.UserSubscriptionId == obj.License.UserSubscriptionId);
                    if (subObj != null)
                    {
                        var pro = subObj.Products.FirstOrDefault(f => f.Id == obj.License.ProductId);
                        if (pro != null)
                        {
                            pro.IsSelected   = true;
                            pro.InitialState = true;
                        }
                    }
                }
            }
            return(lstSsubscriptionDetail);
        }
コード例 #7
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);
        }