protected void get_message_receivers(Guid?messageId, int?count, int?lastId, ref string responseText) { //Privacy Check: OK if (!paramsContainer.GBEdit) { return; } if (!count.HasValue) { count = 0; } if (!lastId.HasValue) { lastId = -1; } if (!messageId.HasValue || !MSGController.has_message(paramsContainer.Tenant.Id, null, paramsContainer.CurrentUserID.Value, null, messageId)) { responseText = "{\"ErrorText\":\"" + Messages.AccessDenied + "\"}"; return; } List <User> users = MSGController.get_message_receivers(paramsContainer.Tenant.Id, messageId.Value, count, lastId); responseText = "{\"Users\":[" + ProviderUtil.list_to_string <string>(users.Select( u => "{\"UserID\":\"" + u.UserID.ToString() + "\"" + ",\"UserName\":\"" + Base64.encode(u.UserName) + "\"" + ",\"FirstName\":\"" + Base64.encode(u.FirstName) + "\"" + ",\"LastName\":\"" + Base64.encode(u.LastName) + "\"" + ",\"ProfileImageURL\":\"" + DocumentUtilities.get_personal_image_address( paramsContainer.Tenant.Id, u.UserID.Value) + "\"}").ToList()) + "]}"; }
protected void get_forwarded_messages(Guid?messageId, int?count, int?lastId, ref string responseText) { //Privacy Check: OK if (!paramsContainer.GBEdit) { return; } if (!messageId.HasValue || !MSGController.has_message(paramsContainer.Tenant.Id, null, paramsContainer.CurrentUserID.Value, null, messageId)) { responseText = "{\"ErrorText\":\"" + Messages.AccessDenied + "\"}"; return; } List <Message> fwdMessages = MSGController.get_forwarded_messages(paramsContainer.Tenant.Id, messageId.Value); responseText = "{\"ForwardedMessages\": ["; bool isFirst = true; List <DocFileInfo> attachments = DocumentsController.get_owner_files(paramsContainer.Tenant.Id, fwdMessages.Where(u => u.HasAttachment.HasValue && u.HasAttachment.Value).Select(v => v.MessageID.Value).ToList()); List <Message> messageUsers = MSGController.get_message_receivers(paramsContainer.Tenant.Id, fwdMessages.Select(m => m.MessageID.Value).ToList(), count); foreach (Message msg in messageUsers) { Message ms = fwdMessages.Where(m => m.MessageID == msg.MessageID).FirstOrDefault(); ms.ReceiverUsers = msg.ReceiverUsers; ms.ReceiversCount = msg.ReceiversCount; } foreach (Message msg in fwdMessages) { responseText += (isFirst ? string.Empty : ",") + "{\"ID\":\"" + msg.ID.ToString() + "\"" + ",\"MessageID\":\"" + msg.MessageID.Value.ToString() + "\"" + ",\"IsGroup\":" + (msg.IsGroup.HasValue && msg.IsGroup.Value).ToString().ToLower() + ",\"SenderUserID\":\"" + msg.SenderUserID.ToString() + "\"" + ",\"SenderUserName\":\"" + Base64.encode(msg.SenderUserName) + "\"" + ",\"SenderFirstName\":\"" + Base64.encode(msg.SenderFirstName) + "\"" + ",\"SenderLastName\":\"" + Base64.encode(msg.SenderLastName) + "\"" + ",\"SenderProfileImageURL\":\"" + DocumentUtilities.get_personal_image_address( paramsContainer.Tenant.Id, msg.SenderUserID.Value) + "\"" + ",\"Title\":\"" + Base64.encode(msg.Title) + "\"" + ",\"MessageText\":\"" + Base64.encode(msg.MessageText) + "\"" + ",\"SendDate\":\"" + PublicMethods.get_local_date(msg.SendDate.Value, true) + "\"" + ",\"ForwardedFrom\":\"" + (msg.ForwardedFrom.HasValue ? msg.ForwardedFrom.Value.ToString() : "") + "\"" + ",\"AttachedFiles\":" + DocumentUtilities.get_files_json(paramsContainer.Tenant.Id, attachments.Where(u => u.OwnerID == msg.MessageID).ToList(), true) + ",\"Level\":" + msg.Level.ToString().ToLower() + ",\"ReceiversCount\":" + (msg.ReceiversCount.HasValue ? msg.ReceiversCount.Value : 0).ToString() + ",\"ReceiverUsers\":[" + ProviderUtil.list_to_string <string>(msg.ReceiverUsers.Select( u => "{\"UserID\":\"" + u.UserID.ToString() + "\"" + ",\"UserName\":\"" + Base64.encode(u.UserName) + "\"" + ",\"FirstName\":\"" + Base64.encode(u.FirstName) + "\"" + ",\"LastName\":\"" + Base64.encode(u.LastName) + "\"" + ",\"ProfileImageURL\":\"" + DocumentUtilities.get_personal_image_address( paramsContainer.Tenant.Id, u.UserID.Value) + "\"}").ToList()) + "]}"; isFirst = false; } responseText += "]}"; }