Пример #1
0
        private static Attachment GetPayloadBasedOnCardType(string[] type, BlobDataDeserializer blobData, string cardStatusImg, out string cardJsonstring)
        {
            var adaptiveCard = File.ReadAllText(Path.Combine(type));
            AdaptiveCardTemplate template = new AdaptiveCardTemplate(adaptiveCard);

            var payloadData = new
            {
                originatorId       = Constants.OriginatorId,
                requestID          = blobData.requestID,
                userMRI            = blobData.assignedToId,
                cardTitle          = "Request " + blobData.status,
                cardStatusImg      = cardStatusImg,
                status             = blobData.status,
                itemName           = blobData.itemName,
                itemCode           = blobData.itemCode,
                assignedToImg      = blobData.assignedToUserImage,
                assignedToName     = blobData.assignedToName,
                submittedByImg     = blobData.submittedByUserImage,
                submittedByName    = blobData.submittedByName,
                imagesCount        = blobData.imageURL.Count,
                mailViewDetailsUrl = Constants.BaseUrl + "/ViewDetails?id=" + blobData.requestID
            };

            cardJsonstring = template.Expand(payloadData);
            var adaptiveCardAttachmnt = new Attachment()
            {
                ContentType = AdaptiveCard.ContentType,
                Content     = JsonConvert.DeserializeObject(cardJsonstring),
            };

            return(adaptiveCardAttachmnt);
        }
Пример #2
0
        private async void UpdateCardInTeams(BlobDataDeserializer blobData, Attachment adaptiveCardAttachment)
        {
            using var connector = new ConnectorClient(new Uri(Constants.ServiceUrl), Constants.MicrosoftAppId, Constants.MicrosoftAppPassword);
            AppCredentials.TrustServiceUrl(Constants.ServiceUrl, DateTime.MaxValue);
            var updateActivity = new Activity();

            updateActivity.Id          = blobData.messageId;
            updateActivity.Type        = "message";
            updateActivity.Attachments = new List <Attachment> {
                adaptiveCardAttachment
            };
            updateActivity.Conversation = new ConversationAccount(id: blobData.conversationId);
            await connector.Conversations.UpdateActivityAsync(updateActivity);
        }
Пример #3
0
        public static Attachment CreateAdaptiveCardAttachment(string cardType, BlobDataDeserializer blobData, string channel, out string cardJsonstring)
        {
            Attachment cardAttachment;

            switch (cardType)
            {
            case Status.BaseCard:
                string[] baseCard = { ".", "Resources", "BaseCard.json" };
                cardAttachment = GetPayloadBasedOnCardType(baseCard, blobData, Constants.PendingImageUrl, out cardJsonstring);
                string[] baseMail = { ".", "Resources", "AssignedToCardEmail.json" };
                GetPayloadBasedOnCardType(baseMail, blobData, Constants.PendingImageUrl, out cardJsonstring);
                return(cardAttachment);

            case Status.Pending:
                string[] refresh = { ".", "Resources", "AssignedToCard.json" };
                cardAttachment = GetPayloadBasedOnCardType(refresh, blobData, Constants.PendingImageUrl, out cardJsonstring);
                if (channel == "outlook")
                {
                    string[] approvedMail = { ".", "Resources", "AssignedToCardEmail.json" };
                    GetPayloadBasedOnCardType(approvedMail, blobData, Constants.PendingImageUrl, out cardJsonstring);
                }
                return(cardAttachment);

            case Status.Approved:
                string[] approved = { ".", "Resources", "ApproveRejectCard.json" };
                cardAttachment = GetPayloadBasedOnCardType(approved, blobData, Constants.ApprovedImageUrl, out cardJsonstring);
                if (channel == "outlook")
                {
                    string[] approvedMail = { ".", "Resources", "ApproveRejectCardEmail.json" };
                    GetPayloadBasedOnCardType(approvedMail, blobData, Constants.ApprovedImageUrl, out cardJsonstring);
                }
                return(cardAttachment);

            case Status.Rejected:
                string[] reject = { ".", "Resources", "ApproveRejectCard.json" };
                cardAttachment = GetPayloadBasedOnCardType(reject, blobData, Constants.RejectedImageUrl, out cardJsonstring);
                if (channel == "outlook")
                {
                    string[] rejectedMail = { ".", "Resources", "ApproveRejectCardEmail.json" };
                    GetPayloadBasedOnCardType(rejectedMail, blobData, Constants.RejectedImageUrl, out cardJsonstring);
                }
                return(cardAttachment);

            default:
                cardJsonstring = "";
                return(null);
            }
        }