public async Task <ActionResult> UpdateMedcine(int id, [FromBody] UpdateMedicineRequest request) { try { if (id < 0) { return(BadRequest("Invalid id")); } if (request == null) { return(BadRequest("Invalid request")); } var medicine = await _pharmacyService.GetMedicineById(id); if (medicine == null) { return(NotFound()); } _mapper.Map(request, medicine); await _pharmacyService.UpdateMedicine(medicine); return(Ok(request)); } catch (Exception e) { throw e; } }
public async Task <ActionResult> CreateOrder([FromBody] CreateOrderRequest request) { try { if (request == null) { return(BadRequest("Invalid reqeust")); } if (await _pharmacyService.GetMedicineById(request.MedicineId) == null) { return(BadRequest("Medicine from request doesn't exist")); } var order = new OrderDTO(); _mapper.Map(order, request); //communication with other microservice order.AccountId = 2; await _orderService.CreateOrder(order); return(Ok()); } catch (Exception e) { throw e; } }
public async Task <ActionResult> CreateOrder([FromBody] CreateSaleRequest request) { try { if (request == null) { return(BadRequest("Invalid reqeust")); } if (request.MedicineId == 0 && request.RecipeId == 0) { return(BadRequest("Either MedicineId or RecipeId must be provided")); } if (request.RecipeId != 0) { var recipe = await _saleService.GetRecipeById(request.RecipeId); if (recipe == null) { return(BadRequest("Recipe from request doesn't exist")); } if (request.MedicineId != 0 && recipe.MedicineId != request.MedicineId) { return(BadRequest("Medicine id doesn't match to recipe medicine id")); } var _sale = new SaleDTO(); _mapper.Map(request, _sale); var _httpClient = _httpClientFactory.CreateClient("Pharmacy"); //communication with other microservice var response = await _httpClient.GetAsync("account/getAccountById?id=2"); if (response.IsSuccessStatusCode) { var account = response.Content.ReadAsStringAsync(); } _sale.AccountId = 2; await _saleService.SaveSale(_sale); return(Ok()); } var medicine = await _pharmacyService.GetMedicineById(request.MedicineId); if (medicine == null) { return(BadRequest("Medicine with provided id doesn't exist")); } if (medicine.IsRecipeRequired) { return(BadRequest("This medicine cannot be order without recipe")); } var sale = new SaleDTO(); _mapper.Map(request, sale); //communication with other microservice sale.AccountId = 2; await _saleService.SaveSale(sale); return(Ok()); } catch (Exception e) { throw e; } }