示例#1
0
        public async Task <HQClient> GetHeadquarterClientByID(Guid clientID)
        {
            HQClient logicHQClient = await santaContext.Clients
                                     .Select(client => new HQClient()
            {
                clientID        = client.ClientId,
                email           = client.Email,
                nickname        = client.Nickname,
                clientName      = client.ClientName,
                isAdmin         = client.IsAdmin,
                hasAccount      = client.HasAccount,
                clientStatus    = Mapper.MapStatus(client.ClientStatus),
                answeredSurveys = client.SurveyResponses.Select(r => r.Survey.SurveyId).Distinct().ToList(),
                assignments     = client.ClientRelationXrefSenderClients.Count(),
                senders         = client.ClientRelationXrefRecipientClients.Count(),
                notes           = client.Notes.Count(),
                tags            = client.ClientTagXrefs.Select(tagXref => new Logic.Objects.Tag()
                {
                    tagID   = tagXref.TagId,
                    tagName = tagXref.Tag.TagName,
                }).ToList(),
            }).AsNoTracking().FirstOrDefaultAsync(c => c.clientID == clientID);

            return(logicHQClient);
        }
        public static AllowedAssignmentMeta MapAllowedAssignmentMeta(HQClient logicHQClient)
        {
            AllowedAssignmentMeta logicAllowedAssignmentMeta = new AllowedAssignmentMeta()
            {
                clientMeta       = Mapper.MapClientMeta(logicHQClient),
                tags             = logicHQClient.tags,
                totalSenders     = logicHQClient.senders,
                totalAssignments = logicHQClient.assignments
            };

            return(logicAllowedAssignmentMeta);
        }
        public static ClientMeta MapClientMeta(HQClient logicHQClient)
        {
            Logic.Objects.ClientMeta logicMeta = new ClientMeta()
            {
                clientId       = logicHQClient.clientID,
                clientName     = logicHQClient.clientName,
                clientNickname = logicHQClient.nickname,
                hasAccount     = logicHQClient.hasAccount,
                isAdmin        = logicHQClient.isAdmin
            };

            return(logicMeta);
        }