public async Task SendPrincipalIndividualGroupMessage(IndividualMessagePrincipalModel individualPrincipalModel, int personalUsi, string personUniqueId)
        {
            var model = new GroupMessagesQueueLogModel();

            model.Type           = GroupMessagesQueueTypeEnum.IndividualGroup.DisplayName;
            model.QueuedDateTime = DateTime.Now;
            model.StaffUniqueId  = personUniqueId;
            model.SchoolId       = individualPrincipalModel.SchoolId;
            model.Audience       = individualPrincipalModel.Audience;

            //This new object is only whit the propurse to get the filter parameters
            var objectToSerialize = new { gradeLevels = individualPrincipalModel.GradeLevels, parentsUsis = individualPrincipalModel.ParentsUsis };

            model.FilterParams = JsonConvert.SerializeObject(objectToSerialize);
            model.Subject      = individualPrincipalModel.Subject;
            model.BodyMessage  = individualPrincipalModel.Message;
            model.SentStatus   = GroupMessagesStatusEnum.Queued.Value;
            model.Data         = JsonConvert.SerializeObject(model);

            var result = await _communicationsRepository.PersistQueueGroupMessage(model);

            model.Id   = result.Id;
            model.Data = JsonConvert.SerializeObject(model);

            await _communicationsRepository.UpdateGroupMessagesQueue(model);
        }
 public Task <GroupMessagesQueueLogModel> UpdateGroupMessagesQueue(GroupMessagesQueueLogModel model)
 {
     throw new NotImplementedException();
 }