Добавить одного и того же члена много раз вместе с добавить карту Trello, но не работает
Добавить одного и того же члена много раз, чтобы собрать с добавлением карты Trello, но не работает
ПРОБЛЕМА
Когда я ввожу то же имя пользователя, например
{ "adwin", "adwin", "robert", "dave"}
Если первый adwin заканчивает цикл, добавьте члена в порядке, тогда второй adwin добавит время.
Код выйти из цикла и перестать работать.
а также
Когда я ввожу имена пользователей, которых нет на доске, или имя пользователя является поддельным.
{ "hghg$*#hgh", "us7s5209hf9", "8shjd76dhj3" }
Когда добавляете карточку, заканчивайте и приходите, чтобы добавить участника. Это перестает работать и завершается.
Это не рабочий цикл, чтобы закончить, чтобы добавить другое имя пользователя.
План
Я думаю, что добавление члена на доску до добавления в карточку будет работать, но это не сработает снова.
#r"Manatee.Trello.dll"
#r"Manatee.Json.dll"
using System.Net;
using System.ComponentModel;
using System.Drawing;
using System.Windows;
using Manatee.Trello;
using Manatee.Json;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
string Appkey = "df45ee60b0ff10c19377354490f7054b";
string Token = "6af303020a7a4d24d9cf5a1dd8adf2e5ff95c46888b0371c0b2dba45b2a32d7d";
string BoardID = "5b40363293193091c1ba5013";
string ListID = "5b40363293193091c1ba5015";
string name ="CardAddMember";
string description ="desccccc";
string duedate ="2019-08-04";
string iscomplete =true;
string[] user = {"userinboard","notusername","userinboard"};
try
{
DateTime duedatetime = DateTime.Parse(duedate);//time
bool torf = Boolean.Parse(iscomplete);//finish work check
TrelloAuthorization.Default.AppKey = Appkey;
TrelloAuthorization.Default.UserToken = Token;
ITrelloFactory factory = new TrelloFactory();
var List = factory.List(ListID);
var Board = factory.Board(BoardID);
//var MemberType = factory.Board();
char[] commaSeparator = new char[] { ',' };
string[] authors = username.Split(commaSeparator, StringSplitOptions.None);
var card = await List.Cards.Add(name, description, null, duedatetime, torf, null, null);//add card to trello
foreach (string author in authors){
var Member = factory.Member(author);
await Board.Memberships.Add(Member); // Add member in a board but cant add <<<<<<<<<????????
await card.Members.Add(Member); //add member in card
}
var response = new HttpResponseMessage(HttpStatusCode.OK);
return response;
}
catch //find some err [example not find user]
{
return new HttpResponseMessage(HttpStatusCode.NotFound);
}
}
Что я должен делать? Cr.marc_s редактировать мир
1 ответ
Вам нужно будет проверить участников, прежде чем добавлять их. Trello возвращает ошибку, когда вы пытаетесь добавить участника на доску / карту, но этот участник уже существует. Это, в свою очередь, заставит Manatee.Trello выдать исключение.
Кроме того, участник должен принадлежать к доске, прежде чем он может быть назначен на карту.
Проверка этих участников должна решить вашу проблему.
await Board.Memberships.Refresh(); // this will fetch all of the members of the board
foreach (string author in authors){
var Member = factory.Member(author);
if (!Board.Memberships.Any(m => m.Member == Member))
await Board.Memberships.Add(Member);
if (!Card.Members.Contains(Member))
await card.Members.Add(Member);
}
Это должно решить проблемы, которые вы видите.
Наконец, когда вы ловите исключение, полезно указать исключение и, возможно, распечатать или записать результат. Trello хорошо умеет возвращать сообщения об ошибках с ответами об ошибках, и Manatee.Trello включит их в свои TrelloInteractionException
s.