Esempio n. 1
0
        public async Task <List <EventoDtoOutput> > GetEventiByidUtente(int pageNumber, int pageSize, string IdUtente = null, string IdCategoria = null)
        {
            //Ottengo la lista degli amici
            List <Guid> idAmici = await AmiciUtility.GetIdAmiciOfUser(new Guid(User.Identity.GetUserId()));

            //Ottengo gli eventi
            //List<Evento> eventi = await dbDataContext.Evento
            //               .Include(x => x.ImmagineEvento)
            //               .Where(x => (idAmici.Contains(x.IdUtenteCreazione)
            //                         & (IdUtente == null || x.IdUtenteCreazione.ToString() == IdUtente))
            //                         & (IdCategoria == null || x.IdCategoriaEvento.ToString() == IdCategoria))
            //               .OrderBy(x => x.DataEvento)
            //               //.Skip(pageSize * (pageNumber - 1))
            //               //.Take(pageSize)
            //               .ToListAsync();

            //return EventoMapper.EventoToEventoDtoList(eventi);

            //Ottengo gli eventi
            //List<Evento> eventi
            List <EventoDtoOutput> eventiDto = await dbDataContext.Evento

                                               .Join(dbDataContext.UserInfo,                                             // the source table of the inner join
                                                     evento => evento.IdUtenteCreazione,                                 // Select the primary key (the first part of the "on" clause in an sql "join" statement)
                                                     userInfo => userInfo.IdAspNetUser,                                  // Select the foreign key (the second part of the "on" clause)
                                                     (evento, userInfo) => new { Evento = evento, UserInfo = userInfo }) // selection
                                               .Where(eventoAndUserInfo => (idAmici.Contains(eventoAndUserInfo.Evento.IdUtenteCreazione)
                                                                            & (IdUtente == null || eventoAndUserInfo.Evento.IdUtenteCreazione.ToString() == IdUtente)
                                                                            & (IdCategoria == null || eventoAndUserInfo.Evento.IdCategoriaEvento.ToString() == IdCategoria)
                                                                            & (eventoAndUserInfo.Evento.DataEvento >= DateTime.Today)) //PER ORA SI VISUALIZZANO SOLO EVENTI FUTURI
                                                      )                                                                                // where statement
                                               .Include(eventoAndUserInfo => eventoAndUserInfo.Evento.ImmagineEvento)
                                               .Include(eventoAndUserInfo => eventoAndUserInfo.Evento.EventoCategoria)
                                               //.OrderBy(eventoAndUserInfo => eventoAndUserInfo.Evento.DataEvento)
                                               .OrderByDescending(eventoAndUserInfo => eventoAndUserInfo.Evento.DataCreazione)
                                               .Skip(pageSize * (pageNumber - 1))
                                               .Take(pageSize)
                                               .Select(join => new EventoDtoOutput()
            {
                Id                         = join.Evento.Id.ToString(),
                Cancellato                 = join.Evento.Cancellato,
                DataEvento                 = join.Evento.DataEvento,
                Descrizione                = join.Evento.Descrizione,
                IdCategoriaEvento          = join.Evento.IdCategoriaEvento,
                DataCreazione              = join.Evento.DataCreazione,
                DataModifica               = join.Evento.DataModifica,
                IdImmagineEvento           = join.Evento.IdImmagineEvento.ToString(),
                Titolo                     = join.Evento.Titolo,
                ImmagineEvento             = join.Evento.ImmagineEvento.Immagine,
                NomeUserCreatoreEvento     = join.UserInfo.Nome,
                CognomeUserCreatoreEvento  = join.UserInfo.Cognome,
                ImmagineUserCreatoreEvento = join.UserInfo.FotoProfilo,
                CodiceCategoriaEvento      = join.Evento.EventoCategoria.Codice
            })
                                               .ToListAsync();

            //return EventoMapper.EventoToEventoDtoList(eventi);
            return(eventiDto);
        }
Esempio n. 2
0
        public async Task <List <UserInfoDto> > GetRichiesteAmiciziaOfCurrentUser()
        {
            Guid currentUserId = new Guid(User.Identity.GetUserId());

            List <Guid> idRichieste = await AmiciUtility.GedIdRichiesteOfUser(currentUserId);

            List <UserInfo> utentiRichieste = await dbDataContext.UserInfo.Where(x => idRichieste.Contains(x.IdAspNetUser)).ToListAsync();

            return(UserInfoMapper.UserInfoToUserInfoDtoList(utentiRichieste));
        }
Esempio n. 3
0
        public async Task <List <UserInfoDto> > GetAmiciOfCurrentUser()
        {
            Guid currentUserId = new Guid(User.Identity.GetUserId());

            List <Guid> idAmici = await AmiciUtility.GetIdAmiciOfUser(currentUserId);

            List <UserInfo> amici = await dbDataContext.UserInfo.Where(x => idAmici.Contains(x.IdAspNetUser)).ToListAsync();

            //var query =
            //           from info in dbDataContext.UserInfo
            //           join user in dbContext.Users on info.IdAspNetUser equals user.Id
            //           where idAmici.Contains(info.IdAspNetUser)
            //           select new UserInfoDto { Nome = info.Nome,
            //                                    Cognome = info.Cognome,
            //                                    FotoProfilo = info.FotoProfilo,
            //                                    Email = user.Email};
            return(UserInfoMapper.UserInfoToUserInfoDtoList(amici));
        }