Esempio n. 1
0
        public void AssignMembershipToUser(int membershipOptionId, int?userId = null, PromoCode promoCode = null)
        {
            try
            {
                var membershipOption = _membershipOptionRepository.Find(membershipOptionId);
                if (membershipOption == null)
                {
                    _logger.Error($"MembershipService => AssignMembershipToUser => No MembershipOption with id {membershipOptionId} was found.");
                    throw new IndexOutOfRangeException("Invalid MembershipOptionId");
                }

                var userMembership = new UserMembership
                {
                    UserId             = userId ?? _authentication.CurrentUserId,
                    MembershipOptionId = membershipOptionId,
                    StartsOn           = DateTime.Today,
                    EndsOn             = membershipOption.IsAnnual ? DateTime.Today.AddYears(1) : DateTime.Today.AddMonths(1),
                    IsAutoRenew        = true
                };

                _userMembershipRepository.Create(userMembership);
                userMembership.User = _usersRepository.Find(userId ?? _authentication.CurrentUserId);
                TerminateExistingMemberships(membershipOptionId);
            }
            catch (Exception ex)
            {
                _logger.Error($"MembershipService => AssignMembershipToUser => Assign Membership failed: {ex.GetFullErrorMessage()}");
                throw ex;
            }
        }
Esempio n. 2
0
        public async Task <IdentityResult> AddUserAsync(string poolId, string userId)
        {
            try
            {
                Ensure.Argument.NotNull(userId);
                Ensure.Argument.NotNullOrEmpty(poolId);

                var membership = new UserMembership()
                {
                    PoolId = poolId, UserId = userId
                };

                membership.UserRoles =
                    _db.Roles.Where(x => x.PoolId == poolId && x.IsDefault == true)
                    .Select(role => new UserRole()
                {
                    UserId = userId,
                    RoleId = role.Id
                }).ToList();

                _db.UserMemberships.Add(membership);
                await _db.SaveChangesAsync();

                return(IdentityResult.Success);
            }
            catch (Exception ex)
            {
                return(IdentityResult.Failed(new IdentityError[] {
                    new IdentityError()
                    {
                        Description = ex.Message
                    }
                }));
            }
        }
Esempio n. 3
0
        private void CreateNewUserRelationshipCompatibilityReading(UserMembership userMembership, PersonModel personModel1, PersonModel personModel2, bool isHideSexuality)
        {
            var userRelationshipCompatibilityReading = new UserRelationshipCompatibilityReading
            {
                FirstName         = personModel1.Name,
                FirstDateOfBirth  = personModel1.DateOfBirth,
                FirstGender       = personModel1.Gender,
                SecondName        = personModel2.Name,
                SecondDateOfBirth = personModel2.DateOfBirth,
                SecondGender      = personModel2.Gender,
                UserId            = _authentication.CurrentUserId,
                UserMembershipId  = userMembership.Id,
                IsHideSexuality   = isHideSexuality
            };

            if (userMembership.NumberOfRelationshipCompatibilityReadingsLeft <= 0)
            {
                var userCredit = _userCreditPacksRepository.Find(e => e.UserId == userMembership.UserId).FirstOrDefault();
                if (userMembership.NumberOfCreditsLeft == 0 || userCredit == null)
                {
                    _logger.Error($"MembershipService => CreateNewUserProfileReading => No User Credits were found for User {userMembership.UserId}.");
                    throw new Exception("No User Credits were found");
                }

                userRelationshipCompatibilityReading.UserCreditPackId = userCredit.Id;
            }

            _userRelationshipCompatibilityReadingsRepository.Create(userRelationshipCompatibilityReading);
        }
Esempio n. 4
0
        private void CreateNewUserProfileReading(UserMembership userMembership, string name, DateTime dateOfBirth, EGender gender)
        {
            var userProfileReading = new UserProfileReading
            {
                FullName         = name,
                DateOfBirth      = dateOfBirth,
                Gender           = gender,
                UserId           = userMembership.UserId,
                UserMembershipId = userMembership.Id
            };

            if (userMembership.NumberOfProfileReadingsLeft == 0)
            {
                var userCredit = _userCreditPacksRepository.Find(e => e.UserId == userMembership.UserId).FirstOrDefault();
                if (userMembership.NumberOfCreditsLeft == 0 || userCredit == null)
                {
                    _logger.Error($"MembershipService => CreateNewUserProfileReading => Not enough Credits remaining for User {userMembership.UserId}.");
                    throw new Exception("Not enough credits remaining");
                }

                userProfileReading.UserCreditPackId = userCredit.Id;
            }

            _userProfileReadingsRepository.Create(userProfileReading);
        }
Esempio n. 5
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new UserMembership {
                    UserName = model.Email, Email = model.Email
                };

                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Esempio n. 6
0
        private void SendEmailToCustomer(UserMembership userMembership, Contact contact, PromoCode promoCode = null)
        {
            var template = Dictionary.NewMembershipThankYouEmail;
            var title    = TemplateProcessor.PopulateTemplate(Dictionary.ThankyouForSubscriptionEmailTitle, new
            {
                SubscriptionType = userMembership.MembershipOption.SubscriptionTypeNameLocal
            });

            if (contact != null && !contact.IsUnsubscribed)
            {
                _mailer.SendEmail(title, TemplateProcessor.PopulateTemplate(template, new
                {
                    Title                 = title,
                    CustomerName          = userMembership.User.FirstName,
                    SubscriptionType      = userMembership.MembershipOption.SubscriptionTypeNameLocal,
                    TotalPrice            = promoCode.FormattedPrice ?? userMembership.MembershipOption.FormattedPrice,
                    EndsOn                = userMembership.EndsOn.ToLongDateString(),
                    NumberOfConsultations = userMembership.MembershipOption.NumberOfConsultations,
                    ImageUrl              = _urlHelper.AbsoluteContent(_config.CompanyLogoUrl),
                    PrivacyPolicyLink     = _urlHelper.AbsoluteAction("PrivacyPolicy", "Home"),
                    UnsubscribeLink       = _urlHelper.AbsoluteAction("Unsubscribe", "Account", new { id = contact.Id }),
                    DateTime.Now.Year
                }), userMembership.User.EmailAddress, userMembership.User.FirstName, _config.SupportEmailAddress,
                                  _config.CompanyName);
            }
        }
Esempio n. 7
0
        private static void AddUserMembership(UserMembership userMembership)
        {
            bool membershipExists = Get(userMembership.user_id).Any(u => u.resource_id == userMembership.resource_id);

            DbUtils.ConnectAndExecute(conn => {
                var query = "INSERT INTO engine4_user_membership(resource_id,user_id,active,resource_approved,user_approved,message,description) " +
                            "VALUES (@resource_id,@user_id,@active,@resource_approved,@user_approved,@message,@description)";
                if (membershipExists)
                {
                    query = "UPDATE engine4_user_membership set active=active,resource_approved=@resource_approved,user_approved=@user_approved,message=@message,description=@description " +
                            "where resource_id=@resource_id AND user_id=@user_id";
                }
                var cmd = new MySqlCommand(query, conn);
                cmd.Parameters.AddWithValue("resource_id", userMembership.resource_id);
                cmd.Parameters.AddWithValue("user_id", userMembership.user_id);
                cmd.Parameters.AddWithValue("active", userMembership.active ? 1:0);
                cmd.Parameters.AddWithValue("resource_approved", userMembership.resource_approved?1:0);
                cmd.Parameters.AddWithValue("user_approved", userMembership.user_approved?1:0);
                cmd.Parameters.AddWithValue("message", userMembership.message);
                cmd.Parameters.AddWithValue("description", userMembership.description);

                var rc = cmd.ExecuteNonQuery();
                return(0);
            });
        }
Esempio n. 8
0
        /// <summary>
        /// Enables a user memberhip to a pool
        /// </summary>
        /// <param name="poolId">The unique id of the SecurityPool</param>
        /// <param name="userId">The unique id of the User</param>
        /// <returns>True if the operation succeeded, false if not</returns>
        public async Task <bool> EnableUserAsync(string poolId, string userId)
        {
            Ensure.Argument.NotNullOrEmpty(poolId, "poolId");
            Ensure.Argument.NotNullOrEmpty(userId, "userId");

            var success    = false;
            var membership = new UserMembership();

            membership.UserId   = userId;
            membership.PoolId   = poolId;
            membership.Disabled = false;

            try
            {
                _db.UserMemberships.Attach(membership);
                _db.UserMemberships.Update(membership);
                await _db.SaveChangesAsync();

                return(success = true);
            }
            catch (Exception error)
            {
                return(success);
            }
        }
        public List <UserMembership> GetUserMembership()
        {
            var     usersList = new List <UserMembership>();
            DataSet ds        = new DataSet();
            string  query     = Resources.UserMembership;

            try
            {
                ds = (DataSet)ExecuteQuery(query);
                foreach (DataTable t in ds.Tables)
                {
                    foreach (DataRow r in t.Rows)
                    {
                        UserMembership UM = new UserMembership();
                        UM.DBName         = (String)r["DBname"];
                        UM.UserName       = (String)r["UserName"];
                        UM.GroupName      = (String)r["GroupName"];
                        UM.LoginName      = (String)r["LoginName"];
                        UM.Def_DBName     = r["DefDBName"] == DBNull.Value ? null : (String)r?["DefDBName"];
                        UM.Def_SchemaName = r["DefSchemaName"] == DBNull.Value ? null : (String)r?["DefSchemaName"];
                        usersList.Add(UM);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception catched: " + ex.Message);
                throw;
                //Console.WriteLine("Exception catched: " + ex.Message);
                //DO2.Success = false;
            }

            return(usersList);
        }
Esempio n. 10
0
        public static async Task <ClaimsIdentity> GenerateUserIdentityAsync(this UserMembership loggedUser, UserManager <UserMembership> manager)
        {
            // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(loggedUser, DefaultAuthenticationTypes.ApplicationCookie);

            // Add custom user claims here
            return(userIdentity);
        }
Esempio n. 11
0
 public UserMembership Insert(UserMembership obj)
 {
     using (InsightEntities db = new InsightEntities())
     {
         db.UserMembership.Add(obj);
         db.SaveChanges();
         return(obj);
     }
 }
Esempio n. 12
0
        public void CreateNewUser(string FullName, string Email, string AddUserRole)
        {
            try
            {
                NameSplit(FullName);

                UserInfo oUser = new UserInfo();

                oUser.PortalID    = this.PortalId;
                oUser.IsSuperUser = false;
                oUser.FirstName   = FirstName;
                oUser.LastName    = LastName;
                oUser.Email       = Email;
                oUser.Username    = Email;
                oUser.DisplayName = FullName;

                //Fill MINIMUM Profile Items (KEY PIECE)
                oUser.Profile.PreferredLocale   = PortalSettings.DefaultLanguage;
                oUser.Profile.PreferredTimeZone = PortalSettings.TimeZone;
                oUser.Profile.FirstName         = oUser.FirstName;
                oUser.Profile.LastName          = oUser.LastName;


                //Set Membership
                UserMembership oNewMembership = new UserMembership(oUser);
                oNewMembership.Approved    = true;
                oNewMembership.CreatedDate = System.DateTime.Now;

                //    oNewMembership.Email = oUser.Email;
                oNewMembership.IsOnLine = false;
                //    oNewMembership.Username = oUser.Username;
                oNewMembership.Password = GenerateRandomString(7);

                //Bind membership to user
                oUser.Membership = oNewMembership;

                //Add the user, ensure it was successful
                if (DotNetNuke.Security.Membership.UserCreateStatus.Success == UserController.CreateUser(ref oUser))
                {
                    //Add Role if passed something from module settings

                    if (AddUserRole.Length > 0)
                    {
                        DotNetNuke.Security.Roles.RoleController rc = new DotNetNuke.Security.Roles.RoleController();
                        //retrieve role
                        string groupName = AddUserRole;
                        DotNetNuke.Security.Roles.RoleInfo ri = rc.GetRoleByName(PortalId, groupName);
                        rc.AddUserRole(this.PortalId, oUser.UserID, ri.RoleID, Null.NullDate);
                    }
                }
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
Esempio n. 13
0
        private void ProductResolver(PurchaseOrder purchaseOrder, PurchaseOrderLine poLineResult)
        {
            var productResult = _productService.GetProduct(poLineResult.ProductId);

            if (productResult == null)
            {
                throw new ArgumentNullException(nameof(productResult));
            }

            var uprofile = _userprofileService.GetUserprofile(purchaseOrder.UserProfileId);

            uprofile.UserMemberships = new List <UserMembership>();

            // BR1.If the purchase order contains a membership, it should be activated in the customer account immediately.
            if (productResult.ProductForm == RefProductForm.Membership)
            {
                // Activate the membership and assign membership value
                // Should check to see if there is already a membership available of the Membership category, if so update that
                var userMembership = new UserMembership
                {
                    ProductId           = productResult.Id,
                    UserProfileId       = purchaseOrder.UserProfileId,
                    MembershipInitial   = productResult.ProductMembershipValue,
                    MembershipRemaining = productResult.ProductMembershipValue,
                    MembershipCategory  = productResult.ProductCategory,
                    DateAdded           = DateTime.Now,
                    DateModified        = DateTime.Now
                };
                _userMembershipService.AddUserMembership(userMembership);

                //uprofile.UserMemberships.Add(userMembership);

                //_userprofileService.UpdateUserprofile(uprofile.Id, uprofile);
            }
            else if (productResult.ProductForm == RefProductForm.Physical)
            {
                // BR2. If the purchase order contains a physical product, a shipping slip should be generated.
                // probably would make more sense to check for a userShipment and see whats its status is, if unshipped update.... but again brevity.
                var poShip = new PurchaseOrderShipment
                {
                    PurchaseOrderId = purchaseOrder.Id,
                    ShipmentStatus  = "Shipping Slip Created",
                    Weight          = productResult.Weight,
                    TrackingNumber  = ShippingLabelGenerator.GenerateShippingLabel(),
                    Items           = 1,
                    DateAdded       = DateTime.Now,
                    DateModified    = DateTime.Now
                };
                _purchaseOrderShipmentService.AddPurchaseOrderShipment(poShip);

                //purchaseOrder.PurchaseOrderShipments.Add(poShip);

                //_purchaseOrderService.UpdatePurchaseOrder(purchaseOrder.Id, purchaseOrder);
            }
        }
Esempio n. 14
0
        public static void AddUserFreindRequest(uint userId, uint friendId)
        {
            UserMembership um = new UserMembership();

            um.resource_id       = friendId;
            um.user_id           = userId;
            um.active            = false; // ;
            um.resource_approved = false; // wait for approval
            um.user_approved     = true;
            AddUserMembership(um);
        }
Esempio n. 15
0
        private int GetNumberOfCreditsLeft(UserMembership userMembership)
        {
            var creditPacks         = _userCreditPacksRepository.Find(e => e.UserId == userMembership.UserId);
            var creditPackIds       = creditPacks.Select(c => c.Id);
            var numberOfUsedCredits = (int?)0;
            //_userProfileReadingsRepository.Find(e => creditPackIds.Contains(e.UserCreditPackId ?? 0))?.Count() +
            //_userRelationshipCompatibilityReadingsRepository.Find(e => creditPackIds.Contains(e.UserCreditPackId ?? 0))?.Count();
            var totalCredits = creditPacks.Any() ? creditPacks.Sum(e => e.NumberOfCredits) : 0;

            return(totalCredits - numberOfUsedCredits ?? 0);
        }
Esempio n. 16
0
        public MembershipModel(int userId, MembershipOption membershipOption, UserMembership activeUserMembership = null)
        {
            MembershipOption     = membershipOption;
            ActiveUserMembership = activeUserMembership;
            UserId = userId;

            if (MembershipOption != null)
            {
                MembershipOption.PriceIncludingDiscount = MembershipOption.Price - (ActiveUserMembership?.CostOfRemainingActiveSubscription ?? 0);
            }
        }
Esempio n. 17
0
        public ActionResult Login(UserMembership us)
        {
            bool isValid = db.Users.Any(x => x.Username == us.Username && x.Password == us.Password);

            if (isValid)
            {
                FormsAuthentication.SetAuthCookie(us.Username, false);
                return(RedirectToAction("Index", "Posts"));
            }

            ModelState.AddModelError("", "Invalid Username and Password");
            return(View());
        }
Esempio n. 18
0
        /// <summary>
        /// GetUsetTaskComments
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public List <WorkflowComment> GetWorkflowComments(ContextEnum context, int contextContentId)
        {
            List <WorkflowComment> workflowComments = eCollabroDbContext.Repository <WorkflowComment>().Query().Filter(qry => qry.ContextId.Equals(contextContentId) && qry.ContextId.Equals((int)context)).Get().ToList();
            SecurityManager        securityManager  = new SecurityManager();
            List <UserMembership>  users            = securityManager.GetUsers(workflowComments.Select(fld => fld.CreatedById).ToList());

            foreach (WorkflowComment comment in workflowComments)
            {
                UserMembership user = users.Where(qry => qry.UserId.Equals(comment.CreatedById)).FirstOrDefault();
                comment.CreatedBy    = user == null ? "Unknown" : user.UserName;
                comment.TimeInterval = CommonFunctions.GetTimeInterval(comment.CreatedOn);
            }
            return(workflowComments);
        }
Esempio n. 19
0
        public async Task <bool> SaveMemberShipPlan(UserMembership membership)
        {
            try
            {
                this.therapistContext.UserMembership.Add(membership);
                await this.therapistContext.SaveChangesAsync();

                return(true);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 20
0
        /// <summary>
        /// Return true if user have phone number with his membership, otherwise return false.
        /// </summary>
        /// <param name="loggedUser"></param>
        /// <returns></returns>
        public static bool HasPhoneNumber(this UserMembership loggedUser)
        {
            const string unauthenticatedUser = "******";
            const string noUserProfile       = "User do not have a profile associate with his membership. Cannot proceed to verification.";

            if (loggedUser == null)
            {
                throw new NullReferenceException(unauthenticatedUser);
            }
            if (loggedUser.UserProfile == null)
            {
                throw new NullReferenceException(noUserProfile);
            }

            return(loggedUser.UserProfile.PhoneNumbers.Count() > 0);
        }
Esempio n. 21
0
        private void SendEmailToVibrantHealth(UserMembership userMembership, PromoCode promoCode)
        {
            var template = Dictionary.MembershipCreatedEmail;
            var title    = "We have received a new subscription!";

            _mailer.SendEmail(title, TemplateProcessor.PopulateTemplate(template, new
            {
                Title            = title,
                Customer         = userMembership.User.FullName,
                CustomerEmail    = userMembership.User.EmailAddress,
                SubscriptionType = userMembership.MembershipOption.SubscriptionTypeNameLocal,
                TotalPrice       = promoCode?.FormattedPrice ?? userMembership.MembershipOption.FormattedPrice,
                LinkToSummary    = _urlHelper.AbsoluteAction("Index", "UserMemberships"),
                Company          = _config.CompanyName,
                ImageUrl         = _urlHelper.AbsoluteContent(_config.CompanyLogoUrl)
            }), _config.SupportEmailAddress, _config.CompanyName, _config.SupportEmailAddress, _config.CompanyName);
        }
Esempio n. 22
0
        /// <summary>
        /// GeneratePasswordResetToken
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        public ServiceResponse <UserTokenVerificationDC> GeneratePasswordResetToken(string username)
        {
            ServiceResponse <UserTokenVerificationDC> generatePasswordResetTokenResponse = new ServiceResponse <UserTokenVerificationDC>();

            try
            {
                SetContext();
                UserMembership userMembership = _securityManager.ResetPassword(username); //step 1
                generatePasswordResetTokenResponse.Result          = new UserTokenVerificationDC();
                generatePasswordResetTokenResponse.Result.UserName = userMembership.UserName;
                generatePasswordResetTokenResponse.Result.Token    = userMembership.PasswordVerificationToken;
            }
            catch (Exception ex)
            {
                HandleError(ex, generatePasswordResetTokenResponse);
            }
            return(generatePasswordResetTokenResponse);
        }
Esempio n. 23
0
        /// <summary>
        /// eCollabroSetup
        /// </summary>
        /// <param name="serviceRequest"></param>
        /// <returns></returns>
        public ServiceResponse eCollabroSetup(RegisterDC register)
        {
            ServiceResponse eCollabroSetupResponse = new ServiceResponse();

            try
            {
                UserMembership userMembership = new UserMembership();
                userMembership.UserName = register.UserName;
                userMembership.Password = register.Password;
                userMembership.Email    = register.Email;
                _setupManager.SetupEcollabro(userMembership);
            }
            catch (Exception ex)
            {
                HandleError(ex, eCollabroSetupResponse);
            }
            return(eCollabroSetupResponse);
        }
Esempio n. 24
0
        private static void CreateUser(string userName, int age, int membershipId)
        {
            var userNameResult = UserName.Create(userName);
            var userAgeResult  = UserAge.Create(age);
            var userMembership = UserMembership.Create(membershipId);

            var result = Result.Combine(userNameResult, userAgeResult, userMembership);

            if (result.IsFailure)
            {
                Console.WriteLine(result.ErrorMsg);
                Console.WriteLine("Try again.");
                return;
            }

            var createdId = Database.CreateUser(userNameResult.Value, userAgeResult.Value, userMembership.Value);

            Console.WriteLine($"Created with id: {createdId}");
        }
Esempio n. 25
0
        public void ProcessPurchase(PurchaseModel purchaseModel, int?userId = null, PromoCode promoCode = null)
        {
            try
            {
                var membershipOptionId = purchaseModel.ItemId;

                if (membershipOptionId <= 0)
                {
                    return;
                }

                var membershipOption = _membershipOptionRepository.Find(membershipOptionId);
                if (membershipOption == null)
                {
                    _logger.Error($"MembershipService => ProcessPurchase => No MembershipOption with id {membershipOptionId} was found.");
                    throw new IndexOutOfRangeException("Invalid MembershipOptionId");
                }

                var userMembership = new UserMembership
                {
                    UserId             = userId ?? _authentication.CurrentUserId,
                    MembershipOptionId = membershipOptionId,
                    StartsOn           = DateTime.Today,
                    EndsOn             = membershipOption.IsAnnual ? DateTime.Today.AddYears(1) : DateTime.Today.AddMonths(1),
                    IsAutoRenew        = true
                };

                _userMembershipRepository.Create(userMembership);
                userMembership.User = _usersRepository.Find(userId ?? _authentication.CurrentUserId);
                TerminateExistingMemberships(membershipOptionId);

                var contact = _contactService.Find(purchaseModel.ContactId);

                SendEmailToNineStar(userMembership, promoCode);
                SendEmailToCustomer(userMembership, contact, promoCode);
            }
            catch (Exception ex)
            {
                _logger.Error($"MembershipService => ProcessPurchase => Purchase failed: {ex.GetFullErrorMessage()}");
                SendEmailToNineStarAboutFailure(purchaseModel, ex.GetFullErrorMessage());
                throw ex;
            }
        }
        public void GetMembershipModel_CanUpgradeOne_AndSwitchOne()
        {
            AuthenticateUser();

            var startsOn                = DateTime.Today.AddDays(-7);
            var scheduledStartsOn       = startsOn.AddMonths(1).AddDays(5);
            var scheduledUserMembership = new UserMembership
            {
                Id                 = 8,
                UserId             = _userId,
                MembershipOptionId = _standardMonthlyMembership.Id,
                MembershipOption   = _standardMonthlyMembership,
                StartsOn           = scheduledStartsOn,
                EndsOn             = scheduledStartsOn.AddMonths(1),
                IsAutoRenew        = true
            };
            var userMembershipModels = new List <UserMembership>
            {
                new UserMembership
                {
                    Id                 = 7,
                    UserId             = _userId,
                    MembershipOptionId = _platinumMonthlyMembership.Id,
                    MembershipOption   = _platinumMonthlyMembership,
                    StartsOn           = startsOn,
                    EndsOn             = startsOn.AddMonths(1)
                },
                scheduledUserMembership
            };

            _userMembershipRepository.Setup(_ => _.Find(It.IsAny <System.Linq.Expressions.Expression <Func <UserMembership, bool> > >()))
            .Returns(userMembershipModels.AsQueryable());

            var model = _Membershipservice.GetMembershipViewModel();

            Assert.Equal(1, _Membershipservice.GetActiveUserMemberships().Count);
            Assert.Equal(userMembershipModels.First(), _Membershipservice.GetActiveUserMembership());
            Assert.Equal(0, model.MembershipModels.Count(_ => _.IsSelected));
            Assert.Equal(1, model.MembershipModels.Count(_ => _.IsUpgrade));
            Assert.Equal(1, model.MembershipModels.Count(_ => _.IsSubscribed));
            Assert.Equal(1, model.MembershipModels.Count(_ => _.IsSelectable));
            Assert.Equal(7, model.MembershipModels.First().ActiveUserMembershipId);
        }
Esempio n. 27
0
        /// <summary>
        /// CreateAccount
        /// </summary>
        /// <param name="registerAccount"></param>
        /// <returns></returns>
        public ServiceResponse CreateAccount(RegisterDC registerAccount)
        {
            ServiceResponse createAccountResponse = new ServiceResponse();

            try
            {
                SetContext();
                UserMembership userMembership = new UserMembership();
                userMembership.UserName = registerAccount.UserName;
                userMembership.Password = registerAccount.Password;
                userMembership.Email    = registerAccount.Email;
                _securityManager.CreateAccount(userMembership);
            }
            catch (Exception ex)
            {
                HandleError(ex, createAccountResponse);
            }
            return(createAccountResponse);
        }
Esempio n. 28
0
        /// <summary>
        /// SaveSiteCollectionAdmin
        /// </summary>
        /// <param name="username"></param>
        public void SaveSiteCollectionAdmin(string username)
        {
            CheckSiteCollectionAdminPermission(UserContextDetails.UserId);
            UserMembership      user = _securityManager.FindUser(username);
            SiteCollectionAdmin siteCollectionAdmin = eCollabroDbContext.Repository <SiteCollectionAdmin>().Query().Filter(qry => qry.UserId.Equals(user.UserId)).Get().FirstOrDefault();

            if (siteCollectionAdmin != null)
            {
                throw new BusinessException(_coreValidationResourceManager.GetString(CoreValidationMessagesConstants.UserAlreadyExist), CoreValidationMessagesConstants.UserAlreadyExist);
            }
            else
            {
                siteCollectionAdmin             = new SiteCollectionAdmin();
                siteCollectionAdmin.CreatedById = UserContextDetails.UserId;
                siteCollectionAdmin.CreatedOn   = DateTime.UtcNow;
                siteCollectionAdmin.UserId      = user.UserId;
                eCollabroDbContext.Repository <SiteCollectionAdmin>().Insert(siteCollectionAdmin);
                eCollabroDbContext.Save();
            }
        }
Esempio n. 29
0
        public async Task <IdentityResult> UpdateUserAsync(string poolId, UserMembership user)
        {
            try
            {
                _db.UserMemberships.Attach(user);
                _db.UserMemberships.Update(user);

                await _db.SaveChangesAsync();

                return(IdentityResult.Success);
            }
            catch (Exception ex)
            {
                return(IdentityResult.Failed(new IdentityError[] {
                    new IdentityError()
                    {
                        Description = ex.Message
                    }
                }));
            }
        }
Esempio n. 30
0
        /// <summary>
        /// GetUser
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public ServiceResponse <UserDetailDC> GetUser(int userId)
        {
            ServiceResponse <UserDetailDC> userResponse = new ServiceResponse <UserDetailDC>();

            try
            {
                SetContext();
                UserMembership user = _securityManager.GetUser(userId);
                userResponse.Result           = Mapper.Map <UserMembership, UserDetailDC>(user);
                userResponse.Result.UserRoles = new List <RoleDC>();
                foreach (UserRole userRole in user.UserRoles)
                {
                    userResponse.Result.UserRoles.Add(Mapper.Map <Role, RoleDC>(userRole.Role));
                }
            }
            catch (Exception ex)
            {
                HandleError(ex, userResponse);
            }
            return(userResponse);
        }