Example #1
0
        public async Task <IActionResult> Update([FromBody] IngredientRequest request,
                                                 [FromRoute] int id)
        {
            await _ingredientsService.Update(id, request);

            return(Ok());
        }
Example #2
0
        public async Task Update(int id, IngredientRequest request)
        {
            var ingredient = await _ingredientsRepository.Get(id);

            if (ingredient == null)
            {
                throw new NotFoundException($"Ingredient with id: {id} not found");
            }

            var userId = _userContextService.GetUserId;

            if (userId is null || userId != ingredient.UserId)
            {
                throw new ForbidException();
            }

            var authorizationResult = await _authorizationService.AuthorizeAsync(_userContextService.User, ingredient,
                                                                                 new IngredientOperationRequirement(ResourceOperation.Update));

            if (!authorizationResult.Succeeded)
            {
                throw new BadRequestException(
                          "You cannot update this recipe, because another" +
                          " user use this ingredient in his recipe");
            }

            ingredient.Name        = request.Name;
            ingredient.Description = request.Description;

            await _ingredientsRepository.Update(ingredient);
        }
Example #3
0
        public Ingredient CreateIngredient(IngredientRequest request)
        {
            var ingredient = new Ingredient();

            ingredient.Upsert(request.Name, request.Unit, request.Name, request.Quantity, request.OrderNumber);
            return(ingredient);
        }
        public bool Edit(IngredientRequest ingredientRequest)
        {
            IngredientRequest a = dt.IngredientRequests.FirstOrDefault(t => t.IngredientRequestID == ingredientRequest.IngredientRequestID);

            a.Status = ingredientRequest.Status;
            dt.SubmitChanges();
            return(true);
        }
Example #5
0
        public async ValueTask <ActionResult <Ingredient> > CreateIngredient(
            [FromBody] IngredientRequest request)
        {
            var existingIngredient = await _ingredientRepository.GetAsync(x => x.Name == request.IngredientName);

            if (existingIngredient.Any())
            {
                return(new ConflictResult());
            }
            var result = await _ingredientRepository.CreateAsync(new Ingredient { Name = request.IngredientName });

            return(new CreatedResult($"/api/ingredients/{result.Id}", result));
        }
Example #6
0
 public CreateResponse Create(IngredientRequest request)
 {
     try
     {
         var ingredient = TypeAdapter.Adapt <Ingredient>(request);
         _ingredientValidator.ValidateAndThrowException(ingredient, "Base");
         _ingredientRepository.Add(ingredient);
         return(new CreateResponse(ingredient.Id));
     }
     catch (DataAccessException)
     {
         throw new ApplicationException();
     }
 }
Example #7
0
        public async Task <int> Create(IngredientRequest request)
        {
            var userId = _userContextService.GetUserId;

            if (userId == null)
            {
                throw new ForbidException();
            }

            var newIngredient = _mapper.Map <Ingredient>(request);

            newIngredient.UserId = userId;

            await _ingredientsRepository.Add(newIngredient);

            return(newIngredient.Id);
        }
Example #8
0
 public SuccessResponse Update(IngredientRequest request)
 {
     try
     {
         var currentIngredient = _ingredientRepository.FindBy(request.Id);
         currentIngredient.ThrowExceptionIfRecordIsNull();
         var isReference = _ingredientRepository.IsReference(request.Id);
         isReference.ThrowExceptionIfIsReference();
         var ingredientToCopy = TypeAdapter.Adapt <Ingredient>(request);
         TypeAdapter.Adapt(ingredientToCopy, currentIngredient);
         _ingredientValidator.ValidateAndThrowException(currentIngredient, "Base");
         _ingredientRepository.Update(currentIngredient);
         return(new SuccessResponse {
             IsSuccess = true
         });
     }
     catch (DataAccessException)
     {
         throw new ApplicationException();
     }
 }
        private void btnHoaDon_Click(object sender, EventArgs e)
        {
            if (grDaMua.RowCount != 0)
            {
                for (int i = 0; i < grDaMua.RowCount; i++)
                {
                    if ((bool)grDaMua.GetRowCellValue(i, grDaMua.Columns["Status"]) == false)
                    {
                        break;
                    }
                    if (i == grDaMua.RowCount - 1)
                    {
                        return;
                    }
                }
                try
                {
                    OrderDetailDAO dt = new OrderDetailDAO();
                    TCIngredientRequestDetailDAO dc = new TCIngredientRequestDetailDAO();
                    OrderDetailDAO.ListTCOrderDetailViewModle.Clear();
                    for (int i = 0; i < grDaMua.RowCount; i++)
                    {
                        if ((bool)grDaMua.GetRowCellValue(i, grDaMua.Columns["Status"]) == false)
                        {
                            OrderDetail            a = new OrderDetail();
                            TCOrderDetailViewModle b = new TCOrderDetailViewModle();
                            a.IngredientID   = (int)grDaMua.GetRowCellValue(i, grDaMua.Columns["IngredientID"]);
                            a.QuantityOfUnit = (double)grDaMua.GetRowCellValue(i, grDaMua.Columns["Quantity"]);
                            b = dt.OrderDetailViewModle(a);
                            OrderDetailDAO.ListTCOrderDetailViewModle.Add(b);
                        }
                    }
                    FrThanhToanThucPham c = new FrThanhToanThucPham();
                    c.ShowDialog();
                    if (OrderDetailDAO.ThanhToan == true)
                    {
                        for (int i = 0; i < grDaMua.RowCount; i++)
                        {
                            if ((bool)grDaMua.GetRowCellValue(i, grDaMua.Columns["Status"]) == false)
                            {
                                //loại bỏ yêu cầu khi đã thực hiện
                                IngredientRequestDetail a1 = new IngredientRequestDetail();
                                a1.IngredientID        = (int)grDaMua.GetRowCellValue(i, grDaMua.Columns["IngredientID"]);
                                a1.IngredientRequestID = IngredienRequesID;
                                a1.Status = true;
                                dc.Edit(a1);
                            }
                        }
                        LoadIngredienRequesDetailBought(IngredienRequesID);
                    }


                    //nếu hoàn thành yêu cầu
                    if ((bool)grDaMua.GetRowCellValue((grDaMua.RowCount - 1), grDaMua.Columns["Status"]) == true && grChiTietYeuCau.RowCount == 0)
                    {
                        IngredientRequest a2 = new IngredientRequest();
                        a2.IngredientRequestID = IngredienRequesID;
                        a2.Status = true;
                        if (new TCIngredientRequestDAO().Edit(a2) == true)
                        {
                            MessageBox.Show("Đã hoàn thành yêu cầu");
                        }
                        else
                        {
                            MessageBox.Show("Chưa hoàn thành yêu cầu");
                        }
                    }
                }
                catch
                {
                }
            }
        }
Example #10
0
        public async Task <IActionResult> Create([FromBody] IngredientRequest request)
        {
            var id = await _ingredientsService.Create(request);

            return(Created($"api/ingredients/{id}", null));
        }
Example #11
0
 public SuccessResponse Put(IngredientRequest request)
 {
     return(_ingredientService.Update(request));
 }
Example #12
0
 public CreateResponse Post(IngredientRequest request)
 {
     return(_ingredientService.Create(request));
 }