-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDocumentRequest.cs
More file actions
42 lines (37 loc) · 1.89 KB
/
DocumentRequest.cs
File metadata and controls
42 lines (37 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using Newtonsoft.Json;
using SBISLib.DocumentClasses;
using System;
using System.IO;
using System.Reflection;
namespace SBISLib.HTTP_request_classes
{
public class DocumentRequest : HttpRequest
{
public DocFilter DocFilter { get; set; }
public string GetDocument(string sessionid)
{
string jsonRequest = "{\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"СБИС.СписокДокументов\",\r\n \"params\": {\r\n \"Фильтр\": {\r\n \"Тип\": \"ДоговорДок\",\r\n \"Навигация\": {\r\n \"РазмерСтраницы\": \"200\",\r\n \"Страница\":\"0\"\r\n }\r\n }\r\n },\r\n \"id\": 0\r\n}";
if (DocFilter != null)
{
string filter = JsonConvert.SerializeObject(DocFilter,Formatting.Indented, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
});
jsonRequest = "{\r\n \"jsonrpc\": \"2.0\",\r\n \"method\": \"СБИС.СписокДокументов\",\r\n \"params\": {\r\n \"Фильтр\": " + filter + "\r\n },\r\n \"id\": 0\r\n}";
}
string link = "https://online.sbis.ru/service/?srv=1";
string Json = RequestPost(link,jsonRequest, sessionid);
return Json;
}
public void GetDocumentFile(string sessionid,string link,string extension,string filename=null)
{
string Dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+@"\"+extension;
if (filename==null)
filename = DateTime.Now.ToShortDateString();
Directory.CreateDirectory(Dir);
filename = filename.Replace('/', '_');
string path=Dir+@"\"+filename+@"."+extension;
RequestGet(link, path,sessionid);
}
}
}