public async Task <IActionResult> PostStore([FromBody] APIStore apiStore, CancellationToken ct)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { error = "Model state is not valid" }));
            }

            AddressEntity address = new AddressEntity
            {
                City      = apiStore.City,
                State     = apiStore.State,
                Street    = apiStore.Street,
                Latitude  = apiStore.Latitude,
                Longitude = apiStore.Longitude,
                Zip       = apiStore.Zip
            };

            var addressCreated = await _addressRepository.AddEntityAsync(address, ct);

            if (addressCreated)
            {
                StoreEntity store = new StoreEntity
                {
                    Name        = apiStore.Name,
                    PhoneNumber = apiStore.PhoneNumber,
                    Website     = apiStore.Website,
                    AddressId   = address.Id,
                    StoreUserId = apiStore.StoreUserId
                };

                var storeCreated = await _storeRepository.AddEntityAsync(store, ct);

                if (storeCreated)
                {
                    var storeUser = await _storeUserRepository.GetEntityAsync(apiStore.StoreUserId, ct);

                    storeUser.HomeStoreId = store.Id;
                    var updatedStoreUser = _storeUserRepository.UpdateEntity(storeUser, ct);

                    if (updatedStoreUser != null)
                    {
                        return(Ok($"store Created = {store}"));
                    }
                    return(Conflict("Unable to updated StoreUser"));
                }
                return(Conflict("Store was not created, but address was"));
            }

            return(Conflict("Store and address were not created"));
        }
Пример #2
0
 private ESBFactory()
 {
     store = new APIStore();
 }