public async Task <IActionResult> CreateFood([FromBody] Models.CreateFoodRequest foodRequest) { try { Entities.Food food = _mapper.Map <Entities.Food>(foodRequest); food.FarmId = int.Parse(User.Claims.First(c => c.Type == "premisesID").Value); var createById = int.Parse(User.Claims.First(c => c.Type == "userID").Value); food.CreateById = createById; await _foodBL.CreateProductAsync(food); var transactionHash = await _foodDataBL.CreateFood(food, food.FarmId, createById); await _foodBL.AddDetail(food.FoodId, EFoodDetailType.CREATE, transactionHash, food.CreateById); return(Ok(new { message = MessageConstant.INSERT_SUCCESS })); } catch (InvalidDataException ex) { return(BadRequest(new { message = ex.Message, error = ex.StackTrace })); } catch (Exception ex) { return(BadRequest(new { message = MessageConstant.UNHANDLE_ERROR, error = ex.StackTrace })); } }
public async Task <string> CreateFood(Entities.Food newFood, int farmId, int createById) { var Premises = _premesisRepository.GetById(farmId); var Cat = _categoryRepository.GetById(newFood.CategoryId); var FoodData = new FoodData() { FoodId = newFood.FoodId, Breed = newFood.Breed, Category = Cat.Name, Farm = _mapper.Map <Farm>(Premises), StartedDate = DateTime.Now }; return(await _service.AddNewFoodData(FoodData, _userRepository.GetById(createById).Username)); }