iniziato insert duplicazione item (non rimanda ad edit corretto però...) + insert 2 nove stored + refresh EF
This commit is contained in:
@@ -59,6 +59,14 @@ namespace StockManMVC
|
||||
.WithHtmlEncoding(false)
|
||||
.WithValueExpression((i, c) => c.UrlHelper.Action("Details", "Items", new { id = i.ID, StockItemID = i.ID, FluxItemID = i.ID }))
|
||||
.WithValueTemplate("<a href='{Value}' title='Vedi Dettagli'><i class='glyphicon glyphicon-search' aria-hidden='true'></i></a>");
|
||||
cols.Add("Clona").WithColumnName("Clona")
|
||||
.WithSorting(false)
|
||||
.WithVisibility(true, false)
|
||||
.WithAllowChangeVisibility(false)
|
||||
.WithHeaderText("")
|
||||
.WithHtmlEncoding(false)
|
||||
.WithValueExpression((i, c) => c.UrlHelper.Action("Duplicate", "Items", new { id = i.ID }))
|
||||
.WithValueTemplate("<a href='{Value}' title='Duplica Articolo'><i class='glyphicon glyphicon-duplicate' aria-hidden='true'></i></a>");
|
||||
cols.Add("Family").WithColumnName("Family")
|
||||
.WithVisibility(true, false)
|
||||
.WithAllowChangeVisibility(false)
|
||||
|
||||
@@ -153,7 +153,7 @@ namespace StockManMVC.Controllers
|
||||
using (var ctx = new StockManEntities())
|
||||
{
|
||||
// esegue stored procedure come function, SE id == 0 processa TUTTI...
|
||||
int rowMod = ctx.stp_consolidateItem(id);
|
||||
int rowMod = ctx.stp_ItemConsolidate(id);
|
||||
}
|
||||
|
||||
// se non specificati rimando a /Items/Details
|
||||
@@ -237,6 +237,26 @@ namespace StockManMVC.Controllers
|
||||
return View(item);
|
||||
}
|
||||
|
||||
|
||||
// GET: Items/Duplicate/5
|
||||
public ActionResult Duplicate(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
int newId = 0;
|
||||
// ora chiamo stored e recupero nuovo ID del record duplicato
|
||||
using (var ctx = new StockManEntities())
|
||||
{
|
||||
// esegue stored procedure come function, recuperando nuovo ID creato...
|
||||
newId = ctx.stp_ItemDuplicate(id);
|
||||
}
|
||||
|
||||
// rimando in editing!
|
||||
return RedirectToAction("Edit", "Items", new { ID = newId });
|
||||
}
|
||||
|
||||
// GET: Items/Edit/5
|
||||
public ActionResult Edit(int? id)
|
||||
{
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -26,6 +26,8 @@ namespace StockManMVC.Models
|
||||
public string Note { get; set; }
|
||||
public Nullable<System.DateTime> dtExport { get; set; }
|
||||
public string OperatorID { get; set; }
|
||||
public string CodDoc { get; set; }
|
||||
public Nullable<System.DateTime> dtDoc { get; set; }
|
||||
|
||||
public virtual Location Location { get; set; }
|
||||
public virtual MovType MovType { get; set; }
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -45,5 +45,23 @@ namespace StockManMVC.Models
|
||||
|
||||
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("stp_consolidateItem", itemIDParameter);
|
||||
}
|
||||
|
||||
public virtual int stp_ItemConsolidate(Nullable<int> itemID)
|
||||
{
|
||||
var itemIDParameter = itemID.HasValue ?
|
||||
new ObjectParameter("ItemID", itemID) :
|
||||
new ObjectParameter("ItemID", typeof(int));
|
||||
|
||||
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("stp_ItemConsolidate", itemIDParameter);
|
||||
}
|
||||
|
||||
public virtual int stp_ItemDuplicate(Nullable<int> original_ID)
|
||||
{
|
||||
var original_IDParameter = original_ID.HasValue ?
|
||||
new ObjectParameter("Original_ID", original_ID) :
|
||||
new ObjectParameter("Original_ID", typeof(int));
|
||||
|
||||
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("stp_ItemDuplicate", original_IDParameter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+9
-9
@@ -1,10 +1,10 @@
|
||||
// T4 code generation is enabled for model 'C:\Users\samuele\Documents\Visual Studio 2015\Projects\StockMan\StockManMVC\Models\SMModel.edmx'.
|
||||
// To enable legacy code generation, change the value of the 'Code Generation Strategy' designer
|
||||
// property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model
|
||||
// is open in the designer.
|
||||
// Generazione del codice predefinita abilitata per il modello 'C:\Users\samuele.STEAMWAREWIN\Documents\VisualStudioProjects\StockMan\StockManMVC\Models\SMModel.edmx'.
|
||||
// Per abilitare la generazione del codice legacy, modificare il valore della proprietà della finestra di progettazione 'Strategia di generazione del codice
|
||||
// su 'Legacy ObjectContext'. Questa proprietà è disponibile nella finestra Proprietà quando il modello è
|
||||
// aperto nella finestra di progettazione.
|
||||
|
||||
// If no context and entity classes have been generated, it may be because you created an empty model but
|
||||
// have not yet chosen which version of Entity Framework to use. To generate a context class and entity
|
||||
// classes for your model, open the model in the designer, right-click on the designer surface, and
|
||||
// select 'Update Model from Database...', 'Generate Database from Model...', or 'Add Code Generation
|
||||
// Item...'.
|
||||
// La mancata generazione di classi contesto ed entità può essere dovuta al fatto che è stato creato un modello vuoto, ma
|
||||
// non è ancora stata scelta la versione di Entity Framework da utilizzare. Per generare una classe contesto e classi entità
|
||||
// per il modello, aprire il modello nella finestra di progettazione, fare clic con il pulsante destro del mouse nell'area di progettazione e
|
||||
// selezionare 'Aggiorna modello da database...', 'Genera database da modello...' o 'Aggiungi elemento di generazione
|
||||
// codice...'.
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
<Property Name="UnitVal" Type="decimal" Precision="29" Scale="17" StoreGeneratedPattern="Computed" Nullable="false" />
|
||||
<Property Name="OperatorID" Type="nvarchar" MaxLength="50" Nullable="false" />
|
||||
<Property Name="Note" Type="nvarchar" MaxLength="250" Nullable="false" />
|
||||
<Property Name="CodDoc" Type="nvarchar" MaxLength="250" Nullable="false" />
|
||||
<Property Name="dtDoc" Type="date" />
|
||||
<Property Name="dtExport" Type="date" />
|
||||
</EntityType>
|
||||
<EntityType Name="ItemStock">
|
||||
@@ -91,8 +93,8 @@
|
||||
<Property Name="LastName" Type="nvarchar" MaxLength="50" Nullable="false" />
|
||||
<Property Name="FirstName" Type="nvarchar" MaxLength="50" Nullable="false" />
|
||||
</EntityType>
|
||||
<!--Errors Found During Generation:
|
||||
warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a primary key defined. The key has been inferred and the definition was created as a read-only table/view.-->
|
||||
<!--Errori trovati durante la generazione:
|
||||
avviso 6002: Nessuna chiave primaria definita per la tabella/visualizzazione 'StockMan.dbo.vItemFlux2Save'. La chiave è stata dedotta e la definizione è stata creata come tabella/visualizzazione di sola lettura.-->
|
||||
<EntityType Name="vItemFlux2Save">
|
||||
<Key>
|
||||
<PropertyRef Name="ItemID" />
|
||||
@@ -211,9 +213,12 @@ warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a prima
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Function Name="stp_consolidateItem" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
|
||||
<Function Name="stp_ItemConsolidate" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
|
||||
<Parameter Name="ItemID" Type="int" Mode="In" />
|
||||
</Function>
|
||||
<Function Name="stp_ItemDuplicate" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
|
||||
<Parameter Name="Original_ID" Type="int" Mode="In" />
|
||||
</Function>
|
||||
<EntityContainer Name="StockManModelStoreContainer">
|
||||
<EntitySet Name="Item" EntityType="Self.Item" Schema="dbo" store:Type="Tables" />
|
||||
<EntitySet Name="ItemFamily" EntityType="Self.ItemFamily" Schema="dbo" store:Type="Tables" />
|
||||
@@ -294,6 +299,8 @@ warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a prima
|
||||
<Property Name="OperatorID" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
|
||||
<NavigationProperty Name="Operator" Relationship="StockManModel.FK_ItemFlux_Operator" FromRole="ItemFlux" ToRole="Operator" />
|
||||
<NavigationProperty Name="Location1" Relationship="StockManModel.FK_ItemFlux_Location1" FromRole="ItemFlux" ToRole="Location" />
|
||||
<Property Name="CodDoc" Type="String" Nullable="false" MaxLength="250" FixedLength="false" Unicode="true" />
|
||||
<Property Name="dtDoc" Type="DateTime" Precision="0" />
|
||||
</EntityType>
|
||||
<EntityType Name="ItemStock">
|
||||
<Key>
|
||||
@@ -441,6 +448,12 @@ warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a prima
|
||||
<End Role="Item" EntitySet="Item" />
|
||||
<End Role="vItemFlux2Save" EntitySet="vItemFlux2Save" />
|
||||
</AssociationSet>
|
||||
<FunctionImport Name="stp_ItemConsolidate">
|
||||
<Parameter Name="ItemID" Mode="In" Type="Int32" />
|
||||
</FunctionImport>
|
||||
<FunctionImport Name="stp_ItemDuplicate">
|
||||
<Parameter Name="Original_ID" Mode="In" Type="Int32" />
|
||||
</FunctionImport>
|
||||
</EntityContainer>
|
||||
<EntityType Name="ItemFamily">
|
||||
<Key>
|
||||
@@ -572,6 +585,8 @@ warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a prima
|
||||
<EntitySetMapping Name="ItemFlux">
|
||||
<EntityTypeMapping TypeName="StockManModel.ItemFlux">
|
||||
<MappingFragment StoreEntitySet="ItemFlux">
|
||||
<ScalarProperty Name="dtDoc" ColumnName="dtDoc" />
|
||||
<ScalarProperty Name="CodDoc" ColumnName="CodDoc" />
|
||||
<ScalarProperty Name="OperatorID" ColumnName="OperatorID" />
|
||||
<ScalarProperty Name="ID" ColumnName="ID" />
|
||||
<ScalarProperty Name="ItemID" ColumnName="ItemID" />
|
||||
@@ -628,7 +643,6 @@ warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a prima
|
||||
</MappingFragment>
|
||||
</EntityTypeMapping>
|
||||
</EntitySetMapping>
|
||||
<FunctionImportMapping FunctionImportName="stp_consolidateItem" FunctionName="StockManModel.Store.stp_consolidateItem" />
|
||||
<EntitySetMapping Name="ItemFamily">
|
||||
<EntityTypeMapping TypeName="StockManModel.ItemFamily">
|
||||
<MappingFragment StoreEntitySet="ItemFamily">
|
||||
@@ -675,6 +689,8 @@ warning 6002: The table/view 'StockMan.dbo.vItemFlux2Save' does not have a prima
|
||||
</MappingFragment>
|
||||
</EntityTypeMapping>
|
||||
</EntitySetMapping>
|
||||
<FunctionImportMapping FunctionImportName="stp_ItemConsolidate" FunctionName="StockManModel.Store.stp_ItemConsolidate" />
|
||||
<FunctionImportMapping FunctionImportName="stp_ItemDuplicate" FunctionName="StockManModel.Store.stp_ItemDuplicate" />
|
||||
</EntityContainerMapping>
|
||||
</Mapping>
|
||||
</edmx:Mappings>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated from a template.
|
||||
// Codice generato da un modello.
|
||||
//
|
||||
// Manual changes to this file may cause unexpected behavior in your application.
|
||||
// Manual changes to this file will be overwritten if the code is regenerated.
|
||||
// Le modifiche manuali a questo file potrebbero causare un comportamento imprevisto dell'applicazione.
|
||||
// Se il codice viene rigenerato, le modifiche manuali al file verranno sovrascritte.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<ul class="nav navbar-nav">
|
||||
<li>@Html.ActionLink("Home", "Index", "Home")</li>
|
||||
@*<li>@Html.ActionLink("About", "About", "Home")</li>
|
||||
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>*@
|
||||
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>*@
|
||||
<li class="dropdown">
|
||||
<a href="" class="dropdown-toggle" data-toggle="dropdown">
|
||||
Articoli
|
||||
@@ -33,9 +33,6 @@
|
||||
<li>@Html.ActionLink("Anagrafica Articoli", "Index", "Items")</li>
|
||||
<li class="divider"></li>
|
||||
<li>@Html.ActionLink("Famiglie articoli", "Index", "ItemFamilies")</li>
|
||||
<li class="divider"></li>
|
||||
<li>@Html.ActionLink("Articoli", "Index", "Items")</li>
|
||||
<li>@Html.ActionLink("Articoli GridMVC", "Grid", "Items")</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
@@ -49,10 +46,7 @@
|
||||
<li>@Html.ActionLink("Spostamento Articoli", "Move", "ItemStocks")</li>
|
||||
</ul>
|
||||
</li>
|
||||
@*<li>@Html.ActionLink("Magazzino Articoli", "Index", "ItemStockStatus")</li>*@
|
||||
@*<li>@Html.ActionLink("Stock", "Index", "ItemStocks")</li>
|
||||
<li>@Html.ActionLink("Flux", "Index", "ItemFluxes")</li>*@
|
||||
@*<li>@Html.ActionLink("Flux", "Index", "ItemFluxes")</li>*@
|
||||
@**@
|
||||
<li class="dropdown">
|
||||
<a href="" class="dropdown-toggle" data-toggle="dropdown">
|
||||
@*<i class='<%# XPath("@description")%>'></i>*@
|
||||
@@ -67,16 +61,36 @@
|
||||
<li>@Html.ActionLink("Tipo Movimenti", "Index", "MovTypes")</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="" class="dropdown-toggle" data-toggle="dropdown">
|
||||
@*<i class='<%# XPath("@description")%>'></i>*@
|
||||
Test
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>@Html.ActionLink("Test grid 1", "Grid", "Items")</li>
|
||||
<li>@Html.ActionLink("Test grid 2", "TestGrid", "Items")</li>
|
||||
<li class="divider"></li>
|
||||
<li>@Html.ActionLink("Magazzino Articoli", "Index", "ItemStockStatus")</li>
|
||||
<li>@Html.ActionLink("Stock", "Index", "ItemStocks")</li>
|
||||
<li>@Html.ActionLink("Flux", "Index", "ItemFluxes")</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="nav navbar-text navbar-right">Hello, @User.Identity.Name!</p>
|
||||
</div>
|
||||
<p class="nav navbar-text navbar-right">Hello, @User.Identity.Name!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
@RenderBody()
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
|
||||
@*navbar navbar-inverse*@
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<div class="row">
|
||||
<div class="col-sm-6"></div>
|
||||
<div class="col-sm-6">
|
||||
<p class="text-right">© 2007-@DateTime.Now.Year - Steamware s.r.l.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user