예제 #1
0
        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 }));
            }
        }
예제 #2
0
        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));
        }