Пример #1
0
        private string AssignmentUrl(int tenantId, NotifyDocumentAssignmentArguments args)
        {
            // Prepare the document/inbox link
            var clientAppUriBldr = new UriBuilder(ClientAppUri());
            var basePath         = clientAppUriBldr.Path.WithoutTrailingSlash();

            if (args.DocumentCount == 1 && args.DefinitionId != 0 && args.DocumentId != 0)
            {
                clientAppUriBldr.Path = $"{basePath}/a/{tenantId}/d/{args.DefinitionId}/{args.DocumentId}";
            }
            else
            {
                clientAppUriBldr.Path = $"{basePath}/a/{tenantId}/inbox";
            }

            string linkUrl = clientAppUriBldr.Uri.ToString();

            return(linkUrl);
        }
Пример #2
0
        public SmsToSend MakeDocumentAssignmentSms(int tenantId, string contactMobile, NotifyDocumentAssignmentArguments args)
        {
            string linkUrl = AssignmentUrl(tenantId, args);

            // SMS notification
            var msgBuilder = new StringBuilder();

            if (args.DocumentCount == 1)
            {
                msgBuilder.Append(_localizer["Document0From1", args.FormattedSerial, args.SenderName]);
            }
            else
            {
                msgBuilder.Append(_localizer["Document0From1", $"{args.DocumentCount} {args.PluralTitle}", args.SenderName]);
            }

            if (!string.IsNullOrWhiteSpace(args.SenderComment))
            {
                msgBuilder.Append($": {args.SenderComment}");
            }

            msgBuilder.AppendLine();
            msgBuilder.Append(linkUrl);

            return(new SmsToSend(contactMobile, msgBuilder.ToString()));
        }
Пример #3
0
 public PushToSend MakeDocumentAssignmentPush(int tenantId, NotifyDocumentAssignmentArguments args)
 {
     // TODO
     return(null);
 }
Пример #4
0
        public EmailToSend MakeDocumentAssignmentEmail(int tenantId, string contactEmail, NotifyDocumentAssignmentArguments args)
        {
            string linkUrl = AssignmentUrl(tenantId, args);

            // Email
            return(MakeInboxNotificationEmail(
                       toEmail: contactEmail,
                       formattedSerial: args.FormattedSerial,
                       singularTitle: args.SingularTitle,
                       pluralTitle: args.PluralTitle,
                       senderName: args.SenderName,
                       docCount: args.DocumentCount,
                       comment: args.SenderComment,
                       linkUrl));
        }