Browse Source

多语言维护

master
TML 4 years ago
parent
commit
f7cba2706c
  1. 10
      Controller/SCP_TA_LANGUAGE_CONTROLLER.cs
  2. 16
      SCP/SCP.csproj
  3. 10
      SCP/Views/BasicData/SCP_LANGUAGE.aspx.cs
  4. 88
      SCP/Views/BasicData/SCP_LANGUAGE_1.aspx
  5. 123
      SCP/Views/BasicData/SCP_LANGUAGE_1.aspx.cs
  6. 152
      SCP/Views/BasicData/SCP_LANGUAGE_1.aspx.designer.cs
  7. 33
      SCP/Views/BasicData/SCP_LANGUAGE_DETAIL.aspx
  8. 69
      SCP/Views/BasicData/SCP_LANGUAGE_DETAIL.aspx.cs
  9. 116
      SCP/Views/BasicData/SCP_LANGUAGE_DETAIL.aspx.designer.cs

10
Controller/SCP_TA_LANGUAGE_CONTROLLER.cs

@ -208,14 +208,16 @@ namespace CK.SCP.Controller
public static ResultObject<bool> Del_TA_LANGUAGE(TA_LANGUAGE p_entity)
public static ResultObject<bool> Del_TA_LANGUAGE(string _ls)
{
ResultObject<bool> _ret = new ResultObject<bool>();
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
var _entity = db.TA_LANGUAGE.Where(itm => itm.GUID == p_entity.GUID).FirstOrDefault();
var _entity = db.TA_LANGUAGE.Where(p=>p.UID.ToString()==_ls).FirstOrDefault();
db.TA_LANGUAGE.Remove(_entity);
if (db.SaveChanges() != -1)
@ -292,8 +294,6 @@ namespace CK.SCP.Controller
}
}

16
SCP/SCP.csproj

@ -255,6 +255,8 @@
<Content Include="Views\BasicData\SCP_FACTORY.aspx" />
<Content Include="Views\BasicData\SCP_FACTORY_EDIT.aspx" />
<Content Include="Views\BasicData\SCP_LANGUAGE.aspx" />
<Content Include="Views\BasicData\SCP_LANGUAGE_1.aspx" />
<Content Include="Views\BasicData\SCP_LANGUAGE_DETAIL.aspx" />
<Content Include="Views\BasicData\SCP_MoldSharing.aspx" />
<Content Include="Views\BasicData\SCP_MOLDSHARING_DETAIL.aspx" />
<Content Include="Views\BasicData\SCP_RECIVE_PORT.aspx" />
@ -5008,6 +5010,20 @@
<Compile Include="Views\BasicData\SCP_LANGUAGE.aspx.designer.cs">
<DependentUpon>SCP_LANGUAGE.aspx</DependentUpon>
</Compile>
<Compile Include="Views\BasicData\SCP_LANGUAGE_1.aspx.cs">
<DependentUpon>SCP_LANGUAGE_1.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Views\BasicData\SCP_LANGUAGE_1.aspx.designer.cs">
<DependentUpon>SCP_LANGUAGE_1.aspx</DependentUpon>
</Compile>
<Compile Include="Views\BasicData\SCP_LANGUAGE_DETAIL.aspx.cs">
<DependentUpon>SCP_LANGUAGE_DETAIL.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Views\BasicData\SCP_LANGUAGE_DETAIL.aspx.designer.cs">
<DependentUpon>SCP_LANGUAGE_DETAIL.aspx</DependentUpon>
</Compile>
<Compile Include="Views\BasicData\SCP_MoldSharing.aspx.cs">
<DependentUpon>SCP_MoldSharing.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

10
SCP/Views/BasicData/SCP_LANGUAGE.aspx.cs

@ -192,11 +192,11 @@ namespace SCP.BasicData
protected void Btn_Delete_Click(object sender, EventArgs e)
{
var ret = SCP_TA_LANGUAGE_CONTROLLER.Del_TA_LANGUAGE(new TA_LANGUAGE { GUID = TXT_GUID.Text });
if (ret.State == ReturnStatus.Succeed)
{
BindData();
}
//var ret = SCP_TA_LANGUAGE_CONTROLLER.Del_TA_LANGUAGE(new TA_LANGUAGE { GUID = TXT_GUID.Text });
//if (ret.State == ReturnStatus.Succeed)
//{
// BindData();
//}
}

88
SCP/Views/BasicData/SCP_LANGUAGE_1.aspx

@ -0,0 +1,88 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_LANGUAGE_1.aspx.cs" Inherits="SCP.Views.BasicData.SCP_LANGUAGE_1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager runat="server" AutoSizePanelID="Panel1" />
<f:Panel ID="Panel1" runat="server" Title="" Layout="VBox" BoxConfigAlign="Stretch" BoxConfigPosition="Start">
<Items>
<f:Form runat="server">
<Toolbars>
<f:Toolbar ID="Toolbar2" runat="server">
<Items>
<f:Button ID="Button3" runat="server" EnablePostBack="false" Text="刷新" Icon="Reload" OnClientClick="location.reload();">
</f:Button>
<f:Button ID="Insert" runat="server" Text="新建" Icon="Add" OnClick="Button2_Click" >
</f:Button>
<f:Button ID="Delete" runat="server" Text="删除" Icon="Delete" OnClick="Buttondelete_Click" OnClientClick="if(!confirm('是否要将数据删除'))return false;" >
</f:Button>
<f:Button ID="Update" runat="server" Text="修改" Icon="BasketEdit" OnClick="Button4_Click" >
</f:Button>
<f:TextBox runat = "server" Label = "" EmptyText = "请输入中文" ID = "TextCH" LabelWidth="50px" />
<f:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="快速查找" Icon="Find">
</f:Button>
<f:ToolbarSeparator runat="server" />
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Grid ID = "Grid_TA_LANGUAGE"
EnableCollapse = "true"
ShowBorder = "true"
ShowHeader = "true"
runat ="server"
BoxFlex="1"
EnableTextSelection="true"
DataKeyNames = "UID,GUID,CH,EN,RU,DE,FR,EL,AR,JP,IsDeleted"
PageSize="100"
IsDatabasePaging="true" AllowPaging="true"
AutoScroll="True" SortDirection="ASC"
SortField="UID"
OnPageIndexChange="Grid_TA_LANGUAGE_PageIndexChange"
>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator3" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList ID="ddlGridPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlGridPageSize_SelectedIndexChanged"
runat="server">
<f:ListItem Text="100" Value="100" />
<f:ListItem Text="200" Value="200" />
</f:DropDownList>
</PageItems>
<Columns>
<f:BoundField Width = "100px" DataField = "UID" DataFormatString = "{0}" HeaderText = "" Hidden="true"/>
<f:BoundField Width = "80px" DataField = "CH" DataFormatString = "{0}" HeaderText = "中文"/>
<f:BoundField Width = "80px" DataField = "EN" DataFormatString = "{0}" HeaderText = "英文"/>
<f:BoundField Width = "100px" DataField = "RU" DataFormatString = "{0}" HeaderText ="俄文" />
<f:BoundField Width = "100px" DataField = "DE" DataFormatString = "{0}" HeaderText = "德文" />
<f:BoundField Width = "100px" DataField = "FP" DataFormatString = "{0}" HeaderText ="法文" />
<f:BoundField Width = "100px" DataField = "AR" DataFormatString = "{0}" HeaderText ="阿拉伯" />
<f:BoundField Width = "100px" DataField = "JP" DataFormatString = "{0}" HeaderText ="日文" />
</Columns>
</f:Grid>
</Items>
</f:Panel>
<f:HiddenField ID="highlightRows" runat="server">
</f:HiddenField>
<f:Window runat="server" ID="Window1" Hidden="True" AutoScroll="True" Width="1024px" Height="600px" CloseAction="HidePostBack"
WindowPosition="Center" IsModal="true" Title="" Target="Parent" EnableIFrame="true"
IFrameUrl="about:blank" />
</form>
</body>
</html>

123
SCP/Views/BasicData/SCP_LANGUAGE_1.aspx.cs

@ -0,0 +1,123 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CK.SCP.Models;
using CK.SCP.Models.AppBoxEntity;
using CK.SCP.Models.Enums;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Utils;
using CK.SCP.Common;
using CK.SCP.Controller;
using EntityFramework.Audit;
using FineUI;
using Microsoft.Diagnostics.Instrumentation.Extensions.Intercept;
using SCP.Code;
using EntitiesHelper = CK.SCP.Controller.EntitiesHelper;
using System.IO;
using CK.SCP.Models.ScpEntity.ExcelImportEntity;
using CK.SCP.Models.ScpEntity.ExcelExportEnttity;
using System.Drawing;
using System.Linq.Dynamic;
namespace SCP.Views.BasicData
{
public partial class SCP_LANGUAGE_1 : PageBase
{
private List<TA_LANGUAGE> _list = new List<TA_LANGUAGE>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindLANGUAGE();
}
}
public void BindLANGUAGE()
{
_list = SearchData();
var list = Sort<TA_LANGUAGE>(_list.AsQueryable(), Grid_TA_LANGUAGE);
Grid_TA_LANGUAGE.DataSource = list;
Grid_TA_LANGUAGE.RecordCount = list.Count();
Grid_TA_LANGUAGE.DataBind();
}
public List<TA_LANGUAGE> SearchData()
{
TA_LANGUAGE _entity = new TA_LANGUAGE();
_entity.CH = TextCH.Text;
var _ret = SCP_TA_LANGUAGE_CONTROLLER.Get_TA_LANGUAGE_List(_entity);
if (_ret.State == ReturnStatus.Succeed)
{
_list = _ret.Result;
}
else
{
_list = new List<TA_LANGUAGE>();
}
return _list;
}
protected void Button1_Click(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("../BasicData/SCP_LANGUAGE_DETAIL.aspx?")));
}
protected void Buttondelete_Click(object sender, EventArgs e)
{
string ID = GetSelectedDataKey(Grid_TA_LANGUAGE, 0);
var ret = SCP_TA_LANGUAGE_CONTROLLER.Del_TA_LANGUAGE(ID);
if (ret.State == ReturnStatus.Succeed)
{
BindLANGUAGE();
}
}
protected void Button4_Click(object sender, EventArgs e)
{
string CH = GetSelectedDataKey(Grid_TA_LANGUAGE, 2);
string EN = GetSelectedDataKey(Grid_TA_LANGUAGE, 3);
string url = String.Format("../BasicData/SCP_LANGUAGE_DETAIL.aspx?CH={0}&&EN={1}", CH, EN);
PageContext.RegisterStartupScript(Window1.GetShowReference(url));
}
protected void btnShow_Click1(object sender, EventArgs e)
{
}
protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid_TA_LANGUAGE.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
}
protected void Grid_TA_LANGUAGE_Sort(object sender, GridSortEventArgs e)
{
}
protected void btnSearch_Click(object sender, EventArgs e)
{
BindLANGUAGE();
}
protected void Grid_TA_LANGUAGE_PageIndexChange(object sender, GridPageEventArgs e)
{
}
}
}

152
SCP/Views/BasicData/SCP_LANGUAGE_1.aspx.designer.cs

@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace SCP.Views.BasicData
{
public partial class SCP_LANGUAGE_1
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Panel Panel1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Toolbar Toolbar2;
/// <summary>
/// Button3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button Button3;
/// <summary>
/// Insert 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button Insert;
/// <summary>
/// Delete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button Delete;
/// <summary>
/// Update 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button Update;
/// <summary>
/// TextCH 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TextCH;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button btnSearch;
/// <summary>
/// Grid_TA_LANGUAGE 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Grid Grid_TA_LANGUAGE;
/// <summary>
/// ToolbarSeparator3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.ToolbarSeparator ToolbarSeparator3;
/// <summary>
/// ToolbarText2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.ToolbarText ToolbarText2;
/// <summary>
/// ddlGridPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.DropDownList ddlGridPageSize;
/// <summary>
/// highlightRows 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.HiddenField highlightRows;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Window Window1;
}
}

33
SCP/Views/BasicData/SCP_LANGUAGE_DETAIL.aspx

@ -0,0 +1,33 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_LANGUAGE_DETAIL.aspx.cs" Inherits="SCP.Views.BasicData.SCP_LANGUAGE_DE_TAIL" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager runat="server" AutoSizePanelID="Panel1" />
<f:Form ID="Panel1" Title="请输入需要增加的信息" runat="server" Width="600px" Height="400px"
LabelAlign="Right" LabelWidth="80px"
BodyPadding="5" ShowBorder="true" ShowHeader="true" Layout="VBox">
<Items>
<f:TextBox runat = "server" Label = "键值" EmptyText = "" ID = "TXT_GUID" />
<f:TextBox runat = "server" Label = "中文" EmptyText = "" ID = "TXT_CH" />
<f:TextBox runat = "server" Label = "英文" EmptyText = "" ID = "TXT_EN" />
<f:TextBox runat = "server" Label = "俄文" EmptyText = "" ID = "TXT_RU" />
<f:TextBox runat = "server" Label = "德文" EmptyText = "" ID = "TXT_DE" />
<f:TextBox runat = "server" Label = "法文" EmptyText = "" ID = "TXT_FR" />
<f:TextBox runat = "server" Label = "阿拉伯" EmptyText = "" ID = "TXT_AR" />
<f:TextBox runat = "server" Label = "日文" EmptyText = "" ID = "TXT_JP" />
<f:Button ID="Btn_Save" runat="server" EnablePostBack="True" Text="保存" Icon="SystemSave" OnClick="Btn_Save_Click" >
</f:Button>
</Items>
</f:Form>
</form>
</body>
</html>

69
SCP/Views/BasicData/SCP_LANGUAGE_DETAIL.aspx.cs

@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CK.SCP.Models;
using CK.SCP.Models.AppBoxEntity;
using CK.SCP.Models.Enums;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Utils;
using CK.SCP.Common;
using CK.SCP.Controller;
using EntityFramework.Audit;
using FineUI;
using Microsoft.Diagnostics.Instrumentation.Extensions.Intercept;
using SCP.Code;
using EntitiesHelper = CK.SCP.Controller.EntitiesHelper;
using System.IO;
using CK.SCP.Models.ScpEntity.ExcelImportEntity;
using System.Drawing;
namespace SCP.Views.BasicData
{
public partial class SCP_LANGUAGE_DE_TAIL : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Btn_Save_Click(object sender, EventArgs e)
{
TA_LANGUAGE _entity = new TA_LANGUAGE();
_entity.GUID = TXT_GUID.Text;
_entity.CH = TXT_CH.Text;
_entity.EN = TXT_EN.Text;
_entity.RU = TXT_RU.Text;
_entity.DE = TXT_DE.Text;
_entity.FR = TXT_FR.Text;
_entity.AR = TXT_AR.Text;
_entity.JP = TXT_JP.Text;
var ret = SCP_TA_LANGUAGE_CONTROLLER.Get_TA_LANGUAGE_List(new TA_LANGUAGE { CH = TXT_CH.Text });
if (ret.State == ReturnStatus.Succeed)
{
if (ret.Result.Count > 0)
{
Alert.ShowInTop("中文名称重复!");
return;
}
else
{
var ret1 = SCP_TA_LANGUAGE_CONTROLLER.Save_TA_LANGUAGE(new List<TA_LANGUAGE>() { _entity });
if (ret1.State == ReturnStatus.Succeed)
{
}
}
}
}
}
}

116
SCP/Views/BasicData/SCP_LANGUAGE_DETAIL.aspx.designer.cs

@ -0,0 +1,116 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace SCP.Views.BasicData
{
public partial class SCP_LANGUAGE_DE_TAIL
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Form Panel1;
/// <summary>
/// TXT_GUID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_GUID;
/// <summary>
/// TXT_CH 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_CH;
/// <summary>
/// TXT_EN 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_EN;
/// <summary>
/// TXT_RU 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_RU;
/// <summary>
/// TXT_DE 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_DE;
/// <summary>
/// TXT_FR 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_FR;
/// <summary>
/// TXT_AR 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_AR;
/// <summary>
/// TXT_JP 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.TextBox TXT_JP;
/// <summary>
/// Btn_Save 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUI.Button Btn_Save;
}
}
Loading…
Cancel
Save