Beispiel #1
0
        public async Task <BaseResult> CreateOrUpdate(RelateProductModel model)
        {
            var result        = new BaseResult();
            var relateProduct = model.ToRelateProduct();

            //Cập nhật thông tin chung của thực thể
            relateProduct = relateProduct.UpdateCommonInt();

            // Kiểm tra A và B
            if (relateProduct.ProductIdA == relateProduct.ProductIdB)
            {
                result.Result  = Result.Failed;
                result.Message = "A và B bị trùng!";
                return(result);
            }
            // kiểm tra trùng lặp trong dtb
            var query = _relateProductRepository.Query().FirstOrDefault(
                x => (x.ProductIdA == relateProduct.ProductIdA && x.ProductIdB == relateProduct.ProductIdB) || (x.ProductIdB == relateProduct.ProductIdA && x.ProductIdA == relateProduct.ProductIdB));

            if (query != null)
            {
                result.Result  = Result.Failed;
                result.Message = "Sản phẩm liên quan đã tồn tại!";
                return(result);
            }
            // Kiểm tra xem A và B có tồn tại hay không
            var isProductAExist = _productRepository.Query().FirstOrDefault(
                x => x.Id == relateProduct.ProductIdA);
            var isProductBExist = _productRepository.Query().FirstOrDefault(
                x => x.Id == relateProduct.ProductIdB);

            if (isProductAExist == null)
            {
                result.Result  = Result.Failed;
                result.Message = "Sản phẩm A không tồn tại!";
                return(result);
            }
            if (isProductBExist == null)
            {
                result.Result  = Result.Failed;
                result.Message = "Sản phẩm B không tồn tại!";
                return(result);
            }

            if (relateProduct.Id > 0)
            {
                //Cập nhật
                return(await Update(relateProduct));
            }
            else
            {
                //Thêm mới
                return(await Create(relateProduct));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> CreateOrUpdate([FromBody] RelateProductModel relateProduct)
        {
            var result = await _relateProductService.CreateOrUpdate(relateProduct);

            return(Ok(result));
        }
 public static RelateProduct ToRelateProduct(this RelateProductModel model)
 {
     return(model.MapTo <RelateProductModel, RelateProduct>());
 }