示例#1
0
 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;
            }
        }
示例#4
0
        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;
            }
        }