Se adapta la parte servidor de gestor de documentos para que tenga la variable de configuracion del directorio de documentos un valor por defecto y asi se inserta si no existe en base de datos la primera vez que se usa
git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@543 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
parent
214d4cf22e
commit
2c1785c23b
@ -53,58 +53,58 @@
|
||||
<DelphiCompile Include="Base.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\adortl.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxDataD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxEditorsD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxExportD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxExtEditorsD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxGridD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxIntl6D11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxIntlPrintSys3D11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxLibraryD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\cxPageControlD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dbrtl.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dclIndyCore.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\designide.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dsnap.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dxGDIPlusD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dxPSCoreD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\dxThemeD11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\GUISDK_D11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\IndyCore.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\IndyProtocols.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\IndySystem.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\Jcl.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JclVcl.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JSDialog100.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvCmpD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvCoreD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvCtrlsD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvDlgsD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvMMD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvNetD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvPageCompsD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvStdCtrlsD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\pckMD5.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\pckUCDataConnector.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\pckUserControl_RT.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\PNG_D10.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\RemObjects_Indy_D11.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\rtl.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\TB2k_D10.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\tbx_d10.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vcl.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vclactnband.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vcldb.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vcljpg.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\VclSmp.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\vclx.dcp" />
|
||||
<DCCReference Include="..\Modulos\Presupuestos de cliente\Views\xmlrtl.dcp" />
|
||||
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxExtEditorsD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntl6D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntlPrintSys3D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dclIndyCore.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxPSCoreD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Indy_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
|
||||
<DCCReference Include="Conexion\uConfigurarConexion.pas">
|
||||
<Form>fConfigurarConexion</Form>
|
||||
<DesignClass>TForm</DesignClass>
|
||||
|
||||
Binary file not shown.
@ -38,7 +38,13 @@ implementation
|
||||
|
||||
{$R *.dfm}
|
||||
uses
|
||||
{Generated:} FactuGES_Invk, srvConfiguracion_Impl, uSistemaFunc, Dialogs;
|
||||
{Generated:} FactuGES_Invk, srvConfiguracion_Impl, uSistemaFunc, Dialogs, Forms;
|
||||
|
||||
const
|
||||
CTE_VALOR = 'RUTA_DOCUMENTOS';
|
||||
CTE_DOCUMENTOS = 'DOCUMENTOS';
|
||||
CTE_ALMACEN_PRESUPUESTOS = '\Presupuestos\';
|
||||
|
||||
|
||||
procedure Create_srvGestorDocumentos(out anInstance : IUnknown);
|
||||
begin
|
||||
@ -74,7 +80,7 @@ begin
|
||||
case Almacen of
|
||||
TRdxAlmacenes_Presupuestos:
|
||||
begin
|
||||
Ruta := Ruta + '\presupuestos\' + IntToStr(ID) + '\*.*';
|
||||
Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID) + '\*.*';
|
||||
ListaFicheros := FindFile(Ruta);
|
||||
Result := StringArray.Create();
|
||||
for i := 0 to ListaFicheros.Count - 1 do
|
||||
@ -100,7 +106,7 @@ begin
|
||||
try
|
||||
GetClassFactory('srvConfiguracion').CreateInstance(AClientID, Intf);
|
||||
AConfiguracionService := Intf as IsrvConfiguracion;
|
||||
Result := AConfiguracionService.darValor('RUTA_DOCUMENTOS');
|
||||
Result := AConfiguracionService.darValor(CTE_VALOR, (ExtractFilePath(Application.ExeName) + CTE_DOCUMENTOS));
|
||||
finally
|
||||
AConfiguracionService := Nil;
|
||||
end;
|
||||
@ -118,7 +124,7 @@ begin
|
||||
case Almacen of
|
||||
TRdxAlmacenes_Presupuestos:
|
||||
begin
|
||||
Ruta := Ruta + '\presupuestos\' + IntToStr(ID) + '\' + NombreFichero;
|
||||
Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID) + '\' + NombreFichero;
|
||||
Result.LoadFromFile(Ruta);
|
||||
end;
|
||||
end;
|
||||
@ -140,7 +146,7 @@ begin
|
||||
case Almacen of
|
||||
TRdxAlmacenes_Presupuestos:
|
||||
begin
|
||||
Ruta := Ruta + '\presupuestos\' + IntToStr(ID) + '\' + NombreFichero;
|
||||
Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID) + '\' + NombreFichero;
|
||||
Result := DeleteFile(Ruta);
|
||||
end;
|
||||
end;
|
||||
@ -161,7 +167,7 @@ begin
|
||||
case Almacen of
|
||||
TRdxAlmacenes_Presupuestos:
|
||||
begin
|
||||
Ruta := Ruta + '\presupuestos\' + IntToStr(ID);
|
||||
Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS + IntToStr(ID);
|
||||
Deltree(Ruta, True);
|
||||
Result := True;
|
||||
end;
|
||||
@ -180,10 +186,17 @@ begin
|
||||
Result := False;
|
||||
try
|
||||
Ruta := DarRutaDocumentos;
|
||||
if not DirectoryExists(Ruta) then
|
||||
CreateDir(Ruta);
|
||||
|
||||
case Almacen of
|
||||
TRdxAlmacenes_Presupuestos:
|
||||
begin
|
||||
Ruta := Ruta + '\presupuestos\' + IntToStr(ID);
|
||||
Ruta := Ruta + CTE_ALMACEN_PRESUPUESTOS;
|
||||
if not DirectoryExists(Ruta) then
|
||||
CreateDir(Ruta);
|
||||
|
||||
Ruta := Ruta + IntToStr(ID);
|
||||
if not DirectoryExists(Ruta) then
|
||||
CreateDir(Ruta);
|
||||
|
||||
|
||||
@ -108,6 +108,8 @@
|
||||
</Parameter>
|
||||
<Parameter Name="CODIGO" DataType="String" Flag="In" >
|
||||
</Parameter>
|
||||
<Parameter Name="ValorPorDefecto" DataType="String" Flag="In" >
|
||||
</Parameter>
|
||||
</Parameters>
|
||||
</Operation>
|
||||
</Operations>
|
||||
|
||||
@ -299,7 +299,7 @@ type
|
||||
{ IsrvConfiguracion }
|
||||
IsrvConfiguracion = interface(IDataAbstractService)
|
||||
['{0882B8A4-C8AA-424E-8FC1-C6226B670522}']
|
||||
function darValor(const CODIGO: String): String;
|
||||
function darValor(const CODIGO: String; const ValorPorDefecto: String): String;
|
||||
end;
|
||||
|
||||
{ CosrvConfiguracion }
|
||||
@ -312,7 +312,7 @@ type
|
||||
protected
|
||||
function __GetInterfaceName:string; override;
|
||||
|
||||
function darValor(const CODIGO: String): String;
|
||||
function darValor(const CODIGO: String; const ValorPorDefecto: String): String;
|
||||
end;
|
||||
|
||||
{ IsrvFamilias }
|
||||
@ -1338,11 +1338,12 @@ begin
|
||||
result := 'srvConfiguracion';
|
||||
end;
|
||||
|
||||
function TsrvConfiguracion_Proxy.darValor(const CODIGO: String): String;
|
||||
function TsrvConfiguracion_Proxy.darValor(const CODIGO: String; const ValorPorDefecto: String): String;
|
||||
begin
|
||||
try
|
||||
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'darValor');
|
||||
__Message.Write('CODIGO', TypeInfo(String), CODIGO, []);
|
||||
__Message.Write('ValorPorDefecto', TypeInfo(String), ValorPorDefecto, []);
|
||||
__Message.Finalize;
|
||||
|
||||
__TransportChannel.Dispatch(__Message);
|
||||
|
||||
@ -391,15 +391,17 @@ end;
|
||||
{ TsrvConfiguracion_Invoker }
|
||||
|
||||
procedure TsrvConfiguracion_Invoker.Invoke_darValor(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||
{ function darValor(const CODIGO: String): String; }
|
||||
{ function darValor(const CODIGO: String; const ValorPorDefecto: String): String; }
|
||||
var
|
||||
CODIGO: String;
|
||||
ValorPorDefecto: String;
|
||||
lResult: String;
|
||||
begin
|
||||
try
|
||||
__Message.Read('CODIGO', TypeInfo(String), CODIGO, []);
|
||||
__Message.Read('ValorPorDefecto', TypeInfo(String), ValorPorDefecto, []);
|
||||
|
||||
lResult := (__Instance as IsrvConfiguracion).darValor(CODIGO);
|
||||
lResult := (__Instance as IsrvConfiguracion).darValor(CODIGO, ValorPorDefecto);
|
||||
|
||||
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvConfiguracion', 'darValorResponse');
|
||||
__Message.Write('Result', TypeInfo(String), lResult, []);
|
||||
|
||||
Binary file not shown.
@ -38,12 +38,41 @@ object srvConfiguracion: TsrvConfiguracion
|
||||
item
|
||||
Name = 'VALOR'
|
||||
DataType = datString
|
||||
Size = 100
|
||||
Size = 255
|
||||
end>
|
||||
end>
|
||||
JoinDataTables = <>
|
||||
UnionDataTables = <>
|
||||
Commands = <>
|
||||
Commands = <
|
||||
item
|
||||
Params = <
|
||||
item
|
||||
Name = 'CODIGO'
|
||||
Value = ''
|
||||
end
|
||||
item
|
||||
Name = 'VALOR'
|
||||
Value = ''
|
||||
end
|
||||
item
|
||||
Name = 'ID_EMPRESA'
|
||||
Value = ''
|
||||
end>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'IBX'
|
||||
ConnectionType = 'Interbase'
|
||||
Default = True
|
||||
TargetTable = 'CONFIGURACION'
|
||||
Name = 'IBX'
|
||||
SQL =
|
||||
'insert into CONFIGURACION (ID, CODIGO, VALOR, ID_EMPRESA)'#10'values' +
|
||||
'(GEN_ID(GEN_CONFIGURACION_ID, 1), :CODIGO, :VALOR, :ID_EMPRESA)'#10
|
||||
StatementType = stSQL
|
||||
ColumnMappings = <>
|
||||
end>
|
||||
Name = 'InsertarValor'
|
||||
end>
|
||||
RelationShips = <>
|
||||
UpdateRules = <>
|
||||
Version = 0
|
||||
|
||||
@ -21,14 +21,14 @@ uses
|
||||
type
|
||||
{ TsrvConfiguracion }
|
||||
TsrvConfiguracion = class(TDataAbstractService, IsrvConfiguracion)
|
||||
schConfiguracion: TDASchema;
|
||||
Bin2DataStreamer: TDABin2DataStreamer;
|
||||
schConfiguracion: TDASchema;
|
||||
procedure DARemoteServiceCreate(Sender: TObject);
|
||||
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
|
||||
var aConnectionName: string);
|
||||
protected
|
||||
{ IsrvConfiguracion methods }
|
||||
function DarValor(const CODIGO: String): String;
|
||||
function DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -49,9 +49,12 @@ begin
|
||||
SessionManager := dmServer.SessionManager;
|
||||
end;
|
||||
|
||||
function TsrvConfiguracion.DarValor(const CODIGO: String): String;
|
||||
function TsrvConfiguracion.DarValor(const CODIGO: String; const ValorPorDefecto: String = ''): String;
|
||||
var
|
||||
ADataSet : IDADataset;
|
||||
ASchema : TDASchema;
|
||||
ACurrentConn : IDAConnection;
|
||||
ACommand : IDASQLCommand;
|
||||
begin
|
||||
try
|
||||
ADataSet := schConfiguracion.NewDataset(Connection, 'darValor', ['CODIGO'], [CODIGO]);
|
||||
@ -59,7 +62,26 @@ begin
|
||||
if ADataSet.Dataset.RecordCount > 0 then
|
||||
Result := ADataSet.Dataset.Fields[0].AsVariant
|
||||
else
|
||||
RaiseError('Falta variable de configuracion: ' + CODIGO);
|
||||
begin
|
||||
Result := ValorPorDefecto;
|
||||
//Creamos la variable de configuración con su valor por defecto
|
||||
ACurrentConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
|
||||
ACommand := schConfiguracion.NewCommand(ACurrentConn, 'InsertarValor');
|
||||
try
|
||||
with ACommand do
|
||||
begin
|
||||
ParamByName('CODIGO').Value := CODIGO;
|
||||
ParamByName('VALOR').Value := ValorPorDefecto;
|
||||
ParamByName('ID_EMPRESA').Value := Null;
|
||||
Execute;
|
||||
ACurrentConn.CommitTransaction;
|
||||
end;
|
||||
except
|
||||
ACurrentConn.RollbackTransaction;
|
||||
end;
|
||||
ACommand := NIL;
|
||||
// RaiseError('Falta variable de configuracion: ' + CODIGO);
|
||||
end;
|
||||
finally
|
||||
ADataSet.Close;
|
||||
end;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user