/**
   * Post và Update lại Product Shown Image
   *
   * @param listProductShownImg
   * @return
   */
  public static BatchActionResult postAndUpdate(
      Context context, ArrayList<ProductShownImg> listProductShownImg) {
    BatchActionResult batchResult = new BatchActionResult(0, 0); // tính thành công, thất bại

    for (ProductShownImg psi : listProductShownImg) {

      boolean isSuccess = false; // đánh dấu đã thành công, không thêm thất bại

      // kiểm tra Product Shown vs Image đã Upload
      ProductShown productShown = psi.getProductShow(context);
      Image image = psi.getImage(context);
      if (productShown.getUploadStatus() == UploadStatus.UPLOADED
          && image.getUploadStatus() == UploadStatus.UPLOADED) {

        PostProductShownImgWSResult ppsiResult =
            ProductShownImgWS.post(psi, productShown.getServerId(), image.getServerId());
        if (ppsiResult.getStatus() == BaseWSResult.STATUS_SUCCESS
            || ppsiResult.getStatus() == BaseWSResult.STATUS_DUPLICATE) {

          ProductShownImgData.update_UploadStatus_ServerId_byId(
              context, psi.get_id(), UploadStatus.UPLOADED, ppsiResult.getProductShown_ImageID());

          isSuccess = true;
        }
      }

      if (isSuccess) batchResult.addSuccess(1);
      else batchResult.addFail(1);
    }
    return batchResult;
  }