Ejemplo n.º 1
0
        public async Task DeleteRecieverXref(Guid clientID, Guid recipientID, Guid eventID)
        {
            Data.Entities.ClientRelationXref contextRelation = await santaContext.ClientRelationXrefs.FirstOrDefaultAsync(r => r.SenderClientId == clientID && r.RecipientClientId == recipientID && r.EventTypeId == eventID);

            List <ChatMessage> contextRelatedMessages = await santaContext.ChatMessages.Where(cm => cm.ClientRelationXrefId == contextRelation.ClientRelationXrefId).ToListAsync();

            santaContext.ChatMessages.RemoveRange(contextRelatedMessages);
            santaContext.ClientRelationXrefs.Remove(contextRelation);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Maps a context relationship to a relationship meta
        /// </summary>
        /// <param name="contextRecipientXref"></param>
        /// <returns></returns>
        public static Logic.Objects.RelationshipMeta MapRelationshipMeta(Data.Entities.ClientRelationXref contextXrefRelationship, Guid clientIDMetaToMap)
        {
            List <ClientTagXref> tagXrefList = contextXrefRelationship.SenderClientId != clientIDMetaToMap?contextXrefRelationship.RecipientClient.ClientTagXref.ToList() : contextXrefRelationship.SenderClient.ClientTagXref.ToList();

            ClientMeta logicMeta = contextXrefRelationship.SenderClientId != clientIDMetaToMap?Mapper.MapClientMeta(contextXrefRelationship.RecipientClient) : Mapper.MapClientMeta(contextXrefRelationship.SenderClient);

            Logic.Objects.RelationshipMeta logicRelationship = new RelationshipMeta()
            {
                relationshipClient   = logicMeta,
                eventType            = Mapper.MapEvent(contextXrefRelationship.EventType),
                clientRelationXrefID = contextXrefRelationship.ClientRelationXrefId,
                tags             = tagXrefList.Select(Mapper.MapTagRelationXref).OrderBy(t => t.tagName).ToList(),
                assignmentStatus = MapAssignmentStatus(contextXrefRelationship.AssignmentStatus),
                removable        = contextXrefRelationship.ChatMessage.Count > 0 ? false : true
            };
            return(logicRelationship);
        }