public IEnumerable <SportEventDTO> GetNearByPage(int pageSize, int pageNumber, float lat, float lng)
        {
            using (var uow = new UnitOfWork())
            {
                var sportEventRepository = uow.GetRepository <SportEvent>();


                var sportEvents = sportEventRepository.FindBy(spev => spev.Adress.latitude > (lat - 1) & spev.Adress.latitude <(lat + 1) &
                                                                                                                               spev.Adress.longitude> (lng - 1) & spev.Adress.longitude < (lng + 1));

                var totalCount = sportEvents.Count();
                var totalPages = Math.Ceiling((double)totalCount / pageSize);


                sportEvents = sportEvents.OrderByDescending(s => s.Date);
                var sportsev = sportEvents.Skip((pageNumber - 1) * pageSize)
                               .Take(pageSize)
                               .ToList();

                List <SportEventDTO> list             = new List <SportEventDTO>();
                SportEventMapper     sportEventMapper = new SportEventMapper();


                foreach (var se in sportsev)
                {
                    SportEventDTO sportEventVM = sportEventMapper.MapToDTO(se);
                    list.Add(sportEventVM);
                }
                return(list);
            }
        }
        public IEnumerable <SportEventDTO> GetCreatedByPage(int pageSize, int pageNumber, int userId)
        {
            using (var uow = new UnitOfWork())
            {
                var sportEventRepository = uow.GetRepository <SportEvent>();
                var accountRepository    = uow.GetRepository <Account>();
                var account = accountRepository.GetById(userId);


                var sportEvents = sportEventRepository.FindBy(spev => spev.OwnerId == account.Id);

                var totalCount = sportEvents.Count();
                var totalPages = Math.Ceiling((double)totalCount / pageSize);


                sportEvents = sportEvents.OrderByDescending(s => s.Date);
                var sportsev = sportEvents.Skip((pageNumber - 1) * pageSize)
                               .Take(pageSize)
                               .ToList();

                List <SportEventDTO> list             = new List <SportEventDTO>();
                SportEventMapper     sportEventMapper = new SportEventMapper();


                foreach (var se in sportsev)
                {
                    SportEventDTO sportEventVM = sportEventMapper.MapToDTO(se);
                    list.Add(sportEventVM);
                }
                return(list);
            }
        }
示例#3
0
        public IEnumerable <SportEventDTO> GetGoingSportEvents(int pageSize, int pageNumber, int id)
        {
            using (var uow = new UnitOfWork())
            {
                var     accountRepository = uow.GetRepository <Account>();
                Account account           = accountRepository.GetById(id);
                if (account == null)
                {
                    return(null);
                }

                List <SportEvent> sportEvents = account.ParticipatedSportEvents.ToList();
                sportEvents = sportEvents.OrderByDescending(s => s.Date).ToList();

                var totalCount = sportEvents.Count();
                var totalPages = Math.Ceiling((double)totalCount / pageSize);



                var sportsev = sportEvents.Skip((pageNumber - 1) * pageSize)
                               .Take(pageSize)
                               .ToList();

                List <SportEventDTO> list             = new List <SportEventDTO>();
                SportEventMapper     sportEventMapper = new SportEventMapper();
                foreach (var sportEv in sportsev)
                {
                    list.Add(sportEventMapper.MapToDTO(sportEv));
                }
                return(list);
            }
        }
        public SportEventDTO addSportEvent(SportEventDTO sporteventVM)
        {
            using (var uow = new UnitOfWork())
            {
                var sportEventRepository = uow.GetRepository <SportEvent>();
                var adressRepository     = uow.GetRepository <Adress>();
                var sportRepository      = uow.GetRepository <Sport>();
                var accountRepository    = uow.GetRepository <Account>();

                AdressService  addressService = new AdressService();
                SportService   sportService   = new SportService();
                AccountService accountService = new AccountService();


                SportEventMapper sportEventMapper = new SportEventMapper();
                SportEvent       sportEvent       = sportEventMapper.MapFromDTO(sporteventVM);



                var queryAddress = adressRepository.FindBy(ad => ad.latitude == sportEvent.Adress.latitude |
                                                           ad.longitude == sportEvent.Adress.longitude);
                var existAd = queryAddress.FirstOrDefault();

                if (existAd != null)
                {
                    sportEvent.Adress = existAd;
                }


                var queryCategory = sportRepository.FindBy(sp => sp.Name == sportEvent.Category.Name);
                var existCategory = queryCategory.FirstOrDefault();

                if (existCategory != null)
                {
                    sportEvent.Category = existCategory;
                }


                var queryOwner = accountRepository.FindBy(ac => ac.UserName == sportEvent.Owner.UserName |
                                                          ac.Email == sportEvent.Owner.Email);
                var existOwner = queryOwner.FirstOrDefault();

                if (existOwner != null)
                {
                    sportEvent.Owner = existOwner;
                }

                sportEvent = sportEventRepository.Add(sportEvent);
                uow.SaveChanges();
                return(sportEventMapper.MapToDTO(sportEvent));
            }
        }
 public SportEventDTO getSportEventBy(int id)
 {
     using (var uow = new UnitOfWork())
     {
         var sportEventsRepository = uow.GetRepository <SportEvent>();
         var sportEvent            = sportEventsRepository.GetById(id);
         if (sportEvent == null)
         {
             return(null);
         }
         SportEventMapper sportEventMapper = new SportEventMapper();
         SportEventDTO    sportEventVM     = sportEventMapper.MapToDTO(sportEvent);
         return(sportEventVM);
     }
 }
 public SportEventDTO NotGoingSportEvent(int sportEvId, int userId)
 {
     using (var uow = new UnitOfWork())
     {
         var accountRepository    = uow.GetRepository <Account>();
         var sportEventRepository = uow.GetRepository <SportEvent>();
         var account    = accountRepository.GetById(userId);
         var sportEvent = sportEventRepository.GetById(sportEvId);
         if (account == null | sportEvent == null)
         {
             return(null);
         }
         sportEvent.Attendees.Remove(account);
         account.ParticipatedSportEvents.Remove(sportEvent);
         uow.SaveChanges();
         SportEventMapper sportEventMapper = new SportEventMapper();
         return(sportEventMapper.MapToDTO(sportEvent));
     }
 }
        public IEnumerable <SportEventDTO> getAllEvents()
        {
            using (var uow = new UnitOfWork())
            {
                var sportEventsRepository = uow.GetRepository <SportEvent>();
                var sportEvents           = sportEventsRepository.GetAll().ToList();

                List <SportEventDTO> list             = new List <SportEventDTO>();
                SportEventMapper     sportEventMapper = new SportEventMapper();

                foreach (var sportEvent in sportEvents)
                {
                    SportEventDTO sportEventVM = sportEventMapper.MapToDTO(sportEvent);
                    list.Add(sportEventVM);
                }

                return(list);
            }
        }
        public IEnumerable <SportEventDTO> getSportEventsInterested(List <int> sportsId)
        {
            using (var uow = new UnitOfWork())
            {
                var sportEventRepository = uow.GetRepository <SportEvent>();
                var sportEvents          = sportEventRepository.FindBy(sp => sportsId.Contains(sp.CategoryId));

                List <SportEventDTO> list             = new List <SportEventDTO>();
                SportEventMapper     sportEventMapper = new SportEventMapper();


                foreach (var sportEvent in sportEvents)
                {
                    SportEventDTO sportEventVM = sportEventMapper.MapToDTO(sportEvent);
                    list.Add(sportEventVM);
                }

                return(list);
            }
        }