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"); } }
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)); }