コード例 #1
0
        public async Task <ActionResultResponse <EventShowClientViewModel> > GetEventDetailShowClientAsync(string tenantId, string languageId, string seoLink)
        {
            try
            {
                using (SqlConnection con = new SqlConnection(_connectionString))
                {
                    if (con.State == ConnectionState.Closed)
                    {
                        await con.OpenAsync();
                    }

                    DynamicParameters param = new DynamicParameters();
                    param.Add("@tenantId", tenantId);
                    param.Add("@languageId", languageId);
                    param.Add("@seoLink", seoLink);

                    using (var multi = await con.QueryMultipleAsync("[dbo].[spEvent_GetDetailClient]", param, commandType: CommandType.StoredProcedure))
                    {
                        var eventInfo       = (await multi.ReadFirstOrDefaultAsync <EventDetailClientViewModel>());
                        var listEventDay    = (await multi.ReadAsync <EventDayViewModel>()).ToList();
                        var listInvitations = (await multi.ReadAsync <RegisterSearchViewModel>()).ToList();
                        var albums          = (await multi.ReadAsync <AlbumWithItemViewModel>()).ToList();

                        var eventShowClient = new EventShowClientViewModel
                        {
                            EventInfo   = eventInfo,
                            EventDays   = listEventDay,
                            Invitations = listInvitations,
                            Albums      = albums
                        };

                        return(new ActionResultResponse <EventShowClientViewModel>
                        {
                            Data = eventShowClient
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "spEvent_GetDetailClient EventService Error.");
                return(new ActionResultResponse <EventShowClientViewModel>());
            }
        }
コード例 #2
0
        public async Task <ActionResultResponse <EventShowClientViewModel> > GetEventDetailShowClient(string tenantId, string languageId, string seoLink)
        {
            var eventInfo = await _eventRepository.GetDetailClient(tenantId, languageId, seoLink);

            if (eventInfo == null)
            {
                return new ActionResultResponse <EventShowClientViewModel>
                       {
                           Code = -1,
                       }
            }
            ;

            var listEventDay = await _eventDayRepository.Search(languageId, eventInfo.Id, true, 1, int.MaxValue, out int totalRows);

            var listInvitations = await _registerRepository.SearchClient(eventInfo.Id, languageId, null);

            var albumIds = await _eventAlbumRepository.Search(tenantId, eventInfo.Id, true, 1, short.MaxValue, out var totalAlbumRows);

            var apiUrls = _configuration.GetApiUrl();
            var albums  = await new HttpClientService()
                          .PostAsync <SearchResult <AlbumWithItemViewModel> >($"{apiUrls.WebsiteApiUrl}/albums/{tenantId}/album-width-item/{languageId}", albumIds);

            var eventShowClient = new EventShowClientViewModel
            {
                EventInfo   = eventInfo,
                EventDays   = listEventDay,
                Invitations = listInvitations,
                Albums      = albums?.Items,
            };

            return(new ActionResultResponse <EventShowClientViewModel>
            {
                Data = eventShowClient
            });
        }