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 SignUpAccountDTO editAccount(SignUpAccountDTO accountVM) { using (var uow = new UnitOfWork()) { var accountRepository = uow.GetRepository <Account>(); var addressRepository = uow.GetRepository <Adress>(); var accUser = accountRepository.FindBy(ac => ac.UserName == accountVM.UserName); var accEmail = accountRepository.FindBy(ac => ac.Email == accountVM.Email); if ((accUser.Count() == 1 && accUser.FirstOrDefault().Id != accountVM.Id) | (accEmail.Count() == 1 && accEmail.FirstOrDefault().Id != accountVM.Id)) { return(null); } AdressMapper addressMapper = new AdressMapper(); var queryaddress = addressRepository.FindBy(ad => ad.latitude == accountVM.Adress.latitude & ad.longitude == accountVM.Adress.longitude); Adress address = queryaddress.FirstOrDefault(); Account account = accountRepository.GetById(accountVM.Id); if (address == null) { addressRepository.Add(addressMapper.MapFromDTO(accountVM.Adress)); uow.SaveChanges(); } address = addressRepository.FindBy(ad => ad.latitude == accountVM.Adress.latitude & ad.longitude == accountVM.Adress.longitude).FirstOrDefault(); account.AdressId = address.Id; account.Adress = address; account.LastName = accountVM.LastName; account.FirstName = accountVM.FirstName; account.Email = accountVM.Email; account.UserName = accountVM.UserName; account.UserPassword = accountVM.Password; accountRepository.Edit(account); uow.SaveChanges(); return(accountVM); } }
public AdressDTO addAdress(AdressDTO adressVM) { using (var uow = new UnitOfWork()) { var adressRepository = uow.GetRepository <Adress>(); var query = adressRepository.FindBy(ad => ad.latitude == adressVM.latitude && ad.longitude == adressVM.longitude); var existAd = query.FirstOrDefault(); if (existAd == null) { AdressMapper adressMapper = new AdressMapper(); Adress adress = adressMapper.MapFromDTO(adressVM); adressRepository.Add(adress); uow.SaveChanges(); return(adressVM); } else { return(null); } } }