예제 #1
0
        public async Task <bool> EditStoreAsync(EditStoreDto editStore)
        {
            var store = await _dbContext.Stores.FindAsync(editStore.Id);

            store.Name    = editStore.Name;
            store.Address = editStore.Address;
            store.Phone   = editStore.Phone;

            return(await _dbContext.SaveChangesAsync() > 0);
        }
예제 #2
0
        public async Task <IActionResult> EditStore([FromBody] EditStoreDto store)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (!await _storeRepository.StoreExistsAsync(store.Id))
                {
                    ModelState.AddModelError("store", "Store not found");
                    return(BadRequest(ModelState));
                }

                if (await _storeRepository.IsDuplicateStoreAsync(store))
                {
                    ModelState.AddModelError("store", "Store already exists");
                    return(BadRequest(ModelState));
                }

                var wasStoreEdited = await _storeRepository.EditStoreAsync(store);

                if (wasStoreEdited)
                {
                    return(Ok());
                }

                return(NoContent());
            }
            catch (Exception e)
            {
                _logger.LogCritical($"PUT {Route} - {e.GetType().Name} - {e.Message} - {e.StackTrace}");
                return(StatusCode(500, "An error ocurred in server"));
            }
        }
예제 #3
0
 public async Task <bool> IsDuplicateStoreAsync(EditStoreDto editStore)
 {
     return(await _dbContext.Stores.AnyAsync(store => store.Name == editStore.Name && store.Id != editStore.Id && store.IsActive));
 }