using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Class.DataModel;
using RSD.Utils.Enum;
using Ext.Net;
using RasadBusiness;
/// <summary>
/// Summary description for ScenarioEventsGridPanel
/// </summary>
///
namespace test
{
public class test : GridPanel
{
private const string SCOPE = "SecurityOrchestrator.ScenarioTablesGridPanel";
public test()
{
this.ID = StringEnum.GetStringValue(WebControlPrefix.GridPanel) + "ScenarioTables";
this.AutoScroll = true;
this.Region = Region.Center;
this.AutoHeight = true;
this.BuildBottomBar();
this.BuildColumnModels();
this.BuildRowExpander();
this.BuildStore();
this.BuildSelectionModel();
this.BuildTopBar();
this.BuildView();
// this.Controls.Add(new ConfigScenarioTableWindow());
}
private void BuildBottomBar()
{
this.BottomBar.Add(new PagingToolbar
{
ID = StringEnum.GetStringValue(WebControlPrefix.PagingToolbar) + "ScenarioTables",
PageSize = 10,
});
}
private void BuildColumnModels()
{
this.ColumnModel.Columns.AddRange(new List<ColumnBase>
{
new RowNumbererColumn(),
new Column{
ColumnID="Name",
DataIndex="Name",
Align=Alignment.Left,
Editable=false,
Width=360,
Header="Adı",
Renderer={
Fn=SCOPE+".format",
Scope=SCOPE
}
},
new Column{
ColumnID="TableName",
DataIndex="TableName",
Align=Alignment.Left,
Editable=false,
Width=300,
Header="Tablo Adı",
Renderer={
Fn=SCOPE+".format",
Scope=SCOPE
}
}
});
}
private void BuildRowExpander()
{
this.Plugins.Add(new RowExpander
{
ID = StringEnum.GetStringValue(WebControlPrefix.RowExpander) + "ScenarioTables",
Component =
{
new Container{
Layout="Column",
Height=160,
Items={
new FormPanel{
ID=StringEnum.GetStringValue(WebControlPrefix.FormPanel)+"UpdRecordPnl1",
Border=false,
ColumnWidth=0.55,
Items={
new TextField{
FieldLabel="Adı",
AnchorHorizontal="95%",
DataIndex="Name"
},
new TextArea{
FieldLabel="Bilgi",
AnchorHorizontal="95%",
DataIndex="Info",
Height=70
},
new TextField{
FieldLabel="Tablo İsmi",
AnchorHorizontal="95%",
DataIndex="TableName"
},
}
},
new FormPanel{
ID=StringEnum.GetStringValue(WebControlPrefix.FormPanel)+"UpdRecordPnl2",
Border=false,
ColumnWidth=0.45,
Items={
new TextField{
FieldLabel="Sunucu Adı",
AnchorHorizontal="95%",
DataIndex="ServerName"
},
new TextField{
FieldLabel="Veritabanı Adı",
AnchorHorizontal="95%",
DataIndex="DatabaseName"
},
new TextField{
FieldLabel="Kullanıcı Adı",
AnchorHorizontal="95%",
DataIndex="UserName"
},
new TextField{
FieldLabel="Şifre",
AnchorHorizontal="95%",
DataIndex="Password"
},
new TextField{
FieldLabel="Birincil Anahtar",
AnchorHorizontal="95%",
DataIndex="PrimaryKey"
},
new CompositeField{
Items={
new Button{
Text="Kaydet",
Icon=Icon.Disk,
AnchorHorizontal="50%",
DirectEvents={
Click={
ExtraParams={
new Parameter("ConfigID","fplUpdRecordPnl2.record.data.ID",ParameterMode.Raw),
new Parameter("ConfigName","fplUpdRecordPnl1.items.items[0].getValue()",ParameterMode.Raw),
new Parameter("ConfigInfo","fplUpdRecordPnl1.items.items[1].getValue()",ParameterMode.Raw),
new Parameter("ConfigServerName","fplUpdRecordPnl2.items.items[0].getValue()",ParameterMode.Raw),
new Parameter("ConfigDBName","fplUpdRecordPnl2.items.items[1].getValue()",ParameterMode.Raw),
new Parameter("ConfigUsername","fplUpdRecordPnl2.items.items[2].getValue()",ParameterMode.Raw),
new Parameter("ConfigPassword","fplUpdRecordPnl2.items.items[3].getValue()",ParameterMode.Raw),
new Parameter("ConfigTableName","fplUpdRecordPnl1.items.items[2].getValue()",ParameterMode.Raw),
new Parameter("ConfigPK","fplUpdRecordPnl2.items.items[4].getValue()",ParameterMode.Raw),
},
EventMask={
Msg="Güncelleniyor",
ShowMask=true,
}
},
}
},
new Button{
Text="İptal",
Icon=Icon.Decline,
AnchorHorizontal="50%",
Listeners={
Click={
Handler="rweScenarioTables.collapseAll();"
}
}
},
}
}
},
}
}
}
},
Listeners =
{
Expand =
{
Handler = "fplUpdRecordPnl1.record = record; fplUpdRecordPnl1.getForm().loadRecord(record);" +
"fplUpdRecordPnl2.record = record; fplUpdRecordPnl2.getForm().loadRecord(record);"
}
}
});
//((Button)((CompositeField)((FormPanel)((Container)((RowExpander)
// this.Plugins[0]).Component[0]).Items[1]).Items[5]).Items[0]).DirectEvents.Click.Event += UpdateScenarioTable;
}
private void BuildStore()
{
this.Store.Add(new Store
{
ID = StringEnum.GetStringValue(WebControlPrefix.Store) + "ScenarioTables",
// AutoLoad=true,
Proxy ={
new PageProxy()
},
Reader =
{
new JsonReader{
IDProperty="ID",
Fields={
new RecordField("ID",RecordFieldType.Int),
new RecordField("Name",RecordFieldType.String),
new RecordField("Info",RecordFieldType.String),
new RecordField("ServerName",RecordFieldType.String),
new RecordField("DatabaseName",RecordFieldType.String),
new RecordField("UserName",RecordFieldType.String),
new RecordField("Password",RecordFieldType.String),
new RecordField("TableName",RecordFieldType.String),
new RecordField("PrimaryKey",RecordFieldType.String),
}
}
}
});
this.Store[0].RefreshData += new Store.AjaxRefreshDataEventHandler(ScenarioTablesRefreshData);
// this.Store[0].BeforeStoreChanged += new Store.BeforeStoreChangedEventHandler(DE_ProjectActivityBeforeStoreChanged);
}
private void BuildSelectionModel()
{
this.SelectionModel.Add(new RowSelectionModel
{
SingleSelect = true,
Listeners =
{
RowSelect =
{
Fn = SCOPE + ".rowSelect",
Scope = SCOPE
},
RowDeselect =
{
Handler = "if (!gplScenarioTables.hasSelection()) {btnDelScenarioTable.disable();}",
Scope = SCOPE
}
}
});
}
private void BuildTopBar()
{
this.TopBar.Add(new Toolbar
{
Items ={
new Button{
ID=StringEnum.GetStringValue(WebControlPrefix.Button)+"AddScenarioTable",
Icon=Ext.Net.Icon.Add,
Text="Senaryo Tablosu Ekle",
Listeners={
Click={
Handler = StringEnum.GetStringValue(WebControlPrefix.Window)+"ConfigScenarioTables.show();",
Scope=SCOPE
// Handler="pnlViewDetail.expand(true); hddActivityID.setValue(-1);",
}
}
},new Button{
ID=StringEnum.GetStringValue(WebControlPrefix.Button)+"DelScenarioTable",
Icon=Ext.Net.Icon.Delete,
Text="Aktivite Sil",
Disabled=true,
DirectEvents={
Click={
ExtraParams={
new Parameter("ConfigID","gplScenarioTables.getSelectionModel().getSelected().data.ID",ParameterMode.Raw)
},
Confirmation={
Message="Silmek istediğinizden emin misiniz?",
Title="Uyarı",
ConfirmRequest=true,
}
}
}
}
}
});
// ((Button)((Toolbar)this.TopBar[0]).Items[1]).DirectEvents.Click.Event += DelScenarioTable;
}
private void BuildView()
{
this.View.Add(new GridView
{
EnableRowBody = true,
Height = 50,
GetRowClass =
{
Handler = "rowParams.body = '<p>' + record.data.Info + '</p>'; return 'x-grid3-row-expanded';"
},
HeaderRows ={
new HeaderRow{
Columns={
new HeaderColumn(),
new HeaderColumn{
Component={
new Button{
Icon=Icon.Cancel,
ToolTips={
new ToolTip{
Html="Sil"
}
},
Listeners={
Click={
Fn=SCOPE+".clearFilter",
Scope=SCOPE
}
}
}
}
},
new HeaderColumn{
Component={
new TextField{
}
}
},
new HeaderColumn{
Component={
new TextField{
EnableKeyEvents=true,
Listeners={
KeyUp={
Handler="",
Scope=SCOPE
}
}
}
}
}
}
}
}
});
}
protected void ScenarioTablesRefreshData(object sender, StoreRefreshDataEventArgs e)
{
// Ext.Net.X.Msg.Alert("Mesaj", box.msg).Show();
this.Store[0].SetDataFromJson(GetScenarioTables());
this.Store[0].DataBind();
}
private string GetScenarioTables()
{
CompositeType type = new CompositeType
{
ClassName = BusinessClasses.ScenarioTables,
MethodName = "LoadScenarioTables"
};
RasadServiceClient client = new RasadServiceClient();
BoxRasadWCFReturn box = client.GetDataUsingDataContract(type);
return box.msg;
}