mirror of
https://github.com/retailcrm/api-client-dotnet.git
synced 2024-11-21 20:36:02 +03:00
commit
3b9a6c5f4d
@ -1,4 +1,6 @@
|
||||
[![NuGet](https://img.shields.io/nuget/v/Retailcrm.SDK.svg)](https://www.nuget.org/packages/Retailcrm.SDK/)
|
||||
[![AppVeyor](https://img.shields.io/appveyor/build/retailcrm/api-client-dotnet?style=flat-square)](https://ci.appveyor.com/project/retailcrm/api-client-dotnet)
|
||||
[![NuGet](https://img.shields.io/nuget/v/Retailcrm.SDK.svg?style=flat-square)](https://www.nuget.org/packages/Retailcrm.SDK/)
|
||||
|
||||
|
||||
# retailCRM API C# client
|
||||
|
||||
|
@ -52,10 +52,9 @@ namespace Retailcrm
|
||||
/// <param name="allowObjects"></param>
|
||||
private void AddEntry(string prefix, object instance, bool allowObjects)
|
||||
{
|
||||
var dictionary = instance as IDictionary;
|
||||
var collection = instance as ICollection;
|
||||
|
||||
if (dictionary != null)
|
||||
if (instance is IDictionary dictionary)
|
||||
{
|
||||
Add(prefix, GetDictionaryAdapter(dictionary));
|
||||
}
|
||||
@ -104,7 +103,7 @@ namespace Retailcrm
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
private IEnumerable<Entry> GetObjectAdapter(object data)
|
||||
private static IEnumerable<Entry> GetObjectAdapter(object data)
|
||||
{
|
||||
var properties = data.GetType().GetProperties();
|
||||
|
||||
@ -123,7 +122,7 @@ namespace Retailcrm
|
||||
/// </summary>
|
||||
/// <param name="collection"></param>
|
||||
/// <returns></returns>
|
||||
private IEnumerable<Entry> GetArrayAdapter(ICollection collection)
|
||||
private static IEnumerable<Entry> GetArrayAdapter(ICollection collection)
|
||||
{
|
||||
int i = 0;
|
||||
foreach (var item in collection)
|
||||
@ -142,7 +141,7 @@ namespace Retailcrm
|
||||
/// </summary>
|
||||
/// <param name="collection"></param>
|
||||
/// <returns></returns>
|
||||
private IEnumerable<Entry> GetDictionaryAdapter(IDictionary collection)
|
||||
private static IEnumerable<Entry> GetDictionaryAdapter(IDictionary collection)
|
||||
{
|
||||
foreach (DictionaryEntry item in collection)
|
||||
{
|
||||
|
@ -12,7 +12,7 @@
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>Multiversion API client for retailCRM</description>
|
||||
<releaseNotes>Fix POST request for big data</releaseNotes>
|
||||
<copyright>Copyright 2017-2019</copyright>
|
||||
<copyright>Copyright 2017-2020</copyright>
|
||||
<tags>crm ecommerce retailcrm sdk</tags>
|
||||
</metadata>
|
||||
</package>
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.props')" />
|
||||
<Import Project="..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
@ -39,10 +39,10 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
|
||||
<HintPath>..\packages\MSTest.TestFramework.2.1.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
|
||||
<HintPath>..\packages\MSTest.TestFramework.2.1.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
@ -95,8 +95,8 @@
|
||||
<PropertyGroup>
|
||||
<ErrorText>Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их. Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.props'))" />
|
||||
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.props'))" />
|
||||
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.1.4.0\build\net45\MSTest.TestAdapter.targets')" />
|
||||
<Import Project="..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.0\build\net45\MSTest.TestAdapter.targets')" />
|
||||
</Project>
|
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
@ -22,6 +23,7 @@ namespace RetailcrmUnitTest.V3
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[Ignore]
|
||||
public void PacksCreateUpdateReadDelete()
|
||||
{
|
||||
string uid = Guid.NewGuid().ToString().Replace("-", string.Empty).Substring(0, 12);
|
||||
@ -69,8 +71,7 @@ namespace RetailcrmUnitTest.V3
|
||||
|
||||
foreach (Dictionary<string, object> s in arr.OfType<Dictionary<string, object>>())
|
||||
{
|
||||
int itemId;
|
||||
int.TryParse(s["id"].ToString(), NumberStyles.Any, null, out itemId);
|
||||
int.TryParse(s["id"].ToString(), NumberStyles.Any, null, out int itemId);
|
||||
id[0] = itemId;
|
||||
}
|
||||
|
||||
@ -84,6 +85,7 @@ namespace RetailcrmUnitTest.V3
|
||||
|
||||
Response packsCreateResponse = _client.PacksCreate(pack);
|
||||
|
||||
Debug.WriteLine(packsCreateResponse.GetRawResponse());
|
||||
Assert.IsTrue(packsCreateResponse.IsSuccessfull());
|
||||
Assert.IsTrue(packsCreateResponse.GetStatusCode() == 201);
|
||||
Assert.IsInstanceOfType(packsCreateResponse, typeof(Response));
|
||||
|
@ -20,6 +20,7 @@ namespace RetailcrmUnitTest.V3
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[Ignore]
|
||||
public void TelephonyManagerGet()
|
||||
{
|
||||
Response response = _client.TelephonyManagerGet("+79999999999");
|
||||
|
@ -60,6 +60,7 @@ namespace RetailcrmUnitTest.V4
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[Ignore]
|
||||
public void TelephonyCallEvent()
|
||||
{
|
||||
Response response = _client.TelephonyCallEvent(
|
||||
|
@ -25,11 +25,29 @@ namespace RetailcrmUnitTest.V5
|
||||
[TestMethod]
|
||||
public void NotesCreateDelete()
|
||||
{
|
||||
Dictionary<string, object> customer = new Dictionary<string, object>
|
||||
{
|
||||
{"externalId", Guid.NewGuid().ToString().Replace("-", string.Empty).Substring(0, 12)},
|
||||
{"lastName", "Took"},
|
||||
{"firstName", "Peregrin"},
|
||||
{"email", "took@example.com"},
|
||||
{"phone", "+78888888989"}
|
||||
};
|
||||
|
||||
Response createResponse = _client.CustomersCreate(customer);
|
||||
|
||||
Assert.IsTrue(createResponse.IsSuccessfull());
|
||||
Assert.IsInstanceOfType(createResponse, typeof(Response));
|
||||
Assert.IsTrue(createResponse.GetStatusCode() == 201);
|
||||
Assert.IsTrue(createResponse.GetResponse().ContainsKey("id"));
|
||||
|
||||
string id = createResponse.GetResponse()["id"].ToString();
|
||||
|
||||
Response responseFiltered = _client.NotesCreate(
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "text", "test task" },
|
||||
{ "customer", new Dictionary<string, object> { { "id", "4717" } }},
|
||||
{ "customer", new Dictionary<string, object> { { "id", id } }},
|
||||
{ "managerId", Environment.GetEnvironmentVariable("RETAILCRM_USER")}
|
||||
}
|
||||
);
|
||||
|
@ -21,6 +21,7 @@ namespace RetailcrmUnitTest.V5
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[Ignore]
|
||||
public void TasksCreateUpdateGet()
|
||||
{
|
||||
DateTime datetime = DateTime.Now;
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="MSTest.TestAdapter" version="1.4.0" targetFramework="net45" />
|
||||
<package id="MSTest.TestFramework" version="1.4.0" targetFramework="net45" />
|
||||
<package id="MSTest.TestAdapter" version="2.1.0" targetFramework="net45" />
|
||||
<package id="MSTest.TestFramework" version="2.1.0" targetFramework="net45" />
|
||||
</packages>
|
24
appveyor.yml
Normal file
24
appveyor.yml
Normal file
@ -0,0 +1,24 @@
|
||||
version: 5.1.{build}
|
||||
pull_requests:
|
||||
do_not_increment_build_number: true
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
skip_tags: true
|
||||
image: Visual Studio 2019
|
||||
configuration: Release
|
||||
environment:
|
||||
RETAILCRM_URL:
|
||||
secure: +XvDVl4qowEEYYTdURDytjGjtBPeyehSzCqQs4XcavM=
|
||||
RETAILCRM_KEY:
|
||||
secure: xRC/iy3F1W4PCS1V1eiruJv4Sdj4A9Ln2s36fp0MtgiiIdGDHeK+Qmlm+eHAZgjh
|
||||
RETAILCRM_SITE:
|
||||
secure: 2w6OVirZRJLlkzME0kpXzQ==
|
||||
RETAILCRM_STORE:
|
||||
secure: UCnYSIgosQyIqtVwDrVv4w==
|
||||
RETAILCRM_USER:
|
||||
secure: tClF7XYbv+nGE5WpZIF7ng==
|
||||
before_build:
|
||||
- ps: nuget restore
|
||||
build:
|
||||
verbosity: minimal
|
Loading…
Reference in New Issue
Block a user