public async Task AddToErp(ProductE product, Action <SynchronizationModel> onProgress)
 {
     await ExecuteHttpRequest(async httpClient =>
     {
         var model    = GetModel(product);
         var json     = JsonConvert.SerializeObject(model);
         var response = await httpClient.Retry(RepeatTimes, () => httpClient.PostAsync(_endpoint, new StringContent(json, Encoding.UTF8, "application/json")));
         onProgress(GetResponse($"Successfully added product to erp {ErpType}"));
     }, onProgress);
 }
 protected abstract TModel GetModel(ProductE product);
 public virtual bool CanHandle(ErpType erpType, ProductE product = null) => erpType == ErpType;