示例#1
0
        public async Task <IActionResult> EditMedicine(EditMedicineViewModel model)
        {
            var validationResult = _editMedicineValidator.Validate(model);

            if (!validationResult.IsValid)
            {
                foreach (var error in validationResult.Errors)
                {
                    ModelState.AddModelError(error.PropertyName, error.ErrorMessage);
                }

                return(View(model));
            }

            var restClient = new RestClient("http://localhost:5000");
            var request    = new RestRequest($"api/medicines/{model.Id}", Method.PUT)
            {
                RequestFormat = DataFormat.Json
            };

            request.AddBody(model);
            await restClient.ExecuteTaskAsync <EditMedicineViewModel>(request);

            return(RedirectToAction("Index"));
        }
示例#2
0
        public async Task <IActionResult> Put(int id, [FromBody] EditMedicineViewModel model)
        {
            var medicineFromRepo = await _repo.GetMedicineAsync(id);

            var imagesFromRepo = medicineFromRepo.Images.ToList();

            _mapper.Map(model, medicineFromRepo);
            medicineFromRepo.Images = imagesFromRepo;

            if (await _repo.SaveAllAsync())
            {
                return(NoContent());
            }

            return(BadRequest());
        }
示例#3
0
        public IActionResult AddMedicine(EditMedicineViewModel model)
        {
            if (!ModelState.IsValid)
            {
            }

            var result = ContentExecute <MedicineListItemViewModel>(() =>
            {
                var medicine = new Medicine
                {
                    Title       = model.Title,
                    Description = model.Description,
                };
                var newMedicine = _medicineService.AddMedicine(medicine);
                return(new MedicineListItemViewModel(newMedicine));
            });

            return(Json(result));
        }