/// <summary> /// Check whether customer is allowed to watch topics /// </summary> /// <param name="customer">Customer</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToSubscribe(Customer customer) { if (customer == null) { return false; } if (customer.IsGuest()) { return false; } return true; }
/// <summary> /// Check whether customer is allowed to delete post /// </summary> /// <param name="customer">Customer</param> /// <param name="post">Topic</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToDeletePost(Customer customer, ForumPost post) { if (post == null) { return false; } if (customer == null) { return false; } if (customer.IsGuest()) { return false; } if (IsForumModerator(customer)) { return true; } if (_forumSettings.AllowCustomersToDeletePosts) { bool ownPost = customer.Id == post.CustomerId; return ownPost; } return false; }
/// <summary> /// Check whether customer is allowed to set topic priority /// </summary> /// <param name="customer">Customer</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToSetTopicPriority(Customer customer) { if (customer == null) { return false; } if (customer.IsGuest()) { return false; } if (IsForumModerator(customer)) { return true; } return false; }
/// <summary> /// Check whether customer is allowed to delete topic /// </summary> /// <param name="customer">Customer</param> /// <param name="topic">Topic</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToDeleteTopic(Customer customer, ForumTopic topic) { if (topic == null) { return false; } if (customer == null) { return false; } if (customer.IsGuest()) { return false; } if (IsForumModerator(customer)) { return true; } if (_forumSettings.AllowCustomersToDeletePosts) { bool ownTopic = customer.Id == topic.CustomerId; return ownTopic; } return false; }
/// <summary> /// Check whether customer is allowed to create new post /// </summary> /// <param name="customer">Customer</param> /// <param name="topic">Topic</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToCreatePost(Customer customer, ForumTopic topic) { if (topic == null) { return false; } if (customer == null) { return false; } if (customer.IsGuest() && !_forumSettings.AllowGuestsToCreatePosts) { return false; } return true; }
/// <summary> /// Check whether customer is allowed to move topic /// </summary> /// <param name="customer">Customer</param> /// <param name="topic">Topic</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToMoveTopic(Customer customer, ForumTopic topic) { if (topic == null) { return false; } if (customer == null) { return false; } if (customer.IsGuest()) { return false; } if (IsForumModerator(customer)) { return true; } return false; }
/// <summary> /// Check whether customer is allowed to create new topics /// </summary> /// <param name="customer">Customer</param> /// <param name="forum">Forum</param> /// <returns>True if allowed, otherwise false</returns> public virtual bool IsCustomerAllowedToCreateTopic(Customer customer, Forum forum) { if (forum == null) { return false; } if (customer == null) { return false; } if (customer.IsGuest() && !_forumSettings.AllowGuestsToCreateTopics) { return false; } if (IsForumModerator(customer)) { return true; } return true; }
protected CustomerModel PrepareCustomerModelForList(Customer customer) { return new CustomerModel() { Id = customer.Id, Email = !String.IsNullOrEmpty(customer.Email) ? customer.Email : (customer.IsGuest() ? _localizationService.GetResource("Admin.Customers.Guest") : "".NaIfEmpty()), Username = customer.Username, FullName = customer.GetFullName(), Company = customer.GetAttribute<string>(SystemCustomerAttributeNames.Company), Phone = customer.GetAttribute<string>(SystemCustomerAttributeNames.Phone), ZipPostalCode = customer.GetAttribute<string>(SystemCustomerAttributeNames.ZipPostalCode), CustomerRoleNames = GetCustomerRolesNames(customer.CustomerRoles.ToList()), Active = customer.Active, CreatedOn = _dateTimeHelper.ConvertToUserTime(customer.CreatedOnUtc, DateTimeKind.Utc), LastActivityDate = _dateTimeHelper.ConvertToUserTime(customer.LastActivityDateUtc, DateTimeKind.Utc), }; }
/// <summary> /// Checks discount limitation for customer /// </summary> /// <param name="discount">Discount</param> /// <param name="customer">Customer</param> /// <returns>Value indicating whether discount can be used</returns> protected virtual bool CheckDiscountLimitations(Discount discount, Customer customer) { if (discount == null) throw new ArgumentNullException("discount"); switch (discount.DiscountLimitation) { case DiscountLimitationType.Unlimited: { return true; } case DiscountLimitationType.NTimesOnly: { var totalDuh = GetAllDiscountUsageHistory(discount.Id, null, 0, 1).TotalCount; return totalDuh < discount.LimitationTimes; } case DiscountLimitationType.NTimesPerCustomer: { if (customer != null && !customer.IsGuest()) { //registered customer var totalDuh = GetAllDiscountUsageHistory(discount.Id, customer.Id, 0, 1).TotalCount; return totalDuh < discount.LimitationTimes; } else { //guest return true; } } default: break; } return false; }
public void Can_check_whether_customer_is_guest() { var customer = new Customer(); customer.CustomerRoles.Add(new CustomerRole() { Active = true, Name = "Registered", SystemName = SystemCustomerRoleNames.Registered }); customer.CustomerRoles.Add(new CustomerRole() { Active = true, Name = "Administrators", SystemName = SystemCustomerRoleNames.Administrators }); customer.IsGuest().ShouldBeFalse(); customer.CustomerRoles.Add( new CustomerRole() { Active = true, Name = "Guests", SystemName = SystemCustomerRoleNames.Guests } ); customer.IsGuest().ShouldBeTrue(); }