public async Task <bool> EditCashRegisterAsync(EditCashRegisterDto cashRegister) { var editCashRegister = await _dbContext.CashRegisters.FindAsync(cashRegister.Id); editCashRegister.Name = cashRegister.Name; return(await _dbContext.SaveChangesAsync() > 0); }
public async Task <bool> IsDuplicateCashRegisterAsync(int storeId, EditCashRegisterDto cashRegister) { return(await _dbContext.CashRegisters .AnyAsync(c => c.Name.Equals(cashRegister.Name, StringComparison.InvariantCultureIgnoreCase) && c.Id != cashRegister.Id && c.StoreId == storeId && c.IsActive)); }
public async Task <IActionResult> EditCashRegister([FromRoute] int storeId, [FromBody] EditCashRegisterDto cashRegister) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!await _storeRepository.StoreExistsAsync(storeId)) { return(NotFound()); } if (!await _cashRegisterRepository.CashRegisterExistsAsync(cashRegister.Id)) { ModelState.AddModelError("cashRegister", "Cash register not found"); return(BadRequest(ModelState)); } if (await _cashRegisterRepository.IsDuplicateCashRegisterAsync(storeId, cashRegister)) { ModelState.AddModelError("cashRegister", "Cash register already exists"); return(BadRequest(ModelState)); } var wasCashRegisterEdited = await _cashRegisterRepository.EditCashRegisterAsync(cashRegister); if (wasCashRegisterEdited) { return(Ok()); } return(NoContent()); } catch (Exception e) { _logger.LogCritical($"PUT {Route}/{storeId}/cashregisters - {e.GetType().Name} - {e.Message} - {e.StackTrace}"); return(StatusCode(500, "An error ocurred in server")); } }