Merge branch 'develop'

This commit is contained in:
Samuele E. Locatelli
2015-09-03 11:38:10 +02:00
511 changed files with 112335 additions and 21152 deletions
+21 -1
View File
@@ -3,8 +3,28 @@
#--------------------------------------------
VersGen\bin\*
VersGen\obj\*
*.pdb
#--------------------------------------------
# WebSC
# WebSCR
#--------------------------------------------
WebSCR\obj\*
WebSCR/logs/*.txt
WebSCR/logs/*.zip
WebSCR\obj\*/
WebSCR/obj/*
WebSCR/DocUploader/*.pdf
#--------------------------------------------
# WebSCR_data
#--------------------------------------------
WebSCR_data\obj\*
WebSCR_data/logs/*.txt
WebSCR_data/logs/*.zip
WebSCR_data\obj\*/
WebSCR_data/obj/*
#--------------------------------------------
# DataUploader
#--------------------------------------------
DataUploader/obj/*
Binary file not shown.
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+164
View File
@@ -0,0 +1,164 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DataUploader</RootNamespace>
<AssemblyName>DataUploader</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.0.0\lib\net45\NLog.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="NLog.Web, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.Web.2.0.0.0\lib\net35\NLog.Web.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
</ItemGroup>
<ItemGroup>
<Content Include="Default.aspx" />
<Content Include="DemoPage.aspx" />
<Content Include="favicon.ico" />
<Content Include="FullSync.aspx" />
<Content Include="images\LogoSteamware.png" />
<Content Include="SyncDoc.aspx" />
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Compile Include="Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Default.aspx.designer.cs">
<DependentUpon>Default.aspx</DependentUpon>
</Compile>
<Compile Include="DemoPage.aspx.cs">
<DependentUpon>DemoPage.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="DemoPage.aspx.designer.cs">
<DependentUpon>DemoPage.aspx</DependentUpon>
</Compile>
<Compile Include="FullSync.aspx.cs">
<DependentUpon>FullSync.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="FullSync.aspx.designer.cs">
<DependentUpon>FullSync.aspx</DependentUpon>
</Compile>
<Compile Include="GestData.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SyncDoc.aspx.cs">
<DependentUpon>SyncDoc.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="SyncDoc.aspx.designer.cs">
<DependentUpon>SyncDoc.aspx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="packages.config" />
<Content Include="logs\PlaceHolder.file" />
<None Include="NLog.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="NLog.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Properties\PublishProfiles\Zip.pubxml" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</None>
</ItemGroup>
<ItemGroup />
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>favicon.ico</ApplicationIcon>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>0</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:52172/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<NameOfLastUsedPublishProfile>Zip</NameOfLastUsedPublishProfile>
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
Binary file not shown.
+30
View File
@@ -0,0 +1,30 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DataUploader.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<img src="images/LogoSteamware.png" alt="Steamware" style="float:right;" />
<h1>WebSCR DataUploader</h1>
<i>Pagina di riferimento per progetto upload dati da Sigla++ Trony Rigamonti a WebSCR@steamware</i>
<br />
<br />
<%--Per effettuare test utilizzare la <a href="DemoPage.aspx">Demo Page</a>
<br />--%>
Per l'uso in produzione / continuativo vanno richiamate
<ul>
<li>periodicamente la pagina di <b>FullSync</b></li>
<li>su richiesta utente la pagina di <b>SyncDoc</b></li>
</ul>
<div style="border-top: 1px solid #696969; text-align: right; margin-top: 40px;">
@2015-<%: DateTime.Now.Year %> Steamware
</div>
</div>
</form>
</body>
</html>
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DataUploader
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DataUploader
{
public partial class Default
{
/// <summary>
/// form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
+47
View File
@@ -0,0 +1,47 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DemoPage.aspx.cs" Inherits="DataUploader.DemoPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>DemoPage</h1>
In questa pagina è riassunt la logica di chiamata delle altre pagine ed il funzionamento.
<br />
<hr />
<br />
<h2>FullSync</h2>
Questa è la pagina da chiamare periodicamente (esecuzione automatica?) in modo da effettuare il sync periodico dei dati da sigla ad online.
<br />
Il ciclo prevede i seguenti step:
<ul>
<li>Chiamata a sito remoto x avere codice dell'ultimo doc caricato (NUMERO univoco)</li>
<li>Chiamata a server DB2 locale x avere TUTTI i documenti "successivi"</li>
<li>Chiamata di invio dati per ogni documento non ancora caricato (e per ogni cliente per update)</li>
</ul>
il tutto viene fatto tramite la classe helper GestData
<br />
Demo: <a href="FullSync.aspx">FullSync.aspx</a>
<br />
<hr />
<br />
<h2>SyncDoc</h2>
Questa è la pagina da chiamare SU RICHIESTA UTENTE in modo da effettuare il sync PUNTUALE dei dati da sigla ad online per uno specifico documento.
<br />
Il ciclo prevede i seguenti step:
<ul>
<li>La pagina riceve un parametro del codice documento richiesto (TIPOPROTOC = OC/DC + NUMPROTOC incrementale annuale)</li>
<li>Chiamata a server DB2 locale x avere dati del documento</li>
<li>Chiamata di invio dati per documento e per il cliente correlato</li>
</ul>
il tutto viene fatto tramite la classe helper GestData
<br />
Demo: <a href="SyncDoc.aspx?DOC=OC0001616&Anno=2015">SyncDoc.aspx?DOC=OC0001616&Anno=2015</a>
</div>
</form>
</body>
</html>
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DataUploader
{
public partial class DemoPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DataUploader
{
public partial class DemoPage
{
/// <summary>
/// form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}
+24
View File
@@ -0,0 +1,24 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FullSync.aspx.cs" Inherits="DataUploader.FullSync" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>FullSync</h1>
Modalità chiamata:
<ul>
<li>Senza parametri: effettua tutte le chiamate remote</li>
<li>Con aggiunto il parametro "?DemoMode=true" nell'url --> NON viene chiamata (per ogni record) la pagina remota ma viene mostrato l'elenco delle chiamate che SI SAREBBERO EFFETTUATE</li>
</ul>
<hr />
<h2>OUTPUT</h2>
<asp:Label runat="server" ID="lblOut" />
</div>
</form>
</body>
</html>
+89
View File
@@ -0,0 +1,89 @@
using NLog;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DataUploader
{
public partial class FullSync : System.Web.UI.Page
{
private static Logger logger = LogManager.GetCurrentClassLogger();
protected void Page_Load(object sender, EventArgs e)
{
logger.Info("Inizio FullSync");
DateTime tick = DateTime.Now;
using (var client = new WebClient())
{
client.Proxy = null;
ServicePointManager.DefaultConnectionLimit = int.MaxValue;
// verifico se vado in modalità demo o meno...
bool demoMode = false;
try
{
demoMode = Convert.ToBoolean(Request.QueryString["DemoMode"]);
}
catch
{ }
// recupero ultimo numero doc caricato...
int lastNum = 0;
try
{
var content = client.DownloadString(ConfigurationManager.AppSettings["remoteDocUrl"]); // http://webscr.steamware.net/Rigamonti/Upload/Document
// converto a int!
lastNum = Convert.ToInt32(content);
logger.Info("Recuperato last num: {0}", lastNum);
}
catch
{ }
// recupero i dati da caricare...
string[] urlsUpdate = GestData.proc.getNewDocsUrls(lastNum);
if (demoMode)
{
lblOut.Text = string.Format("DEMO MODE!<br/>ultimo NUMERO: {0}", lastNum);
for (int i = 0; i < urlsUpdate.Length; i++)
{
lblOut.Text += string.Format("<br/>{0:000}) {1}", i + 1, urlsUpdate[i]);
}
logger.Info("Effettuato DEMO upload FULL SYNC: durata {0} msec", DateTime.Now.Subtract(tick).TotalMilliseconds);
}
else
{
if (ConfigurationManager.AppSettings["debugMode"] == "true")
{
logger.Info("Inizio chiamate URL");
}
lblOut.Text = string.Format("Normal MODE!<br/>{0}", lastNum);
string content = "";
for (int i = 0; i < urlsUpdate.Length; i++)
{
try
{
logger.Info("Chiamata [{0}]", i);
// versione SYNC
content = client.DownloadString(urlsUpdate[i]);
logger.Info("Risposta [{0}] - {1}", content, urlsUpdate[i]);
}
catch
{ }
}
try
{
logger.Info("Effettuato upload FULL SYNC: durata {0} msec", DateTime.Now.Subtract(tick).TotalMilliseconds);
}
catch
{
logger.Info("Effettuato upload FULL SYNC: durata {0} sec", DateTime.Now.Subtract(tick).Seconds);
}
}
}
}
}
}
+33
View File
@@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DataUploader {
public partial class FullSync {
/// <summary>
/// form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblOut control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOut;
}
}
+343
View File
@@ -0,0 +1,343 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data.Odbc;
using System.Configuration;
using NLog;
namespace DataUploader
{
public class GestData
{
private static Logger logger = LogManager.GetCurrentClassLogger();
protected GestData()
{
setupConnString();
}
protected OdbcConnection conn;
/// <summary>
/// configurazione stringa connesisone dati
/// </summary>
private void setupConnString()
{
conn = new OdbcConnection();
// ho creato un DSN di sistema a nome "DB_Sigla" cui faccio riferimento (32 perché 32 bit x mia demo... ho dovuto convertire accdb in mdb...)
//string connectionString = "Dsn=DB_Sigla32;Initial Catalog=TESDOCUM;"; // Questa va su un MDB di cui esiste un DSN
//string connectionString = "Driver={Microsoft Access Driver(*.mdb, *.accdb)};DBQ=C:\\DB_SIGLA.accdb;";
//string connectionString = "Dsn=DITTA1;Initial Catalog=TESDOCUM;"; // Questa non funziona senza una password eslpicita, anche se esiste un DSN DITTA1 con pwd salvata
//string connectionString = "Dsn=DITTA1;Uid=DB2;Pwd=ccL21x$1wow;Initial Catalog=TESDOCUM;"; // Questa funziona se esiste un DSN DITTA1
//string connectionString = "Driver={IBM DB2 ODBC DRIVER};DataBase=DITTA1; HostName=RigaSRV02; Protocol=TCPIP;Port=50000;Uid=DB2;Pwd=ccL21x$1wow"; //questa funziona anche senza DSN esistente
string connectionString = ConfigurationManager.AppSettings["connString"];
conn.ConnectionString = connectionString;
}
public static GestData proc = new GestData();
/// <summary>
/// restituisce un array di stringhe URL da chiamare per caricare i dati documento / cliente
/// </summary>
/// <param name="numeroFrom">numero ultimo doc caricato (restituirà docs successivi)</param>
/// <returns></returns>
public string[] getNewDocsUrls(int numeroFrom)
{
if (ConfigurationManager.AppSettings["debugMode"] == "true")
{
logger.Info("Inizio getNewDocsUrls");
}
// ipotesi: si caricano maxDocsToUpload documenti alal volta (e quindi altrettanti clienti)
int maxDocsToUpload = Convert.ToInt32(ConfigurationManager.AppSettings["maxDocsToUpload"]);
string[] answ = new string[maxDocsToUpload * 2]; // 2 stringhe, una x doc e 1 x cliente x ogni invio...
string[] rDoc = new string[20];
string[] rCli = new string[12];
string comandoDoc;
// qui va fatto ciclo x spazzare 1 ad 1 i docuemnti ed i relativi clienti
if (false)
{ // query in formato ACCESS 2010
comandoDoc = string.Format(@"SELECT TOP {0}
TESDOCUM.TIPOPROTOC, TESDOCUM.NUMERO, TESDOCUM.ESERPROTOC,
TESDOCUM.NUMEPROTOC, TESDOCUM.DATAPROTOC, TESDOCUM.ESERRIFERI,
TESDOCUM.NUMERIFERI, TESDOCUM.TIPORIFERI, TESDOCUM.DATARIFERI,
TESDOCUM.NUMEDOCRIF, TESDOCUM.DATADOCRIF, TESDOCUM.ESERCOLLEG,
TESDOCUM.CLI_FOR, TESDOCUM.DESTINATAR, TESDOCUM.RGSOC_DEST,
TESDOCUM.INDIR_DEST, TESDOCUM.LOCAL_DEST, TESDOCUM.CAP_DEST,
TESDOCUM.ULT_AGG, TESDOCUM.ANNOTAZION
FROM TESDOCUM
WHERE (CLng(TESDOCUM.NUMERO) > ({1}))
AND (TESDOCUM.TIPOPROTOC IN ('OC', 'DC'))
ORDER BY TESDOCUM.NUMERO
",
maxDocsToUpload, numeroFrom);
}
else
{ // query in formato DB2
comandoDoc = string.Format(@"SELECT
TESDOCUM.TIPOPROTOC, TESDOCUM.NUMERO, TESDOCUM.ESERPROTOC,
TESDOCUM.NUMEPROTOC, TESDOCUM.DATAPROTOC, TESDOCUM.ESERRIFERI,
TESDOCUM.NUMERIFERI, TESDOCUM.TIPORIFERI, TESDOCUM.DATARIFERI,
TESDOCUM.NUMEDOCRIF, TESDOCUM.DATADOCRIF, TESDOCUM.ESERCOLLEG,
TESDOCUM.CLI_FOR, TESDOCUM.DESTINATAR, TESDOCUM.RGSOC_DEST,
TESDOCUM.INDIR_DEST, TESDOCUM.LOCAL_DEST, TESDOCUM.CAP_DEST,
TESDOCUM.ULT_AGG, TESDOCUM.ANNOTAZION
FROM TESDOCUM
WHERE (INT(TESDOCUM.NUMERO) > ({1}))
AND (TESDOCUM.TIPOPROTOC IN ('OC', 'DC'))
ORDER BY TESDOCUM.NUMERO
FETCH FIRST {0} ROWS ONLY
",
maxDocsToUpload, numeroFrom);
}
// try/catch x db e ciclo su dati...
try
{
conn.Open();
if (ConfigurationManager.AppSettings["debugMode"] == "true")
{
logger.Info("Aperta connessione ODBC");
}
// dati documento
int num = 0;
using (OdbcCommand com = new OdbcCommand(comandoDoc, conn))
{
using (OdbcDataReader reader = com.ExecuteReader())
{
while (reader.Read())
{
for (int i = 0; i < 20; i++)
{
try
{
rDoc[i] = reader.GetString(i).Trim().Replace(" ", "+");
}
catch
{
rDoc[i] = "";
}
}
//if (ConfigurationManager.AppSettings["debugMode"] == "true")
//{
// logger.Info("Completata lettura ODBC x DOC");
//}
// il campo 12 è il cod cliente!
rCli[0] = rDoc[12];
// cellulare e email trovati in USRCLIFO, relazionato su CODSIGLA
string comandoCli = string.Format(@"SELECT CLIFO.CODICE, CLIFO.RAGIONESOC, CLIFO.COFI,
CLIFO.TEL, USRCLIFO.CELNM AS CELL,
CASE WHEN USRCLIFO.CELNM <> ' ' THEN 1 ELSE 0 END AS ENABLE_SMS,
USRCLIFO.E_MAILL AS EMAIL,
CLIFO.INDIR1, CLIFO.CAP, CLIFO.LOCALITA,
CLIFO.PROVINCIA, '' AS NoteCli
FROM CLIFO INNER JOIN USRCLIFO
ON CLIFO.CODICE = USRCLIFO.CODSIGLA
WHERE CLIFO.TIPO='C'
AND CLIFO.CODICE = '{0}'",
rCli[0]);
try
{
using (OdbcCommand comCli = new OdbcCommand(comandoCli, conn))
{
using (OdbcDataReader readerCli = comCli.ExecuteReader())
{
while (readerCli.Read())
{
for (int j = 0; j < 12; j++)
{
try
{
rCli[j] = readerCli.GetString(j).Trim().Replace(" ", "+");
}
catch
{
rCli[j] = "";
}
}
}
}
}
//if (ConfigurationManager.AppSettings["debugMode"] == "true")
//{
// logger.Info("Completata lettura ODBC x CLI");
//}
// formatto answ... prima CLI poi DOCS...
answ[num++] = createUrlCli(rCli);
answ[num++] = createUrlDoc(rDoc);
}
catch (Exception ex)
{
logger.Error("Eccezione in comandoCli{0}Comando: {1}{0}{2}", Environment.NewLine, comandoCli, ex);
}
}
}
}
}
catch (Exception ex)
{
logger.Error("Eccezione{0}Comando: {1}{0}{2}", Environment.NewLine, comandoDoc, ex);
}
finally
{
conn.Close();
}
if (ConfigurationManager.AppSettings["debugMode"] == "true")
{
logger.Info("Chiusura connessione ODBC");
}
// end ciclo, resituisco tutti i records
return answ;
}
/// <summary>
/// restituisce un array di stringhe URL da chiamare per caricare i dati documento / cliente
/// </summary>
/// <param name="CodDoc">Codice documento richiesto</param>
/// <param name="Anno">Anno documento richiesto</param>
/// <returns></returns>
public string[] getDocsUrls(string CodDoc, string Anno)
{
string[] answ = new string[2]; // 2 stringhe, una x doc e 1 x cliente x ogni invio...
// per ogni record trovato compongo un record DOCS ed uno CLI
string[] rDoc = new string[20];
string[] rCli = new string[12];
// effettuo chaimata ODBC e recupero dati
try
{
conn.Open();
string tipoDoc = CodDoc.Substring(0, 2);
string NumDoc = CodDoc.Replace(tipoDoc, "");
// questa è la vera stringa SQL
string comandoDoc = string.Format(@"SELECT TESDOCUM.TIPOPROTOC, TESDOCUM.NUMERO, TESDOCUM.ESERPROTOC,
TESDOCUM.NUMEPROTOC, TESDOCUM.DATAPROTOC, TESDOCUM.ESERRIFERI,
TESDOCUM.NUMERIFERI, TESDOCUM.TIPORIFERI, TESDOCUM.DATARIFERI,
TESDOCUM.NUMEDOCRIF, TESDOCUM.DATADOCRIF, TESDOCUM.ESERCOLLEG,
TESDOCUM.CLI_FOR, TESDOCUM.DESTINATAR, TESDOCUM.RGSOC_DEST,
TESDOCUM.INDIR_DEST, TESDOCUM.LOCAL_DEST, TESDOCUM.CAP_DEST,
TESDOCUM.ULT_AGG, TESDOCUM.ANNOTAZION
FROM TESDOCUM
WHERE TESDOCUM.TIPOPROTOC='{0}'
AND TESDOCUM.NUMEPROTOC ='{1}'
AND TESDOCUM.ESERPROTOC ='{2}';",
tipoDoc, NumDoc, Anno);
// dati documento
using (OdbcCommand com = new OdbcCommand(comandoDoc, conn))
{
using (OdbcDataReader reader = com.ExecuteReader())
{
while (reader.Read())
{
for (int i = 0; i < 20; i++)
{
try
{
rDoc[i] = reader.GetString(i).Trim().Replace(" ", "+");
}
catch
{
rDoc[i] = "";
}
}
// il campo 12 è il cod cliente!
rCli[0] = rDoc[12];
}
}
}
// cellulare e email trovati in USRCLIFO, relazionato su CODSIGLA
string comandoCli = string.Format(@"SELECT CLIFO.CODICE, CLIFO.RAGIONESOC, CLIFO.COFI,
CLIFO.TEL, USRCLIFO.CELNM AS CELL,
CASE WHEN USRCLIFO.CELNM <> ' ' THEN 1 ELSE 0 END AS ENABLE_SMS,
USRCLIFO.E_MAILL AS EMAIL,
CLIFO.INDIR1, CLIFO.CAP, CLIFO.LOCALITA,
CLIFO.PROVINCIA, '' AS NoteCli
FROM CLIFO INNER JOIN USRCLIFO
ON CLIFO.CODICE = USRCLIFO.CODSIGLA
WHERE CLIFO.TIPO='C'
AND CLIFO.CODICE = '{0}';",
rCli[0]);
using (OdbcCommand comCli = new OdbcCommand(comandoCli, conn))
{
using (OdbcDataReader readerCli = comCli.ExecuteReader())
{
while (readerCli.Read())
{
for (int i = 0; i < 12; i++)
{
try
{
rCli[i] = readerCli.GetString(i).Trim().Replace(" ", "+");
}
catch
{
rCli[i] = "";
}
}
}
}
}
// formatto answ... prima CLI poi doc...
answ[0] = createUrlCli(rCli);
answ[1] = createUrlDoc(rDoc);
}
catch (Exception ex)
{
logger.Error("Eccezione{0}{1}", Environment.NewLine, ex);
}
finally
{
conn.Close();
}
return answ;
}
/// <summary>
/// crea url formattato x upload DOC
/// </summary>
/// <param name="rDoc"></param>
/// <returns></returns>
protected string createUrlDoc(string[] rDoc)
{
string answ = "";
try
{
answ = string.Format(@"{0}?TIPOPROTOC={1}&NUMERO={2}&ESERPROTOC={3}&NUMEPROTOC={4}&DATAPROTOC={5}&ESERRIFERI={6}&NUMERIFERI={7}&TIPORIFERI={8}&DATARIFERI={9}&NUMEDOCRIF={10}&DATADOCRIF={11}&ESERCOLLEG={12}&CLI_FOR={13}&DESTINATAR={14}&RGSOC_DEST={15}&INDIR_DEST={16}&LOCAL_DEST={17}&CAP_DEST={18}&ULT_AGG={19}&ANNOTAZION={20}", ConfigurationManager.AppSettings["remoteDocUrl"], rDoc[0], rDoc[1], rDoc[2], rDoc[3], rDoc[4], rDoc[5], rDoc[6], rDoc[7], rDoc[8], rDoc[9], rDoc[10], rDoc[11], rDoc[12], rDoc[13], rDoc[14], rDoc[15], rDoc[16], rDoc[17], rDoc[18], rDoc[19]);
}
catch (Exception exc)
{
logger.Error("Eccezione in createUrlDoc{0}{1}", Environment.NewLine, exc);
}
return answ;
}
/// <summary>
/// crea url formattato x upload CLI
/// </summary>
/// <param name="rCli"></param>
/// <returns></returns>
protected string createUrlCli(string[] rCli)
{
string answ = "";
try
{
answ = string.Format("{0}?CodCliente={1}&RagSoc={2}&CodFis={3}&Tel={4}&Cell={5}&EnableSMS={6}&Email={7}&Indir={8}&Cap={9}&Localita={10}&Prov={11}&Note={12}", ConfigurationManager.AppSettings["remoteCliUrl"], rCli[0], rCli[1], rCli[2], rCli[3], rCli[4], rCli[5], rCli[6], rCli[7], rCli[8], rCli[9], rCli[10], rCli[11]);
}
catch (Exception exc)
{
logger.Error("Eccezione in createUrlCli{0}{1}", Environment.NewLine, exc);
}
return answ;
}
}
}
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<!-- file target -->
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${message}" archiveEvery="Day" />
<!--viewer interattivo sentinel... http://sentinel.codeplex.com/-->
<target xsi:type="NLogViewer" name="sentinel" address="udp://127.0.0.1:9999"/>
<!--
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
-->
</targets>
<rules>
<!-- logging rules -->
<logger name="*" minlevel="Trace" writeTo="f" />
<!--<logger name="*" minlevel="Trace" writeTo="sentinel" />-->
</rules>
</nlog>
@@ -126,6 +126,11 @@
<xs:documentation>Ignore further rules if this one matches.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enabled" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation>Enable or disable logging rule. Disabled rules are ignored.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="NLogFilters">
<xs:choice minOccurs="0" maxOccurs="unbounded">
@@ -147,6 +152,15 @@
<xs:enumeration value="Fatal" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LineEndingMode">
<xs:restriction base="xs:string">
<xs:enumeration value="Default" />
<xs:enumeration value="CRLF" />
<xs:enumeration value="CR" />
<xs:enumeration value="LF" />
<xs:enumeration value="None" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NLogLevelList">
<xs:restriction base="xs:string">
<xs:pattern value="(|Trace|Debug|Info|Warn|Error|Fatal)(,(Trace|Debug|Info|Warn|Error|Fatal))*" />
@@ -226,58 +240,6 @@
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="AspNetBufferingWrapper">
<xs:complexContent>
<xs:extension base="WrapperTargetBase">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="bufferGrowLimit" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="bufferSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="growBufferAsNeeded" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="bufferGrowLimit" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of log events that the buffer can keep.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="bufferSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of log events to be buffered.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="growBufferAsNeeded" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether buffer should grow as needed.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AspNetTrace">
<xs:complexContent>
<xs:extension base="Target">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout used to format log messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AspResponse">
<xs:complexContent>
<xs:extension base="Target">
@@ -540,6 +502,7 @@
<xs:element name="useDefaultRowHighlightingRules" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="highlight-row" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.ConsoleRowHighlightingRule" />
<xs:element name="highlight-word" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.ConsoleWordHighlightingRule" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="errorStream" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -567,6 +530,11 @@
<xs:documentation>Indicates whether to use default row highlighting rules.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="encoding" type="xs:string">
<xs:annotation>
<xs:documentation>The encoding for writing messages to the .</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="errorStream" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).</xs:documentation>
@@ -667,6 +635,7 @@
<xs:element name="header" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="footer" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="error" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -693,6 +662,11 @@
<xs:documentation>Indicates whether to send the log messages to the standard error instead of the standard output.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="encoding" type="xs:string">
<xs:annotation>
<xs:documentation>The encoding for writing messages to the .</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -709,7 +683,6 @@
<xs:element name="dbProvider" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="dbUserName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="useTransactions" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="installConnectionString" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="install-command" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseCommandInfo" />
<xs:element name="uninstall-command" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseCommandInfo" />
@@ -762,11 +735,6 @@
<xs:documentation>Indicates whether to keep the database connection open between the log events.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="useTransactions" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to use database transactions. Some data providers require this.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="installConnectionString" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.</xs:documentation>
@@ -917,7 +885,8 @@
<xs:element name="eventId" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="log" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="machineName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="source" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="source" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="entryType" minOccurs="0" maxOccurs="1" type="Layout" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -949,11 +918,16 @@
<xs:documentation>Name of the machine on which Event Log service is running.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="source" type="xs:string">
<xs:attribute name="source" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Value to be used as the event Source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="entryType" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Optional entrytype. When not set, or when not convertable to then determined by </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -986,30 +960,32 @@
<xs:element name="header" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="footer" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="lineEnding" minOccurs="0" maxOccurs="1" type="NLog.Targets.LineEndingMode" />
<xs:element name="lineEnding" minOccurs="0" maxOccurs="1" type="LineEndingMode" />
<xs:element name="maxArchiveFiles" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="archiveNumbering" minOccurs="0" maxOccurs="1" type="NLog.Targets.ArchiveNumberingMode" />
<xs:element name="archiveFileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="archiveEvery" minOccurs="0" maxOccurs="1" type="NLog.Targets.FileArchivePeriod" />
<xs:element name="archiveAboveSize" minOccurs="0" maxOccurs="1" type="xs:long" />
<xs:element name="maxArchiveFiles" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="enableArchiveFileCompression" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="forceManaged" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileAttributes" minOccurs="0" maxOccurs="1" type="NLog.Targets.Win32FileAttributes" />
<xs:element name="replaceFileContentsOnEachWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="deleteOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="archiveDateFormat" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="archiveOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="createDirs" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="deleteOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="enableFileDelete" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="openFileCacheTimeout" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="networkWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxLogFilenames" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepFileOpen" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWriteAttempts" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="concurrentWriteAttemptDelay" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="bufferSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="openFileCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="openFileCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="bufferSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -1036,11 +1012,16 @@
<xs:documentation>File encoding.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="lineEnding" type="NLog.Targets.LineEndingMode">
<xs:attribute name="lineEnding" type="LineEndingMode">
<xs:annotation>
<xs:documentation>Line ending mode.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxArchiveFiles" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of archive files that should be kept.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveNumbering" type="NLog.Targets.ArchiveNumberingMode">
<xs:annotation>
<xs:documentation>Way file archives are numbered.</xs:documentation>
@@ -1061,9 +1042,9 @@
<xs:documentation>Size in bytes above which log files will be automatically archived.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxArchiveFiles" type="xs:integer">
<xs:attribute name="enableArchiveFileCompression" type="xs:boolean">
<xs:annotation>
<xs:documentation>Maximum number of archive files that should be kept.</xs:documentation>
<xs:documentation>Indicates whether to compress archive files into the zip archive format.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="forceManaged" type="xs:boolean">
@@ -1081,11 +1062,6 @@
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deleteOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to delete old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileName" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Name of the file to write to.</xs:documentation>
@@ -1103,7 +1079,12 @@
</xs:attribute>
<xs:attribute name="createDirs" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to create directories if they don't exist.</xs:documentation>
<xs:documentation>Indicates whether to create directories if they do not exist.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deleteOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to delete old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableFileDelete" type="xs:boolean">
@@ -1121,6 +1102,11 @@
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on different network hosts.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxLogFilenames" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of log filenames that should be stored as existing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepFileOpen" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep log file open instead of opening and closing it on each logging event.</xs:documentation>
@@ -1141,9 +1127,9 @@
<xs:documentation>Delay in milliseconds to wait before attempting to write to the file again.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="bufferSize" type="xs:integer">
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:annotation>
<xs:documentation>Log file buffer size in bytes.</xs:documentation>
<xs:documentation>Indicates whether to automatically flush the file buffers after each log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="openFileCacheSize" type="xs:integer">
@@ -1151,23 +1137,14 @@
<xs:documentation>Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:attribute name="bufferSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Indicates whether to automatically flush the file buffers after each log message.</xs:documentation>
<xs:documentation>Log file buffer size in bytes.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="NLog.Targets.LineEndingMode">
<xs:restriction base="xs:string">
<xs:enumeration value="Default" />
<xs:enumeration value="CRLF" />
<xs:enumeration value="CR" />
<xs:enumeration value="LF" />
<xs:enumeration value="None" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NLog.Targets.ArchiveNumberingMode">
<xs:restriction base="xs:string">
<xs:enumeration value="Sequence" />
@@ -1226,50 +1203,6 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="FormControl">
<xs:complexContent>
<xs:extension base="Target">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="append" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="controlName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="formName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="reverseOrder" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout used to format log messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="append" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether log text should be appended to the text of the control instead of overwriting it.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="controlName" type="xs:string">
<xs:annotation>
<xs:documentation>Name of control to which NLog will log write log text.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="formName" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the Form on which the control is located.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="reverseOrder" type="xs:boolean">
<xs:annotation>
<xs:documentation>Whether new log entry are added to the start or the end of the control</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ImpersonatingWrapper">
<xs:complexContent>
<xs:extension base="WrapperTargetBase">
@@ -1356,6 +1289,7 @@
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="endpointAddress" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="endpointConfigurationName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="useOneWayContract" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="clientId" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="includeEventProperties" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.MethodCallParameter" />
@@ -1376,6 +1310,11 @@
<xs:documentation>Name of the endpoint configuration in WCF configuration file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="useOneWayContract" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="clientId" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Client ID.</xs:documentation>
@@ -1402,7 +1341,7 @@
</xs:choice>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout that should be use to calcuate the value for the parameter.</xs:documentation>
<xs:documentation>Layout that should be use to calculate the value for the parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string">
@@ -1589,32 +1528,6 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="MessageBox">
<xs:complexContent>
<xs:extension base="Target">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="caption" minOccurs="0" maxOccurs="1" type="Layout" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout used to format log messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="caption" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Message box title.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="MSMQ">
<xs:complexContent>
<xs:extension base="Target">
@@ -2108,165 +2021,6 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RichTextBox">
<xs:complexContent>
<xs:extension base="Target">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="autoScroll" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="controlName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="formName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="height" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxLines" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="showMinimized" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="toolWindow" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="width" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="row-coloring" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.RichTextBoxRowColoringRule" />
<xs:element name="useDefaultRowColoringRules" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="word-coloring" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.RichTextBoxWordColoringRule" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout used to format log messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoScroll" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether scroll bar will be moved automatically to show most recent log entries.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="controlName" type="xs:string">
<xs:annotation>
<xs:documentation>Name of RichTextBox to which Nlog will write.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="formName" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the Form on which the control is located. If there is no open form of a specified name than NLog will create a new one.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="height" type="xs:integer">
<xs:annotation>
<xs:documentation>Initial height of the form with rich text box.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxLines" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of lines the rich text box will store (or 0 to disable this feature).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="showMinimized" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether the created form will be initially minimized.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="toolWindow" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether the created window will be a tool window.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="width" type="xs:integer">
<xs:annotation>
<xs:documentation>Initial width of the form with rich text box.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="useDefaultRowColoringRules" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to use default coloring rules.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="System.Drawing.FontStyle">
<xs:restriction base="xs:string">
<xs:enumeration value="Regular" />
<xs:enumeration value="Bold" />
<xs:enumeration value="Italic" />
<xs:enumeration value="Underline" />
<xs:enumeration value="Strikeout" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="NLog.Targets.RichTextBoxRowColoringRule">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="condition" minOccurs="0" maxOccurs="1" type="Condition" />
<xs:element name="backgroundColor" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="fontColor" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="style" minOccurs="0" maxOccurs="1" type="System.Drawing.FontStyle" />
</xs:choice>
<xs:attribute name="condition" type="Condition">
<xs:annotation>
<xs:documentation>Condition that must be met in order to set the specified font color.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="backgroundColor" type="xs:string">
<xs:annotation>
<xs:documentation>Background color.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fontColor" type="xs:string">
<xs:annotation>
<xs:documentation>Font color.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="style" type="System.Drawing.FontStyle">
<xs:annotation>
<xs:documentation>Font style of matched text.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="NLog.Targets.RichTextBoxWordColoringRule">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="ignoreCase" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="regex" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="text" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="wholeWords" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="backgroundColor" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="fontColor" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="style" minOccurs="0" maxOccurs="1" type="System.Drawing.FontStyle" />
</xs:choice>
<xs:attribute name="ignoreCase" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to ignore case when comparing texts.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="regex" type="xs:string">
<xs:annotation>
<xs:documentation>Regular expression to be matched. You must specify either text or regex.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="text" type="xs:string">
<xs:annotation>
<xs:documentation>Text to be matched. You must specify either text or regex.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="wholeWords" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to match whole words only.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="backgroundColor" type="xs:string">
<xs:annotation>
<xs:documentation>Background color. Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fontColor" type="xs:string">
<xs:annotation>
<xs:documentation>Font color. Names are identical with KnownColor enum extended with Empty value which means that font color won't be changed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="style" type="System.Drawing.FontStyle">
<xs:annotation>
<xs:documentation>Font style of matched text. Possible values are the same as in FontStyle enum in System.Drawing.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="RoundRobinGroup">
<xs:complexContent>
<xs:extension base="CompoundTargetBase">
@@ -2320,6 +2074,7 @@
<xs:extension base="Target">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="includeBOM" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.MethodCallParameter" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="methodName" minOccurs="0" maxOccurs="1" type="xs:string" />
@@ -2332,6 +2087,11 @@
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeBOM" type="xs:boolean">
<xs:annotation>
<xs:documentation>Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="encoding" type="xs:string">
<xs:annotation>
<xs:documentation>Encoding.</xs:documentation>
@@ -2339,12 +2099,12 @@
</xs:attribute>
<xs:attribute name="methodName" type="xs:string">
<xs:annotation>
<xs:documentation>Web service method name.</xs:documentation>
<xs:documentation>Web service method name. Only used with Soap.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="namespace" type="xs:string">
<xs:annotation>
<xs:documentation>Web service namespace.</xs:documentation>
<xs:documentation>Web service namespace. Only used with Soap.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="protocol" type="NLog.Targets.WebServiceProtocol">
@@ -2459,6 +2219,31 @@
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="JsonLayout">
<xs:complexContent>
<xs:extension base="Layout">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="attribute" minOccurs="0" maxOccurs="unbounded" type="NLog.Layouts.JsonAttribute" />
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NLog.Layouts.JsonAttribute">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:choice>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout that will be rendered as the attribute's value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="LayoutWithHeaderAndFooter">
<xs:complexContent>
<xs:extension base="Layout">
+35
View File
@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("DataUploader")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DataUploader")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("adeaea23-a27d-45ed-8fd3-1d60223f72a8")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>C:\Users\samuele\Documents\Visual Studio 2012\Projects\WebSCR\ReleaseClienti\DataUploader</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<_PublishTargetUrl>C:\Users\samuele\Documents\Visual Studio 2012\Projects\WebSCR\ReleaseClienti\DataUploader</_PublishTargetUrl>
</PropertyGroup>
<ItemGroup>
<File Include="bin/DataUploader.dll">
<publishTime>06/16/2015 11:58:10</publishTime>
</File>
<File Include="bin/NLog.config">
<publishTime>06/15/2015 12:03:55</publishTime>
</File>
<File Include="bin/NLog.dll">
<publishTime>06/15/2015 10:39:48</publishTime>
</File>
<File Include="bin/NLog.Web.dll">
<publishTime>06/15/2015 10:39:49</publishTime>
</File>
<File Include="Default.aspx">
<publishTime>06/15/2015 11:25:20</publishTime>
</File>
<File Include="DemoPage.aspx">
<publishTime>05/25/2015 12:10:22</publishTime>
</File>
<File Include="favicon.ico">
<publishTime>06/15/2015 12:06:07</publishTime>
</File>
<File Include="FullSync.aspx">
<publishTime>05/25/2015 10:29:04</publishTime>
</File>
<File Include="images/LogoSteamware.png">
<publishTime>06/15/2015 11:23:06</publishTime>
</File>
<File Include="logs/PlaceHolder.file">
<publishTime>06/15/2015 12:04:56</publishTime>
</File>
<File Include="packages.config">
<publishTime>06/15/2015 10:39:50</publishTime>
</File>
<File Include="SyncDoc.aspx">
<publishTime>06/15/2015 12:00:13</publishTime>
</File>
<File Include="Web.config">
<publishTime>06/16/2015 11:58:10</publishTime>
</File>
</ItemGroup>
</Project>
+24
View File
@@ -0,0 +1,24 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SyncDoc.aspx.cs" Inherits="DataUploader.SyncDoc" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>SyncDoc</h1>
<%--Modalità chiamata: è SEMPRE necessario nell'URL il numero del documento e l'anno! ?DOC=OC0001616&Anno=2015
<ul>
<li>Senza parametri: effettua tutte le chiamate remote</li>
<li>Con aggiunto il parametro "?DemoMode=true" nell'url --> NON viene chiamata (per ogni record) la pagina remota ma viene mostrato l'elenco delle chiamate che SI SAREBBERO EFFETTUATE</li>
</ul>
<hr />
<h2>OUTPUT</h2>--%>
<asp:Label runat="server" ID="lblOut" />
</div>
</form>
</body>
</html>
+74
View File
@@ -0,0 +1,74 @@
using NLog;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DataUploader
{
public partial class SyncDoc : System.Web.UI.Page
{
private static Logger logger = LogManager.GetCurrentClassLogger();
protected void Page_Load(object sender, EventArgs e)
{
DateTime tick = DateTime.Now;
using (var client = new WebClient())
{
client.Proxy = null;
ServicePointManager.DefaultConnectionLimit = int.MaxValue;
// verifico se vado in modalità demo o meno...
bool demoMode = false;
string DOC = "";
string Anno = "";
try
{
demoMode = Convert.ToBoolean(Request.QueryString["DemoMode"]);
DOC = Request.QueryString["DOC"];
Anno = Request.QueryString["Anno"];
}
catch
{ }
// recupero numero doc da cod documento + anno...
if (DOC != "" && Anno != "")
{
// recupero i dati da caricare...
string[] urlsUpdate = GestData.proc.getDocsUrls(DOC, Anno);
if (demoMode)
{
lblOut.Text = string.Format("DEMO MODE!<br/>DOC: {0}/{1}", DOC, Anno);
for (int i = 0; i < urlsUpdate.Length; i++)
{
lblOut.Text += string.Format("<br/>{0:000}) {1}", i + 1, urlsUpdate[i]);
}
logger.Info("Effettuato DEMO upload singolo documento: durata {0} msec", DateTime.Now.Subtract(tick).TotalMilliseconds);
}
else
{
lblOut.Text = string.Format("Dati caricati!<br/>DOC: {0}/{1}", DOC, Anno);
for (int i = 0; i < urlsUpdate.Length; i++)
{
try
{
var content = client.DownloadString(urlsUpdate[i]);
if (ConfigurationManager.AppSettings["debugMode"] == "true")
{
logger.Info("Chiamata, esito {0}{1}{2}{1}", content, Environment.NewLine, urlsUpdate[i]);
}
}
catch
{ }
}
logger.Info("Effettuato upload singolo documento: durata {0} msec", DateTime.Now.Subtract(tick).TotalMilliseconds);
}
}
}
}
}
}
+33
View File
@@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace DataUploader {
public partial class SyncDoc {
/// <summary>
/// form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblOut control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOut;
}
}
+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your web.config file.
Note that because there is only one customErrors section under the
<system.web> node, there is no need to use the "xdt:Locator" attribute.
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your web.config file.
Note that because there is only one customErrors section under the
<system.web> node, there is no need to use the "xdt:Locator" attribute.
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!--parametri base-->
<add key="maxDocsToUpload" value="2" />
<add key="remoteDocUrl" value="http://webscr.steamware.net/Rigamonti/Upload/Document" />
<add key="remoteCliUrl" value="http://webscr.steamware.net/Rigamonti/Upload/Client" />
<add key="debugMode" value="false" />
<!--connessione su un MDB di cui esiste un DSN-->
<!--<add key="connString" value="Dsn=DB_Sigla32;Initial Catalog=TESDOCUM;" />-->
<!--funziona se esiste un DSN DITTA1-->
<!--<add key="connString" value="Dsn=DITTA1;Uid=DB2;Pwd=ccL21x$1wow;Initial Catalog=TESDOCUM;" />-->
<!--funziona anche senza DSN esistente-->
<add key="connString" value="Driver={IBM DB2 ODBC DRIVER};DataBase=DITTA1; HostName=RigaSRV02; Protocol=TCPIP;Port=50000;Uid=DB2;Pwd=ccL21x$1wow" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Binary file not shown.
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!--parametri base-->
<add key="maxDocsToUpload" value="2" />
<add key="remoteDocUrl" value="http://webscr.steamware.net/Rigamonti/Upload/Document" />
<add key="remoteCliUrl" value="http://webscr.steamware.net/Rigamonti/Upload/Client" />
<add key="debugMode" value="false" />
<!--connessione su un MDB di cui esiste un DSN-->
<!--<add key="connString" value="Dsn=DB_Sigla32;Initial Catalog=TESDOCUM;" />-->
<!--funziona se esiste un DSN DITTA1-->
<!--<add key="connString" value="Dsn=DITTA1;Uid=DB2;Pwd=ccL21x$1wow;Initial Catalog=TESDOCUM;" />-->
<!--funziona anche senza DSN esistente-->
<add key="connString" value="Driver={IBM DB2 ODBC DRIVER};DataBase=DITTA1; HostName=RigaSRV02; Protocol=TCPIP;Port=50000;Uid=DB2;Pwd=ccL21x$1wow" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Binary file not shown.
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<!-- file target -->
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${message}" archiveEvery="Day" />
<!--viewer interattivo sentinel... http://sentinel.codeplex.com/-->
<target xsi:type="NLogViewer" name="sentinel" address="udp://127.0.0.1:9999"/>
<!--
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
-->
</targets>
<rules>
<!-- logging rules -->
<logger name="*" minlevel="Trace" writeTo="f" />
<!--<logger name="*" minlevel="Trace" writeTo="sentinel" />-->
</rules>
</nlog>
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

+45
View File
@@ -0,0 +1,45 @@
2015-06-15 13:35:16.3256 [ERROR] Eccezione
System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
in System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
in System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
in System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
in System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
in System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
in System.Data.Odbc.OdbcConnection.Open()
in DataUploader.GestData.getDocsUrls(String CodDoc, String Anno) in c:\Users\samuele\Documents\Visual Studio 2012\Projects\WebSCR\DataUploader\GestData.cs:riga 196
2015-06-15 13:35:16.3406 [INFO] Effettuato DEMO upload singolo documento: durata 98,0086 msec
2015-06-15 15:44:25.8976 [ERROR] Eccezione
System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
in System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
in System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
in System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
in System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
in System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
in System.Data.Odbc.OdbcConnection.Open()
in DataUploader.GestData.getDocsUrls(String CodDoc, String Anno) in c:\Users\samuele\Documents\Visual Studio 2012\Projects\WebSCR\DataUploader\GestData.cs:riga 220
2015-06-15 15:44:25.9126 [INFO] Effettuato DEMO upload singolo documento: durata 100,0064 msec
2015-06-15 16:20:55.5255 [ERROR] Eccezione
System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
in System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
in System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
in System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
in System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
in System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
in System.Data.Odbc.OdbcConnection.Open()
in DataUploader.GestData.getDocsUrls(String CodDoc, String Anno) in c:\Users\samuele\Documents\Visual Studio 2012\Projects\WebSCR\DataUploader\GestData.cs:riga 220
2015-06-15 16:20:55.5405 [INFO] Effettuato DEMO upload singolo documento: durata 115,0185 msec
+1
View File
@@ -0,0 +1 @@

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NLog" version="4.0.0" targetFramework="net45" />
<package id="NLog.Config" version="4.0.0" targetFramework="net45" />
<package id="NLog.Schema" version="4.0.0" targetFramework="net45" />
<package id="NLog.Web" version="2.0.0.0" targetFramework="net45" />
</packages>
Binary file not shown.
+30
View File
@@ -0,0 +1,30 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DataUploader.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<img src="images/LogoSteamware.png" alt="Steamware" style="float:right;" />
<h1>WebSCR DataUploader</h1>
<i>Pagina di riferimento per progetto upload dati da Sigla++ Trony Rigamonti a WebSCR@steamware</i>
<br />
<br />
<%--Per effettuare test utilizzare la <a href="DemoPage.aspx">Demo Page</a>
<br />--%>
Per l'uso in produzione / continuativo vanno richiamate
<ul>
<li>periodicamente la pagina di <b>FullSync</b></li>
<li>su richiesta utente la pagina di <b>SyncDoc</b></li>
</ul>
<div style="border-top: 1px solid #696969; text-align: right; margin-top: 40px;">
@2015-<%: DateTime.Now.Year %> Steamware
</div>
</div>
</form>
</body>
</html>
+47
View File
@@ -0,0 +1,47 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DemoPage.aspx.cs" Inherits="DataUploader.DemoPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>DemoPage</h1>
In questa pagina è riassunt la logica di chiamata delle altre pagine ed il funzionamento.
<br />
<hr />
<br />
<h2>FullSync</h2>
Questa è la pagina da chiamare periodicamente (esecuzione automatica?) in modo da effettuare il sync periodico dei dati da sigla ad online.
<br />
Il ciclo prevede i seguenti step:
<ul>
<li>Chiamata a sito remoto x avere codice dell'ultimo doc caricato (NUMERO univoco)</li>
<li>Chiamata a server DB2 locale x avere TUTTI i documenti "successivi"</li>
<li>Chiamata di invio dati per ogni documento non ancora caricato (e per ogni cliente per update)</li>
</ul>
il tutto viene fatto tramite la classe helper GestData
<br />
Demo: <a href="FullSync.aspx">FullSync.aspx</a>
<br />
<hr />
<br />
<h2>SyncDoc</h2>
Questa è la pagina da chiamare SU RICHIESTA UTENTE in modo da effettuare il sync PUNTUALE dei dati da sigla ad online per uno specifico documento.
<br />
Il ciclo prevede i seguenti step:
<ul>
<li>La pagina riceve un parametro del codice documento richiesto (TIPOPROTOC = OC/DC + NUMPROTOC incrementale annuale)</li>
<li>Chiamata a server DB2 locale x avere dati del documento</li>
<li>Chiamata di invio dati per documento e per il cliente correlato</li>
</ul>
il tutto viene fatto tramite la classe helper GestData
<br />
Demo: <a href="SyncDoc.aspx?DOC=OC0001616&Anno=2015">SyncDoc.aspx?DOC=OC0001616&Anno=2015</a>
</div>
</form>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FullSync.aspx.cs" Inherits="DataUploader.FullSync" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>FullSync</h1>
Modalità chiamata:
<ul>
<li>Senza parametri: effettua tutte le chiamate remote</li>
<li>Con aggiunto il parametro "?DemoMode=true" nell'url --> NON viene chiamata (per ogni record) la pagina remota ma viene mostrato l'elenco delle chiamate che SI SAREBBERO EFFETTUATE</li>
</ul>
<hr />
<h2>OUTPUT</h2>
<asp:Label runat="server" ID="lblOut" />
</div>
</form>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SyncDoc.aspx.cs" Inherits="DataUploader.SyncDoc" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>SyncDoc</h1>
<%--Modalità chiamata: è SEMPRE necessario nell'URL il numero del documento e l'anno! ?DOC=OC0001616&Anno=2015
<ul>
<li>Senza parametri: effettua tutte le chiamate remote</li>
<li>Con aggiunto il parametro "?DemoMode=true" nell'url --> NON viene chiamata (per ogni record) la pagina remota ma viene mostrato l'elenco delle chiamate che SI SAREBBERO EFFETTUATE</li>
</ul>
<hr />
<h2>OUTPUT</h2>--%>
<asp:Label runat="server" ID="lblOut" />
</div>
</form>
</body>
</html>
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!--parametri base-->
<add key="maxDocsToUpload" value="2" />
<add key="remoteDocUrl" value="http://webscr.steamware.net/Rigamonti/Upload/Document" />
<add key="remoteCliUrl" value="http://webscr.steamware.net/Rigamonti/Upload/Client" />
<add key="debugMode" value="false" />
<!--connessione su un MDB di cui esiste un DSN-->
<!--<add key="connString" value="Dsn=DB_Sigla32;Initial Catalog=TESDOCUM;" />-->
<!--funziona se esiste un DSN DITTA1-->
<!--<add key="connString" value="Dsn=DITTA1;Uid=DB2;Pwd=ccL21x$1wow;Initial Catalog=TESDOCUM;" />-->
<!--funziona anche senza DSN esistente-->
<add key="connString" value="Driver={IBM DB2 ODBC DRIVER};DataBase=DITTA1; HostName=RigaSRV02; Protocol=TCPIP;Port=50000;Uid=DB2;Pwd=ccL21x$1wow" />
</appSettings>
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<!-- file target -->
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${message}" archiveEvery="Day" />
<!--viewer interattivo sentinel... http://sentinel.codeplex.com/-->
<target xsi:type="NLogViewer" name="sentinel" address="udp://127.0.0.1:9999"/>
<!--
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
-->
</targets>
<rules>
<!-- logging rules -->
<logger name="*" minlevel="Trace" writeTo="f" />
<!--<logger name="*" minlevel="Trace" writeTo="sentinel" />-->
</rules>
</nlog>
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

@@ -0,0 +1 @@

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NLog" version="4.0.0" targetFramework="net45" />
<package id="NLog.Config" version="4.0.0" targetFramework="net45" />
<package id="NLog.Schema" version="4.0.0" targetFramework="net45" />
<package id="NLog.Web" version="2.0.0.0" targetFramework="net45" />
</packages>
+4 -4
View File
@@ -8,9 +8,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("VersGen")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
//[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("VersGen")]
[assembly: AssemblyCopyright("Copyright © 2015")]
//[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
+2 -2
View File
@@ -5,7 +5,7 @@
using System.Reflection;
[assembly: AssemblyVersion("0.1.001.15")]
[assembly: AssemblyFileVersion("0.1.001.15")]
[assembly: AssemblyVersion("1.3.041.153")]
[assembly: AssemblyFileVersion("1.3.041.153")]
[assembly: AssemblyCopyright("Steamware © 2015-2015")]
[assembly: AssemblyCompany("Steamware")]
+2 -2
View File
@@ -6,8 +6,8 @@
using System.Reflection;
[assembly: AssemblyVersion("0.1.001.<#= this.RevisionNumber #>")]
[assembly: AssemblyFileVersion("0.1.001.<#= this.RevisionNumber #>")]
[assembly: AssemblyVersion("1.3.041.<#= this.RevisionNumber #>")]
[assembly: AssemblyFileVersion("1.3.041.<#= this.RevisionNumber #>")]
[assembly: AssemblyCopyright("Steamware © 2015-<#= DateTime.Now.Year #>")]
[assembly: AssemblyCompany("Steamware")]
<#+
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,3 +3,8 @@ C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\bin\Debug\
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\obj\Debug\VersGen.csprojResolveAssemblyReference.cache
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\obj\Debug\VersGen.dll
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\obj\Debug\VersGen.pdb
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\bin\Debug\VersGen.dll
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\bin\Debug\VersGen.pdb
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\obj\Debug\VersGen.csprojResolveAssemblyReference.cache
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\obj\Debug\VersGen.dll
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\obj\Debug\VersGen.pdb
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\bin\Release\VersGen.dll
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\bin\Release\VersGen.pdb
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\obj\Release\VersGen.csprojResolveAssemblyReference.cache
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\obj\Release\VersGen.dll
C:\Users\samuele\documents\visual studio 2012\Projects\WebSCR\VersGen\obj\Release\VersGen.pdb
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\bin\Release\VersGen.dll
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\bin\Release\VersGen.pdb
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\obj\Release\VersGen.csprojResolveAssemblyReference.cache
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\obj\Release\VersGen.dll
C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2015\Projects\WebSCR\VersGen\obj\Release\VersGen.pdb
Binary file not shown.
+63 -3
View File
@@ -1,12 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebSC", "WebSCR\WebSC.csproj", "{3753524E-FD74-4896-A4EB-EEE1406F94CF}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebSCR", "WebSCR\WebSCR.csproj", "{3753524E-FD74-4896-A4EB-EEE1406F94CF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SteamWare", "..\SteamWareLibrary\SteamWare\SteamWare.csproj", "{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{88774E43-68A1-4E52-B692-493FEE0BA5C2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebSCR_data", "WebSCR_data\WebSCR_data.csproj", "{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataUploader", "DataUploader\DataUploader.csproj", "{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
218_SP|Any CPU = 218_SP|Any CPU
@@ -51,8 +55,8 @@ Global
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.SomaschiniUSA|Any CPU.Build.0 = Release|Any CPU
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.Steamware|Any CPU.ActiveCfg = Release|Any CPU
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.Steamware|Any CPU.Build.0 = Release|Any CPU
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.WinLab|Any CPU.ActiveCfg = Release|Any CPU
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.WinLab|Any CPU.Build.0 = Release|Any CPU
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.WinLab|Any CPU.ActiveCfg = WinLab|Any CPU
{3753524E-FD74-4896-A4EB-EEE1406F94CF}.WinLab|Any CPU.Build.0 = WinLab|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_SP|Any CPU.ActiveCfg = 218_SP|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_SP|Any CPU.Build.0 = 218_SP|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_test|Any CPU.ActiveCfg = 218_test|Any CPU
@@ -109,6 +113,62 @@ Global
{88774E43-68A1-4E52-B692-493FEE0BA5C2}.Steamware|Any CPU.Build.0 = Release|Any CPU
{88774E43-68A1-4E52-B692-493FEE0BA5C2}.WinLab|Any CPU.ActiveCfg = Release|Any CPU
{88774E43-68A1-4E52-B692-493FEE0BA5C2}.WinLab|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.218_SP|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.218_SP|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.218_test|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.218_test|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Alumat|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Alumat|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.DEMO|Any CPU.Build.0 = Debug|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.deploy|Any CPU.ActiveCfg = Debug|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.deploy|Any CPU.Build.0 = Debug|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.EQUA|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.EQUA|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.ETS|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.ETS|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.ETS-218|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.ETS-218|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.IIS02|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.IIS02|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Release|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.SomaschiniUSA|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.SomaschiniUSA|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Steamware|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.Steamware|Any CPU.Build.0 = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.WinLab|Any CPU.ActiveCfg = Release|Any CPU
{D2ED1B6F-171D-4A7F-B0D5-87942451B79D}.WinLab|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.218_SP|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.218_SP|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.218_test|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.218_test|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Alumat|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Alumat|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.DEMO|Any CPU.Build.0 = Debug|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.deploy|Any CPU.ActiveCfg = Debug|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.deploy|Any CPU.Build.0 = Debug|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.EQUA|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.EQUA|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.ETS|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.ETS|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.ETS-218|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.ETS-218|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.IIS02|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.IIS02|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Release|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.SomaschiniUSA|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.SomaschiniUSA|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Steamware|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.Steamware|Any CPU.Build.0 = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.WinLab|Any CPU.ActiveCfg = Release|Any CPU
{6A63FCE4-8388-4C62-9339-CCCF013C5D8A}.WinLab|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
BIN
View File
Binary file not shown.
+61
View File
@@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Optimization;
namespace WebSCR
{
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254726
public static void RegisterBundles(BundleCollection bundles)
{
#if false
bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include(
"~/Scripts/WebForms/WebForms.js",
"~/Scripts/WebForms/WebUIValidation.js",
"~/Scripts/WebForms/MenuStandards.js",
"~/Scripts/WebForms/Focus.js",
"~/Scripts/WebForms/GridView.js",
"~/Scripts/WebForms/DetailsView.js",
"~/Scripts/WebForms/TreeView.js",
"~/Scripts/WebForms/WebParts.js"));
bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
"~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js"));
// Use the Development version of Modernizr to develop with and learn from. Then, when youre
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
#endif
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jquerymobile").Include(
"~/Scripts/jquery.mobile-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jSteamware").Include(
"~/Scripts/jSteamware*"));
//bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
// "~/Scripts/jquery.unobtrusive*",
// "~/Scripts/jquery.validate*"));
// aggiungo bundle dinamico x less --> css
bundles.Add(new DynamicFolderBundle("less", "*.less"));
// aggiungo bundle dinamico x coffee --> jscript
//bundles.Add(new DynamicFolderBundle("coffee", "*.coffee"));
// abilito boundle "forzato"!
BundleTable.EnableOptimizations = true;
}
}
}
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<bundles version="1.0">
<styleBundle path="~/Content/css">
<include path="~/Content/Style.min.css" />
<include path="~/Content/font-awesome.min.css" />
</styleBundle>
<styleBundle path="~/Content/themes/base/css">
<include path="~/Content/WebSCR.min.css" />
<include path="~/Content/jquery.mobile-1.4.5.css" />
<include path="~/Content/jquery.mobile.icons-1.4.5.min.css" />
<!--<include path="~/Content/jquery.mobile.theme-1.4.5.min.css" />-->
<!--<include path="~/Content/Style.min.css" />-->
<!--<include path="~/Content/themes/base/jquery.ui.css" />
<include path="~/Content/themes/base/jquery.ui.accordion.css" />
<include path="~/Content/themes/base/jquery.ui.autocomplete.css" />
<include path="~/Content/themes/base/jquery.ui.base.css" />
<include path="~/Content/themes/base/jquery.ui.button.css" />
<include path="~/Content/themes/base/jquery.ui.core.css" />
<include path="~/Content/themes/base/jquery.ui.datepicker.css" />
<include path="~/Content/themes/base/jquery.ui.dialog.css" />
<include path="~/Content/themes/base/jquery.ui.menu.css" />
<include path="~/Content/themes/base/jquery.ui.progressbar.css" />
<include path="~/Content/themes/base/jquery.ui.resizable.css" />
<include path="~/Content/themes/base/jquery.ui.selectable.css" />
<include path="~/Content/themes/base/jquery.ui.slider.css" />
<include path="~/Content/themes/base/jquery.ui.spinner.css" />
<include path="~/Content/themes/base/jquery.ui.tabs.css" />
<include path="~/Content/themes/base/jquery.ui.theme.css" />
<include path="~/Content/themes/base/jquery.ui.tooltip.css" />-->
</styleBundle>
</bundles>
+10
View File
@@ -0,0 +1,10 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/JQMob.Master" AutoEventWireup="true" CodeBehind="Clienti.aspx.cs" Inherits="WebSCR.Clienti" %>
<%@ Register src="~/WebUserControls/mod_elencoClienti.ascx" tagname="mod_elencoClienti" tagprefix="uc1" %>
<%@ Register Src="~/WebUserControls/mod_DocIntCli.ascx" TagPrefix="uc1" TagName="mod_DocIntCli" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<uc1:mod_elencoClienti ID="mod_elencoClienti" runat="server" />
<uc1:mod_DocIntCli runat="server" id="mod_DocIntCli" />
</asp:Content>
+46
View File
@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebSCR
{
public partial class Clienti : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
mod_DocIntCli.Visible = false;
}
mod_elencoClienti.eh_selCliente += mod_elencoClienti_eh_selCliente;
mod_DocIntCli.eh_return += mod_DocIntCli_eh_return;
}
void mod_DocIntCli_eh_return(object sender, EventArgs e)
{
toggleControls();
}
/// <summary>
/// selezionato un cliente...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void mod_elencoClienti_eh_selCliente(object sender, EventArgs e)
{
toggleControls();
}
/// <summary>
/// effettua toggle su visibilità controlli
/// </summary>
private void toggleControls()
{
// la visibilità dell vista dett doc clienti è a questo punto come l'elenco clienti
mod_DocIntCli.Visible = mod_elencoClienti.Visible;
// cambio visibilità elenco clienti
mod_elencoClienti.Visible = !mod_elencoClienti.Visible;
}
}
}
+33
View File
@@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebSCR {
public partial class Clienti {
/// <summary>
/// mod_elencoClienti control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebSCR.WebUserControls.mod_elencoClienti mod_elencoClienti;
/// <summary>
/// mod_DocIntCli control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebSCR.WebUserControls.mod_DocIntCli mod_DocIntCli;
}
}
+98
View File
@@ -0,0 +1,98 @@
.baseRow {
background-color: #EFF3FB;
}
.altRow {
background-color: #FFF;
}
.editRow {
background-color: #2461bf;
}
.selectedRow {
background-color: #d1ddf1;
font-weight: 600;
color: #333333;
}
.headerRow {
background-color: #507cd1;
font-weight: 600;
color: white;
}
.footerRow {
background-color: #507cd1;
font-weight: 600;
color: white;
}
.pagerRow {
background-color: #2461bf;
color: white;
text-align: center;
margin: auto;
}
.text-center {
text-align: center;
margin: auto;
}
.tStrong {
font-weight: bold;
font-size: 1.3em;
}
.flRight {
float: right;
}
/* Query selezione dimensioni display... */
@media all and (min-width: 768px) {
#textWrapper {
font-size: 1.0em;
}
#headData {
margin-top: 0px;
}
}
@media all and (min-width: 1024px) {
#textWrapper {
font-size: 1.1em;
}
#headData {
margin-top: 0px;
}
}
@media all and (min-width: 1440px) {
#textWrapper {
font-size: 1.2em;
}
#headData {
margin-top: 0px;
}
}
@media all and (min-width: 1600px) {
#textWrapper {
font-size: 1.3em;
}
#headData {
margin-top: 0px;
}
}
@media all and (max-width: 767px) {
#textWrapper {
font-size: 0.8em;
}
#headData {
margin-top: 6px;
}
}
@media all and (max-width: 480px) {
#textWrapper {
font-size: 0.6em;
}
#headData {
margin-top: 14px;
}
}
@media all and (max-width: 320px) {
#textWrapper {
font-size: 0.5em;
}
#headData {
margin-top: 18px;
}
}
+131
View File
@@ -0,0 +1,131 @@
body {
}
@blu: #507CD1;
@bluChiaro: #D1DDF1;
@bluScuro: #2461BF;
@testoScuro: #333;
.baseRow {
background-color: #EFF3FB;
}
.altRow {
background-color: #FFF;
}
.editRow {
background-color: @bluScuro;
}
.selectedRow {
background-color: @bluChiaro;
font-weight: 600;
color: @testoScuro;
}
.headerRow {
background-color: @blu;
font-weight: 600;
color: white;
}
.footerRow {
background-color: @blu;
font-weight: 600;
color: white;
}
.pagerRow {
background-color: @bluScuro;
color: white;
text-align: center;
margin: auto;
}
.text-center {
text-align: center;
margin: auto;
}
.tStrong {
font-weight: bold;
font-size: 1.3em;
}
.flRight {
float: right;
}
/* Query selezione dimensioni display... */
@media all and (min-width: 768px) {
#textWrapper {
font-size: 1.0em;
}
#headData {
margin-top: 0px;
}
}
@media all and (min-width: 1024px) {
#textWrapper {
font-size: 1.1em;
}
#headData {
margin-top: 0px;
}
}
@media all and (min-width: 1440px) {
#textWrapper {
font-size: 1.2em;
}
#headData {
margin-top: 0px;
}
}
@media all and (min-width: 1600px) {
#textWrapper {
font-size: 1.3em;
}
#headData {
margin-top: 0px;
}
}
@media all and (max-width: 767px) {
#textWrapper {
font-size: 0.8em;
}
#headData {
margin-top: 6px;
}
}
@media all and (max-width: 480px) {
#textWrapper {
font-size: 0.6em;
}
#headData {
margin-top: 14px;
}
}
@media all and (max-width: 320px) {
#textWrapper {
font-size: 0.5em;
}
#headData {
margin-top: 18px;
}
}
+1
View File
@@ -0,0 +1 @@
.baseRow{background-color:#eff3fb}.altRow{background-color:#fff}.editRow{background-color:#2461bf}.selectedRow{background-color:#d1ddf1;font-weight:600;color:#333}.headerRow{background-color:#507cd1;font-weight:600;color:#fff}.footerRow{background-color:#507cd1;font-weight:600;color:#fff}.pagerRow{background-color:#2461bf;color:#fff;text-align:center;margin:auto}.text-center{text-align:center;margin:auto}.tStrong{font-weight:bold;font-size:1.3em}.flRight{float:right}@media all and (min-width:768px){#textWrapper{font-size:1em}#headData{margin-top:0}}@media all and (min-width:1024px){#textWrapper{font-size:1.1em}#headData{margin-top:0}}@media all and (min-width:1440px){#textWrapper{font-size:1.2em}#headData{margin-top:0}}@media all and (min-width:1600px){#textWrapper{font-size:1.3em}#headData{margin-top:0}}@media all and (max-width:767px){#textWrapper{font-size:.8em}#headData{margin-top:6px}}@media all and (max-width:480px){#textWrapper{font-size:.6em}#headData{margin-top:14px}}@media all and (max-width:320px){#textWrapper{font-size:.5em}#headData{margin-top:18px}}
+215
View File
@@ -0,0 +1,215 @@
.greenBox {
background-color: #c3ffc3;
border: 1px solid #00a400;
color: #333333;
}
.yellowBox {
background-color: #ffffb6;
border: 1px solid #b1b100;
color: #333333;
}
.orangeBox {
background-color: #ffa05b;
border: 1px solid #be5100;
color: #333333;
}
.redBox {
background-color: #ff9c9c;
border: 1px solid #cb0000;
color: #333333;
}
.grayBox {
background-color: #d6d6d6;
border: 1px solid #707070;
color: #333333;
}
.text-center {
text-align: center;
margin: auto;
}
.tStrong {
font-weight: bold;
font-size: 1.3em;
}
.flRight {
float: right;
}
.flLeft {
float: left;
}
/* calendar white */
.calendar_white_main {
border: 1px solid #999;
}
.calendar_white_scroll_up {
background: url(calendar_white/up.png);
}
.calendar_white_scroll_down {
background: url(calendar_white/down.png);
}
.calendar_white_rowheader_inner,
.calendar_white_cornerright_inner,
.calendar_white_corner_inner,
.calendar_white_colheader_inner,
.calendar_white_alldayheader_inner {
color: #666;
background: #eee;
background: -moz-linear-gradient(top, #eeeeee 0%, #dddddd);
background: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#eeeeee", endColorStr="#dddddd");
}
.calendar_white_cornerright_inner {
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-bottom: 1px solid #999;
}
.calendar_white_rowheader_inner {
font-size: 16pt;
text-align: right;
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_corner_inner {
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_rowheader_minutes {
font-size: 10px;
vertical-align: super;
padding-left: 2px;
padding-right: 2px;
}
.calendar_white_colheader_inner {
text-align: center;
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_cell_inner {
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background-color: #ffffff;
}
.calendar_white_alldayheader_inner {
text-align: center;
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_message {
opacity: 0.9;
filter: alpha(opacity=90);
padding: 10px;
color: #ffffff;
background: #ffa216;
background: -moz-linear-gradient(top, #ffa216 0%, #ff8400);
background: -webkit-gradient(linear, left top, left bottom, from(#ffa216), to(#ff8400));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffa216", endColorStr="#ff8400");
}
.calendar_white_alldayevent_inner,
.calendar_white_event_inner {
color: #666;
background: #fff;
background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee);
background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eeeeee));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");
border: 1px solid #999;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3), inset 0px 0px 2px rgba(255, 255, 255, 0.8);
-webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3), inset 0px 0px 2px rgba(255, 255, 255, 0.8);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3), inset 0px 0px 2px rgba(255, 255, 255, 0.8);
}
.calendar_white_selected .calendar_white_event_inner {
background: #ddd;
}
.calendar_white_alldayevent_inner {
position: absolute;
top: 2px;
bottom: 2px;
left: 2px;
right: 1px;
padding: 2px;
margin-right: 1px;
font-size: 12px;
}
.calendar_white_event_withheader .calendar_white_event_inner {
padding-top: 15px;
}
.calendar_white_event {
cursor: default;
}
.calendar_white_event_inner {
position: absolute;
overflow: hidden;
top: 0px;
bottom: 2px;
left: 2px;
right: 0px;
padding: 2px;
font-size: 9px;
}
.calendar_white_shadow_inner {
background-color: #666666;
opacity: 0.5;
filter: alpha(opacity=70);
height: 100%;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
/* divisione schermo */
.div_1_3 {
width: 33%;
}
.div_2_3 {
width: 66%;
}
.div_1_2 {
width: 50%;
}
.div_1_4 {
width: 25%;
}
.div_3_4 {
width: 75%;
}
.div_1_5 {
width: 20%;
}
.div_2_5 {
width: 40%;
}
.div_3_5 {
width: 60%;
}
.div_4_5 {
width: 80%;
}
+325
View File
@@ -0,0 +1,325 @@
body {
}
@rosso: #FF0000;
@rossoChiaro: #ff9c9c;
@rossoScuro: #cb0000;
@verde: #00FF00;
@verdeChiaro: #c3ffc3;
@verdeScuro: #00a400;
@giallo: #fffF00;
@gialloChiaro: #ffffb6;
@gialloScuro: #b1b100;
@arancio: #ff6a00;
@arancioChiaro: #ffa05b;
@arancioScuro: #be5100;
@grigio: #ACACAC;
@grigioChiaro: #d6d6d6;
@grigioScuro: #707070;
@testoScuro: #333;
.greenBox{
background-color: @verdeChiaro;
border: 1px solid @verdeScuro;
color: @testoScuro;
}
.yellowBox{
background-color: @gialloChiaro;
border: 1px solid @gialloScuro;
color: @testoScuro;
}
.orangeBox{
background-color: @arancioChiaro;
border: 1px solid @arancioScuro;
color: @testoScuro;
}
.redBox{
background-color: @rossoChiaro;
border: 1px solid @rossoScuro;
color: @testoScuro;
}
.grayBox{
background-color: @grigioChiaro;
border: 1px solid @grigioScuro;
color: @testoScuro;
}
.text-center {
text-align: center;
margin: auto;
}
.tStrong {
font-weight: bold;
font-size: 1.3em;
}
.flRight {
float: right;
}
.flLeft {
float: left;
}
/* calendar white */
.calendar_white_main
{
border: 1px solid #999;
}
.calendar_white_colheader
{
}
.calendar_white_scroll_up {
background: url(calendar_white/up.png);
}
.calendar_white_scroll_down {
background: url(calendar_white/down.png);
}
.calendar_white_rowheader_inner,
.calendar_white_cornerright_inner,
.calendar_white_corner_inner,
.calendar_white_colheader_inner,
.calendar_white_alldayheader_inner
{
color: #666;
background: #eee;
background: -moz-linear-gradient(
top,
#eee 0%,
#ddd);
background: -webkit-gradient(
linear, left top, left bottom,
from(#eee),
to(#ddd));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#eeeeee", endColorStr="#dddddd");
}
.calendar_white_cornerright_inner
{
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-bottom: 1px solid #999;
}
.calendar_white_rowheader_inner
{
font-size: 16pt;
text-align: right;
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_corner_inner
{
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_rowheader_minutes
{
font-size:10px;
vertical-align: super;
padding-left: 2px;
padding-right: 2px;
}
.calendar_white_colheader_inner
{
text-align: center;
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_cell_inner
{
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background-color: #ffffff;
}
.calendar_white_alldayheader_inner
{
text-align: center;
position: absolute;
top: 0px;
left: 0px;
bottom: 0px;
right: 0px;
border-right: 1px solid #999;
border-bottom: 1px solid #999;
}
.calendar_white_message
{
opacity: 0.9;
filter: alpha(opacity=90);
padding: 10px;
color: #ffffff;
background: #ffa216;
background: -moz-linear-gradient(
top,
#ffa216 0%,
#ff8400);
background: -webkit-gradient(
linear, left top, left bottom,
from(#ffa216),
to(#ff8400));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffa216", endColorStr="#ff8400");
}
.calendar_white_alldayevent_inner,
.calendar_white_event_inner
{
color: #666;
background: #fff;
background: -moz-linear-gradient(
top,
#ffffff 0%,
#eee);
background: -webkit-gradient(
linear, left top, left bottom,
from(#ffffff),
to(#eee));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");
border: 1px solid #999;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow:
0px 2px 3px rgba(000,000,000,0.3),
inset 0px 0px 2px rgba(255,255,255,0.8);
-webkit-box-shadow:
0px 2px 3px rgba(000,000,000,0.3),
inset 0px 0px 2px rgba(255,255,255,0.8);
box-shadow:
0px 2px 3px rgba(000,000,000,0.3),
inset 0px 0px 2px rgba(255,255,255,0.8);
}
.calendar_white_selected .calendar_white_event_inner
{
background: #ddd;
}
.calendar_white_alldayevent_inner
{
position: absolute;
top: 2px;
bottom: 2px;
left: 2px;
right: 1px;
padding: 2px;
margin-right: 1px;
font-size: 12px;
}
.calendar_white_event_withheader .calendar_white_event_inner
{
padding-top: 15px;
}
.calendar_white_event
{
cursor: default;
}
.calendar_white_event_inner
{
position: absolute;
overflow: hidden;
top: 0px;
bottom: 2px;
left: 2px;
right: 0px;
padding: 2px;
font-size: 9px;
}
.calendar_white_shadow_inner
{
background-color: #666666;
opacity: 0.5;
filter: Alpha(Opacity=70);
height: 100%;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
/* divisione schermo */
.div_1_3{
width: 33%;
}
.div_2_3{
width: 66%;
}
.div_1_2{
width: 50%;
}
.div_1_4{
width: 25%;
}
.div_3_4{
width: 75%;
}
.div_1_5{
width: 20%;
}
.div_2_5{
width: 40%;
}
.div_3_5{
width: 60%;
}
.div_4_5{
width: 80%;
}
+1
View File
@@ -0,0 +1 @@
.greenBox{background-color:#c3ffc3;border:1px solid #00a400;color:#333}.yellowBox{background-color:#ffffb6;border:1px solid #b1b100;color:#333}.orangeBox{background-color:#ffa05b;border:1px solid #be5100;color:#333}.redBox{background-color:#ff9c9c;border:1px solid #cb0000;color:#333}.grayBox{background-color:#d6d6d6;border:1px solid #707070;color:#333}.text-center{text-align:center;margin:auto}.tStrong{font-weight:bold;font-size:1.3em}.flRight{float:right}.flLeft{float:left}.calendar_white_main{border:1px solid #999}.calendar_white_scroll_up{background:url(calendar_white/up.png)}.calendar_white_scroll_down{background:url(calendar_white/down.png)}.calendar_white_rowheader_inner,.calendar_white_cornerright_inner,.calendar_white_corner_inner,.calendar_white_colheader_inner,.calendar_white_alldayheader_inner{color:#666;background:#eee;background:-moz-linear-gradient(top,#eee 0%,#ddd);background:-webkit-gradient(linear,left top,left bottom,from(#eee),to(#ddd));filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr="#eeeeee",endColorStr="#dddddd")}.calendar_white_cornerright_inner{position:absolute;top:0;left:0;bottom:0;right:0;border-bottom:1px solid #999}.calendar_white_rowheader_inner{font-size:16pt;text-align:right;position:absolute;top:0;left:0;bottom:0;right:0;border-right:1px solid #999;border-bottom:1px solid #999}.calendar_white_corner_inner{position:absolute;top:0;left:0;bottom:0;right:0;border-right:1px solid #999;border-bottom:1px solid #999}.calendar_white_rowheader_minutes{font-size:10px;vertical-align:super;padding-left:2px;padding-right:2px}.calendar_white_colheader_inner{text-align:center;position:absolute;top:0;left:0;bottom:0;right:0;border-right:1px solid #999;border-bottom:1px solid #999}.calendar_white_cell_inner{position:absolute;top:0;left:0;bottom:0;right:0;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background-color:#fff}.calendar_white_alldayheader_inner{text-align:center;position:absolute;top:0;left:0;bottom:0;right:0;border-right:1px solid #999;border-bottom:1px solid #999}.calendar_white_message{opacity:.9;filter:alpha(opacity=90);padding:10px;color:#fff;background:#ffa216;background:-moz-linear-gradient(top,#ffa216 0%,#ff8400);background:-webkit-gradient(linear,left top,left bottom,from(#ffa216),to(#ff8400));filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffa216",endColorStr="#ff8400")}.calendar_white_alldayevent_inner,.calendar_white_event_inner{color:#666;background:#fff;background:-moz-linear-gradient(top,#fff 0%,#eee);background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#eee));filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff",endColorStr="#eeeeee");border:1px solid #999;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:0 2px 3px rgba(0,0,0,.3),inset 0 0 2px rgba(255,255,255,.8);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.3),inset 0 0 2px rgba(255,255,255,.8);box-shadow:0 2px 3px rgba(0,0,0,.3),inset 0 0 2px rgba(255,255,255,.8)}.calendar_white_selected .calendar_white_event_inner{background:#ddd}.calendar_white_alldayevent_inner{position:absolute;top:2px;bottom:2px;left:2px;right:1px;padding:2px;margin-right:1px;font-size:12px}.calendar_white_event_withheader .calendar_white_event_inner{padding-top:15px}.calendar_white_event{cursor:default}.calendar_white_event_inner{position:absolute;overflow:hidden;top:0;bottom:2px;left:2px;right:0;padding:2px;font-size:9px}.calendar_white_shadow_inner{background-color:#666;opacity:.5;filter:alpha(opacity=70);height:100%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.div_1_3{width:33%}.div_2_3{width:66%}.div_1_2{width:50%}.div_1_4{width:25%}.div_3_4{width:75%}.div_1_5{width:20%}.div_2_5{width:40%}.div_3_5{width:60%}.div_4_5{width:80%}
@@ -3,5 +3,5 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<path d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z"/>
<path d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z" />
</svg>

Before

Width:  |  Height:  |  Size: 573 B

After

Width:  |  Height:  |  Size: 574 B

@@ -3,5 +3,5 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<path style="fill:#FFFFFF;" d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z"/>
<path style="fill:#FFFFFF;" d="M9,5v3l5-4L9,0v3c0,0-5,0-5,7C6,5,9,5,9,5z M11,12H2V5h1l2-2H0v11h13V7l-2,2V12z" />
</svg>

Before

Width:  |  Height:  |  Size: 595 B

After

Width:  |  Height:  |  Size: 596 B

@@ -4,5 +4,5 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<path d="M7,0L0,12h14L7,0z M7,11c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.553,0,1,0.447,1,1S7.553,11,7,11z M7,8C6.447,8,6,7.553,6,7V5
c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z"/>
c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z" />
</svg>

Before

Width:  |  Height:  |  Size: 679 B

After

Width:  |  Height:  |  Size: 680 B

@@ -4,5 +4,5 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<path style="fill:#FFFFFF;" d="M7,0L0,12h14L7,0z M7,11c-0.553,0-1-0.447-1-1s0.447-1,1-1c0.553,0,1,0.447,1,1S7.553,11,7,11z M7,8
C6.447,8,6,7.553,6,7V5c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z"/>
C6.447,8,6,7.553,6,7V5c0-0.553,0.447-1,1-1c0.553,0,1,0.447,1,1v2C8,7.553,7.553,8,7,8z" />
</svg>

Before

Width:  |  Height:  |  Size: 701 B

After

Width:  |  Height:  |  Size: 702 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 "/>
<polygon points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 669 B

After

Width:  |  Height:  |  Size: 670 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 "/>
<polygon points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 682 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon fill="#FFF" points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 "/>
<polygon fill="#FFF" points="14,3 11,0 3.5,7.5 0,4 0,14 10,14 6.5,10.5 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 693 B

After

Width:  |  Height:  |  Size: 694 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 "/>
<polygon points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 682 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon fill="#FFF" points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 "/>
<polygon fill="#FFF" points="10.5,7.5 3,0 0,3 7.5,10.5 4,14 14,14 14,4 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 693 B

After

Width:  |  Height:  |  Size: 694 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon fill="#FFF" points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 "/>
<polygon fill="#FFF" points="9,7 9,0 5,0 5,7 0,7 7,14 14,7 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 682 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 "/>
<polygon points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 670 B

After

Width:  |  Height:  |  Size: 671 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon fill="#FFF" points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 "/>
<polygon fill="#FFF" points="7,5 7,0 0,7 7,14 7,9 14,9 14,5 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 682 B

After

Width:  |  Height:  |  Size: 683 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 "/>
<polygon points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 669 B

After

Width:  |  Height:  |  Size: 670 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon fill="#FFF" points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 "/>
<polygon fill="#FFF" points="14,7 7,0 7,5 0,5 0,9 7,9 7,14 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 682 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="7,0 0,7 5,7 5,14 9,14 9,7 14,7 "/>
<polygon points="7,0 0,7 5,7 5,14 9,14 9,7 14,7 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 670 B

After

Width:  |  Height:  |  Size: 671 B

@@ -3,7 +3,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="14px" height="14px" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;" xml:space="preserve">
<polygon points="14,11 6.5,3.5 10,0 0,0 0,10 3.5,6.5 11,14 "/>
<polygon points="14,11 6.5,3.5 10,0 0,0 0,10 3.5,6.5 11,14 " />
<g>
</g>
<g>

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 682 B

Some files were not shown because too many files have changed in this diff Show More