Files
SHERPA/SHERPA.OAuth/Pages/Quickstart.cshtml.cs
T
2023-07-05 17:56:11 +02:00

98 lines
4.3 KiB
C#

using System;
using System.IO;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
using It.FattureInCloud.Sdk.Api;
using It.FattureInCloud.Sdk.Model;
using It.FattureInCloud.Sdk.Client;
using Newtonsoft.Json;
namespace SHERPA.OAuth.Pages
{
public class QuickstartModel : PageModel
{
private readonly ILogger<QuickstartModel> _logger;
public QuickstartModel(ILogger<QuickstartModel> logger)
{
_logger = logger;
}
public void OnGet()
{
using StreamReader file = new("token.json");
//retrieve the oAuth access token in the file token.json in the bin folder
var line = file.ReadLine();
file.Close();
dynamic json = JsonConvert.DeserializeObject<dynamic>(line);
string accessToken = json.access_token;
Configuration config = new Configuration();
config.AccessToken = accessToken.Replace(@"\", "");
#if false
// Modify the selected supplier
ModifySupplierRequest modifySupplierRequest = new ModifySupplierRequest();
modifySupplierRequest.Data = new Supplier();
//modifySupplierRequest.Data.Id = 0;
modifySupplierRequest.Data.Name = "Prova Supplier";
modifySupplierRequest.Data.Phone = "035-460560";
modifySupplierRequest.Data.VatNumber = "US02924190164";
modifySupplierRequest.Data.TaxCode = "USLCTSLM74E03H910R";
modifySupplierRequest.Data.FirstName = "Samuele Emilio";
modifySupplierRequest.Data.LastName = "Locateli";
modifySupplierRequest.Data.Email = "samuele.locatelli@gmail.com";
var result = modifyFirstSupplier(config, modifySupplierRequest);
#endif
var result = modifyFirstSupplier(config);
ViewData["Content"] = result;
}
public static string modifyFirstSupplier(Configuration config)//, ModifyClientRequest modifyClientRequest)
{
try
{
var userApiInstance = new UserApi(config);
var suppliersApiInstance = new SuppliersApi(config);
var clientsApiInstance = new ClientsApi(config);
// Retrieve User Companies
var userCompaniesResponse = userApiInstance.ListUserCompanies();
var firstCompanyId = userCompaniesResponse.Data.Companies[0].Id ?? 0;
// Retrieve the list of the Suppliers for the selected company
var fields = ""; // string | List of comma-separated fields. (optional)
var fieldset = "detailed"; // string | Name of the fieldset. (optional)
var sort = "-id"; // string | List of comma-separated fields for result sorting (minus for desc sorting). (optional)
var page = 1; // int? | The page to retrieve. (optional) (default to 1)
var perPage = 100; // int? | The size of the page. (optional) (default to 5)
//var companySuppliers = suppliersApiInstance.ListSuppliers(firstCompanyId, null, fieldset, sort, page, perPage);
var companySuppliers = suppliersApiInstance.ListSuppliers(firstCompanyId, null, fieldset, sort, page, perPage);
var firstSupplierId = companySuppliers.Data[0].Id ?? 0;
var companyCustomers = clientsApiInstance.ListClients(firstCompanyId, null, fieldset, sort, page, perPage, "tax_code='LCTSLM74E03H910R' OR vat_number='02924190164'");
var custId = companyCustomers.Data[0].Id ?? 0;
ModelClient datiCliente = companyCustomers.Data[0];
datiCliente.AddressStreet = "via Piazzo 95";
ModifyClientRequest modCliReq = new ModifyClientRequest();
modCliReq.Data = datiCliente;
//ModifySupplierResponse modifySupplierResponse = suppliersApiInstance.ModifySupplier(firstCompanyId, firstSupplierId, modifySupplierRequest);
var ModifyCustomerResp = clientsApiInstance.ModifyClient(firstCompanyId, custId, modCliReq);
return ("Cliente modificato correttamente\n" + ModifyCustomerResp.Data.ToJson());
}
catch (Exception e)
{
Console.Write(e);
return e.ToString();
}
}
}
}