public void AddStore(StoreViewModel storeViewModel) { Address address = storeViewModel.GetAddress(); _databaseContext.Addresses.Add(address); _databaseContext.SaveChanges(); int addressId = _databaseContext.Addresses.OrderByDescending(s => s.Id) .FirstOrDefault(s => s.Street.Equals(address.Street) && s.City.Equals(address.City) && s.State.Equals(address.State) && s.Zip == address.Zip && s.Longitude.Equals(address.Longitude) && s.Latitude.Equals(address.Latitude)).Id; Store store = new Store { AddressId = addressId, Name = storeViewModel.Name, EmailAddress = storeViewModel.EmailAddress, PhoneNumber = storeViewModel.PhoneNumber }; store.AddressId = addressId; _databaseContext.Stores.Add(store); _databaseContext.SaveChanges(); }
public void EditStore(StoreViewModel store) { if (store.AddressId == 0) { store.AddressId = _databaseContext.Stores.AsNoTracking() .FirstOrDefault(m => m.Id == store.Id).AddressId; } Address address = store.GetAddress(); Store s = new Store { Id = store.Id, AddressId = store.AddressId, Name = store.Name, EmailAddress = store.EmailAddress, PhoneNumber = store.PhoneNumber }; _databaseContext.Entry(address).State = EntityState.Modified; //_databaseContext.SaveChanges(); _databaseContext.Entry(s).State = EntityState.Modified; _databaseContext.SaveChanges(); }