public async Task <ActionResult <ServiceResult> > UpdateAsync(EquipmentRequestModel requestModel) { #region Input Validation EquipmentModel equipment = (await _equipmentService.GetAsync(e => e.Id == requestModel.Id)).FirstOrDefault(); if (equipment is null) { return(new ServiceResult { StatusCode = HttpStatusCode.BadRequest, Message = $"Equipment not found" }); } bool equipmentWithNameExists = await _equipmentService.AnyAsync(c => c.Id != requestModel.Id && c.Name == requestModel.Name); if (equipmentWithNameExists) { return(new ServiceResult { StatusCode = HttpStatusCode.BadRequest, Message = $"Equipment with name {requestModel.Name} already exists" }); } #endregion equipment = _mapper.Map <EquipmentModel>(requestModel); _equipmentService.Update(equipment); await _equipmentService.SaveChangesAsync(); return(new ServiceResult { StatusCode = HttpStatusCode.OK, Message = "Success", Data = equipment }); }