public async Task CreateOrUpdateMedicine(MedicineEditDto medicine) { if (!CheckNameError(medicine.DisplayName, medicine.Id)) { throw new UserFriendlyException("名称已存在"); } if (!CheckIdentifierError(medicine.Identifier, medicine.Id)) { throw new UserFriendlyException("编号已存在"); } await this._medicineRepository.InsertOrUpdateAsync(this._iObjectMapper.Map(medicine, medicine.Id.HasValue ? await this._medicineRepository.GetAsync(medicine.Id.Value) : new Medicine())); }
public async Task <IActionResult> UpdateMedicine(MedicineEditDto medicine) { try { var result = await _medicineService.UpdateMedicine(medicine); return(this.APIResponse(result, ControllerContext.ActionDescriptor.ActionName)); } catch (Exception ex) { string logMessage = $"Error Occured in {ControllerContext.ActionDescriptor.ActionName}. Error: {ex.Message}"; _logger.LogError(logMessage); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
/// <summary> /// create new medicine /// </summary> /// <param name="medicine"></param> /// <returns></returns> public async Task <ServiceResponse> AddMedicine(MedicineEditDto medicine) { try { Medicine medicineEntity = _mapper.Map <Medicine>(medicine); await _medicineRepository.AddMedicine(medicineEntity); medicine.MedicineGuid = medicineEntity.MedicineGuid; return(ServiceResponse.Success(medicine, ResponseCodes.Created)); } catch (Exception ex) { _logger.LogError($"Error Occured in {this.GetType().Name}. Error: {ex.Message}"); throw; } }
public async Task <IActionResult> Put([FromRoute] Guid id, [FromBody] MedicineEditDto medicineEditDto) { medicineEditDto.Id = id; if (ModelState.IsValid) { try { await _medicineService.EditAsync(_mapper.Map <Medicine>(medicineEditDto)); return(NoContent()); } catch (ApiException ex) { return(StatusCode(ex.StatusCode, new { error = true, message = ex.Message })); } } return(BadRequest()); }
/// <summary> /// update medicine /// </summary> /// <param name="medicineDto"></param> /// <returns></returns> public async Task <ServiceResponse> UpdateMedicine(MedicineEditDto medicineDto) { try { var medicine = await GetMedicineById(medicineDto.MedicineGuid); if (medicine == null) { return(ServiceResponse.Failure("Medicine does not exist.", ResponseCodes.NotFound)); } medicine = _mapper.Map(medicineDto, medicine); await _medicineRepository.UpdateMedicine(medicine); return(ServiceResponse.Success(medicineDto, ResponseCodes.Ok)); } catch (Exception ex) { _logger.LogError($"Error Occured in {this.GetType().Name}. Error: {ex.Message}"); throw; } }