public SportEventDetailDTO MapToDTO(SportEvent source) { SportEventDetailDTO target = new SportEventDetailDTO(); target.Id = source.Id; target.Date = source.Date; target.Description = source.Description; target.Title = source.Title; target.ImagePath = source.ImagePath; AccountMapper accountMapper = new AccountMapper(); target.Owner = accountMapper.MapToDTO(source.Owner); AdressMapper adressMapper = new AdressMapper(); target.Adress = adressMapper.MapToDTO(source.Adress); SportMapper sportMapper = new SportMapper(); target.Category = sportMapper.MapToDTO(source.Category); AccountSimpleMapper accountSimpleMapper = new AccountSimpleMapper(); target.Attendees = new HashSet <AccountSimpleDTO>(); foreach (var ac in source.Attendees) { target.Attendees.Add(accountSimpleMapper.MapToDTO(ac)); } return(target); }
public IHttpActionResult Put(SportEventDetailDTO spEventVM) { var sportEventDetailService = new SportEventDetailService(); SportEventDetailDTO sportEventVM = sportEventDetailService.editSportEvent(spEventVM); if (sportEventVM == null) { return(NotFound()); } return(Ok(sportEventVM)); }
public SportEventDetailDTO editSportEvent(SportEventDetailDTO sportEventVM) { using (var uow = new UnitOfWork()) { var accountRepository = uow.GetRepository <Account>(); var addressRepository = uow.GetRepository <Adress>(); var sportRepository = uow.GetRepository <Sport>(); var sportEventRepository = uow.GetRepository <SportEvent>(); SportEventDetailMapper sportEventMapper = new SportEventDetailMapper(); SportEvent sportEvent = sportEventMapper.MapFromDTO(sportEventVM); AdressMapper addressMapper = new AdressMapper(); var queryaddress = addressRepository.FindBy(ad => ad.latitude == sportEventVM.Adress.latitude & ad.longitude == sportEventVM.Adress.longitude); Adress address = queryaddress.FirstOrDefault(); if (address == null) { addressRepository.Add(addressMapper.MapFromDTO(sportEventVM.Adress)); uow.SaveChanges(); } address = addressRepository.FindBy(ad => ad.latitude == sportEventVM.Adress.latitude & ad.longitude == sportEventVM.Adress.longitude).FirstOrDefault(); sportEvent.AdressId = address.Id; sportEvent.Adress = address; sportEvent.OwnerId = sportEventVM.Owner.Id; sportEvent.Owner.AdressId = sportEvent.Owner.Adress.Id; SportMapper sportMapper = new SportMapper(); var querysport = sportRepository.FindBy(sp => sp.Name == sportEventVM.Category.Name); Sport sport = querysport.FirstOrDefault(); if (sport == null) { sportRepository.Add(sportMapper.MapFromDTO(sportEventVM.Category)); uow.SaveChanges(); } sport = sportRepository.FindBy(sp => sp.Name == sportEventVM.Category.Name).FirstOrDefault(); sportEvent.Category = sport; sportEvent.CategoryId = sport.Id; sportEventRepository.Edit(sportEvent); uow.SaveChanges(); return(sportEventMapper.MapToDTO(sportEvent)); } }
public SportEvent MapFromDTO(SportEventDetailDTO source) { SportEvent target = new SportEvent(); AccountMapper accountMapper = new AccountMapper(); target.Owner = accountMapper.MapFromDTO(source.Owner); AdressMapper adressMapper = new AdressMapper(); target.Adress = adressMapper.MapFromDTO(source.Adress); SportMapper sportMapper = new SportMapper(); target.Category = sportMapper.MapFromDTO(source.Category); target.Id = source.Id; target.Date = source.Date; target.Description = source.Description; target.Title = source.Title; target.ImagePath = source.ImagePath; return(target); }
public SportEventDetailDTO GetSportEvent(int sportEvId, int userId) { using (var uow = new UnitOfWork()) { var sportEventsRepository = uow.GetRepository <SportEvent>(); var sportEvent = sportEventsRepository.GetById(sportEvId); if (sportEvent == null) { return(null); } SportEventDetailMapper sportEventDetailMapper = new SportEventDetailMapper(); SportEventDetailDTO sportEventVM = sportEventDetailMapper.MapToDTO(sportEvent); if (sportEventVM.Attendees.Any(ac => ac.Id == userId)) { sportEventVM.Going = true; } else { sportEventVM.Going = false; } return(sportEventVM); } }