Example #1
0
 public (bool, string) AddOrder(OrderForOperationsDto orderdto)
 {
     var(isvalid, message) = orderdto.Validate();
     if (!isvalid)
     {
         return(false, message.FirstOrDefault().ToString());
     }
     try
     {
         var orderdao = Mapping.Mapper.Map <Order>(orderdto);
         var res      = _repo.Add(orderdao);
         return(res, res ? "Đặt hàng thành công" : "Đã có lỗi xảy ra (CSDL)");
     }
     catch
     {
         return(false, "Mapping Failed");
     }
 }
Example #2
0
        public IActionResult PostOrder([FromBody] OrderForOperationsDto order, int accountId = -1)
        {
            if (order is null)
            {
                return(BadRequest());
            }
            if (!_arepo.AuthorizeUser(accountId, Permission.OrderNewProduct))
            {
                return(Unauthorized());
            }
            var(isValid, err) = order.Validate();
            if (!isValid)
            {
                return(BadRequest(err));
            }

            if (!_srepo.StaffExists(order.StaffId))
            {
                return(NotFound());
            }
            foreach (var item in order.OrderDetails)
            {
                (isValid, err) = item.Validate();
                if (!isValid)
                {
                    return(BadRequest(err));
                }
                if (!_prepo.ProductExists(item.ProductId))
                {
                    return(NotFound());
                }
            }

            var orderToAdd = Mapper.Map <Order>(order);

            return(_repo.AddOrder(orderToAdd) ?
                   new StatusCodeResult(StatusCodes.Status201Created) :
                   new StatusCodeResult(StatusCodes.Status500InternalServerError));
        }