Exemplo n.º 1
0
        public string GetFullSubscriptionText(UserSubscriptionTooltip subscrTooltip,
                                              string claimStatusChangeGroup, string commentsGroup, string fieldChangeGroup,
                                              string moneyOperationGroup)
        {
            string res;

            if (subscrTooltip.IsDirect || subscrTooltip.HasFullParentSubscription)
            {
                res = "Вы подписаны на эту заявку";
            }
            else if (!(subscrTooltip.ClaimStatusChange || subscrTooltip.Comments ||
                       subscrTooltip.FieldChange || subscrTooltip.MoneyOperation))
            {
                res = "Вы не подписаны на эту заявку";
            }
            else
            {
                res = "Вы не подписаны на эту заявку, но будете получать уведомления в случаях: <br><ul>";

                if (subscrTooltip.ClaimStatusChange)
                {
                    res += "<li>Изменение статуса (группа \"" + claimStatusChangeGroup + "\")</li>";
                }
                if (subscrTooltip.Comments)
                {
                    res += "<li>Комментарии (группа \"" + commentsGroup + "\")</li>";
                }
                if (subscrTooltip.FieldChange)
                {
                    res += "<li>Изменение полей заявки (группа \"" + fieldChangeGroup + "\")</li>";
                }
                if (subscrTooltip.MoneyOperation)
                {
                    res += "<li>Финансовые операции (группа \"" + moneyOperationGroup + "\")</li>";
                }

                res += "</ul>";
            }
            return(res);
        }
Exemplo n.º 2
0
        public UserSubscriptionTooltip GetFullSubscriptionTooltip(IEnumerable <CharacterGroup> parents,
                                                                  IReadOnlyCollection <UserSubscription> subscriptions, int claimId)
        {
            string claimStatusChangeGroup = "";
            string commentsGroup          = "";
            string fieldChangeGroup       = "";
            string moneyOperationGroup    = "";

            UserSubscriptionTooltip subscrTooltip = new UserSubscriptionTooltip()
            {
                HasFullParentSubscription = false,
                Tooltip           = "",
                IsDirect          = false,
                ClaimStatusChange = false,
                Comments          = false,
                FieldChange       = false,
                MoneyOperation    = false,
            };

            subscrTooltip.IsDirect = subscriptions.FirstOrDefault(s => s.ClaimId == claimId) != null;

            foreach (var par in parents)
            {
                foreach (var subscr in subscriptions)
                {
                    if (par.CharacterGroupId == subscr.CharacterGroupId &&
                        !(subscrTooltip.ClaimStatusChange && subscrTooltip.Comments &&
                          subscrTooltip.FieldChange && subscrTooltip.MoneyOperation))
                    {
                        if (subscrTooltip.ClaimStatusChange && subscrTooltip.Comments &&
                            subscrTooltip.FieldChange && subscrTooltip.MoneyOperation)
                        {
                            break;
                        }
                        if (subscr.ClaimStatusChange && !subscrTooltip.ClaimStatusChange)
                        {
                            subscrTooltip.ClaimStatusChange = true;
                            claimStatusChangeGroup          = par.CharacterGroupName;
                        }
                        if (subscr.Comments && !subscrTooltip.Comments)
                        {
                            subscrTooltip.Comments = true;
                            commentsGroup          = par.CharacterGroupName;
                        }
                        if (subscr.FieldChange && !subscrTooltip.FieldChange)
                        {
                            subscrTooltip.FieldChange = true;
                            fieldChangeGroup          = par.CharacterGroupName;
                        }
                        if (subscr.MoneyOperation && !subscrTooltip.MoneyOperation)
                        {
                            subscrTooltip.MoneyOperation = true;
                            moneyOperationGroup          = par.CharacterGroupName;
                        }
                    }
                }
            }

            if (subscrTooltip.ClaimStatusChange && subscrTooltip.Comments && subscrTooltip.FieldChange &&
                subscrTooltip.MoneyOperation)
            {
                subscrTooltip.HasFullParentSubscription = true;
            }

            subscrTooltip.Tooltip = GetFullSubscriptionText(subscrTooltip, claimStatusChangeGroup,
                                                            commentsGroup, fieldChangeGroup, moneyOperationGroup);
            return(subscrTooltip);
        }