private void UpdateTaskStatus() {
if (task == null || !task.Labels.ContainsKey(RecipientsKey)) return;
var status = TaskState.None;
var isFinished = true;
foreach (var recipient in task.Labels[RecipientsKey].Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
var recipientKey = recipient.Trim().Replace(' ', '_');
if (task.Labels.ContainsKey(recipientKey) && !string.IsNullOrEmpty(task.Labels[recipientKey])) status = TaskState.Inprogress;
else isFinished = false;
}
task.State = isFinished ? TaskState.Finished : status;
}