This is a migrated thread and some comments may be shown as answers.

rad dock

0 Answers 50 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
mahendren
Top achievements
Rank 1
mahendren asked on 16 Nov 2011, 12:26 PM
hi,

when load already exist docks and add new docks i am not above to move one zone to another.if i change means all docks are disappear..........How to manage raddockstate and Search emplayee wise add new docks dynamically emplayee wise 
Update & delete , and drag & drop one raddockzone to another ...................help me...........


following is my sample code

using

 

System;

 

using

 

System.Web;

 

using

 

System.Web.UI;

 

using

 

System.Web.UI.WebControls;

 

using

 

System.Data;

 

using

 

System.Configuration;

 

using

 

System.Web.Security;

 

using

 

System.Web.UI.WebControls.WebParts;

 

using

 

System.Web.UI.HtmlControls;

 

using

 

Telerik.Web.UI;

 

using

 

System.Collections.Generic;

 

public

 

partial class Default : MediReckonerTemplate

 

{

 

string PracticeCode = "1";

 

 

string UserCode = "1";

 

 

string connectionString="";

 

 

string dbType = "";

 

 

private bool _dockStateCleared = false;

 

 

protected void Page_Load(object sender, EventArgs e)

 

{

 

if (!IsPostBack)

 

{

LoadddlUnits();

 

if (Request.QueryString["DoctorCode"] + "" != "" && Request.QueryString["PracticeCode"] + "" != "")

 

{

PracticeCode = Request.QueryString[

"PracticeCode"] + "";

 

}

Session[

"UserCode"] = UserCode;

 

Session[

"PracticeCode"] = PracticeCode;

 

practiceInfo(PracticeCode);

LOADDOCTOR();

 

DBHelperClass.SelectValueInDropDownList(ddl_Doctor, Session["DoctorCode"] + "");

 

}

}

 

void practiceInfo(string practiceCode)

 

{

localhost.

AicsCommonWebService aicsService = new localhost.AicsCommonWebService();

 

 

if (myMedClass == null) myMedClass = new MediReckonerCommonClass();

 

 

DataSet connDet = aicsService.GetPracticeConnectionStringInit(practiceCode);

 

 

if (connDet.Tables[0].Rows.Count == 0)

 

 

return;

 

connectionString = connDet.Tables[0].Rows[0][

"ConnectionString"] + "";

 

dbType = connDet.Tables[0].Rows[0][

"DbType"] + "";

 

 

 

HttpContext.Current.Session["HS"] = practiceCode;

 

myMedClass.SaveSessionDefaultValues(

"ConnectionString", connectionString);

 

myMedClass.SaveSessionDefaultValues(

"dbType", dbType);

 

}

 

void LoadddlUnits()

 

{

 

DBHelperClass cls = new DBHelperClass();

 

 

string Loadddl = DBHelperClass.GetSQLQuery("TEMPLATEMASTER", "");

 

cls.LoadComboBox(ddl_Template, Loadddl,

"Select", false);

 

cls =

null;

 

ddl_Units.Items.Clear();

}

 

void LOADDOCTOR()

 

{

 

DBHelperClass cls = new DBHelperClass();

 

 

string Loadddldoctor = DBHelperClass.GetSQLQuery("DOCTORMASTER", "");

 

cls.LoadComboBox(ddl_Doctor, Loadddldoctor,

"", false);

 

cls =

null;

 

}

 

void loaddock()

 

{

CurrentDockStates.Clear();

_dockStateCleared =

true;

 

 

DBHelperClass.SelectValueInDropDownList(ddl_Doctor, Session["DoctorCode"] + "");

 

 

if (ddl_Doctor.SelectedIndex > 0 || Session["DoctorCode"] + ""!="")

 

{

 

string Query = "";

 

 

if (Session["DoctorCode"] + "" != "")

 

Query =

"Select * from PatientDashBoardConfig Where Active = '1' and DoctorMasterSequenceNumber = '" + Session["DoctorCode"] + "" + "' and HospitalSequenceNumber = '" + Session["PracticeCode"] + "" + "' order by orderby";

 

 

if (myMedClass == null) myMedClass = new MediReckonerCommonClass();

 

 

DataSet ds = myMedClass.executeDataSet(Query);

 

 

if (ds.Tables[0].Rows.Count > 0)

 

{

 

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

 

{

 

RadDock dock1 = CreateRadDock(ds.Tables[0].Rows[i]["DashboardCaption"] + "", ds.Tables[0].Rows[i]["DashboardSequenceNumber"] + "");

 

 

//UpdatePanel1.ContentTemplateContainer.Controls.Add(dock1);

 

Radpane1.Width =

Unit.Pixel(Convert.ToInt32(ds.Tables[0].Rows[i]["panal1"] + ""));

 

Radpane2.Width =

Unit.Pixel(Convert.ToInt32(ds.Tables[0].Rows[i]["panal2"] + ""));

 

 

switch (ds.Tables[0].Rows[i]["DockzoneCaption"] + "")

 

{

 

case "RadDockZone1":

 

RadDockZone1.Controls.Add(dock1);

 

break;

 

 

case "RadDockZone2":

 

RadDockZone2.Controls.Add(dock1);

 

break;

 

}

}

}

}

}

 

protected void ddl_Units_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)

 

{

 

if (ddl_Units.SelectedIndex > 0&&ddl_Doctor.SelectedIndex>0)

 

{

loaddock();

 

int i = 0;

 

 

if (CurrentDockStates.Count > 0)

 

{

i = CurrentDockStates.Count;

}

 

if (myMedClass == null) myMedClass = new MediReckonerCommonClass();

 

localhost.

DoctorWebService CCHIT = new localhost.DoctorWebService();

 

 

DataSet ds = CCHIT.GetPatientDashboard();

 

dbType = myMedClass.GetValuesFromDefaultSession(

"dbType") + "";

 

connectionString =

ConfigurationManager.AppSettings["ConnectionString"] + "";

 

 

string[] values = { PracticeCode, "0", ddl_Units.SelectedItem.Text, ddl_Doctor.SelectedValue.ToString(), "RadDockZone1" , Radpane1.Width.Value.ToString(), Radpane2.Width.Value.ToString() , i.ToString(), "1", UserCode, "" };

 

myMedClass.setValuesToDataTable(ds.Tables[

"PatientDashboard"], values);

 

 

string code = CCHIT.SavePatientDashboard(dbType, PracticeCode, connectionString, ds);

 

 

 

RadDock dock = CreateRadDock(ddl_Units.SelectedItem.Text,code);

 

 

//UpdatePanel1.ContentTemplateContainer.Controls.Add(dock);

 

RadDockZone1.Controls.Add(dock);

}

}

 

private List<DockState> CurrentDockStates

 

{

 

get

 

{

 

//Store the info about the added docks in the session. For real life

 

 

// applications we recommend using database or other storage medium

 

 

// for persisting this information.

 

 

List<DockState> _currentDockStates = (List<DockState>)Session["CurrentDockStatesDynamicDocks"];

 

 

if (Object.Equals(_currentDockStates, null))

 

{

_currentDockStates =

new List<DockState>();

 

Session[

"CurrentDockStatesDynamicDocks"] = _currentDockStates;

 

}

 

return _currentDockStates;

 

}

 

set

 

{

Session[

"CurrentDockStatesDynamicDocks"] = value;

 

}

}

 

private RadDock CreateRadDockFromState(DockState state)

 

{

 

RadDock dock = new RadDock();

 

dock.DockMode =

DockMode.Docked;

 

dock.ID =

string.Format("RadDock{0}", state.UniqueName);

 

dock.Style.Add(

"padding", "3px 15px 3px 0px");

 

dock.EnableAnimation =

true;

 

dock.EnableRoundedCorners =

true;

 

dock.Resizable =

true;

 

dock.ApplyState(state);

dock.Commands.Add(

new DockCloseCommand());

 

dock.Command +=

new DockCommandEventHandler(dock_Command);

 

 

return dock;

 

}

 

void dock_Command(object sender, DockCommandEventArgs e)

 

{

 

if (e.Command.Name == "Close")

 

{

 

ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(),"RemoveDock",string.Format(@"function _removeDock() {{ Sys.Application.remove_load(_removeDock);$find('{0}').undock(); $get('{1}').appendChild($get('{0}')); $find('{0}').doPostBack('DockPositionChanged');}};Sys.Application.add_load(_removeDock);", ((RadDock)sender).ClientID, UpdatePanel1.ClientID),true);

 

}

}

 

private RadDock CreateRadDock(string Name,string ID)

 

{

 

int docksCount = CurrentDockStates.Count;

 

 

RadDock dock = new RadDock();

 

dock.DockMode =

DockMode.Docked;

 

dock.UniqueName = ID.ToString();

dock.ID =

string.Format("RadDock{0}", dock.UniqueName);

 

dock.Title = Name;

dock.Text = Name;

dock.EnableAnimation =

true;

 

dock.EnableRoundedCorners =

true;

 

dock.Resizable =

true;

 

dock.Style.Add(

"padding", "3px 15px 3px 0px");

 

dock.Width =

Unit.Pixel(300);

 

dock.Commands.Add(

new DockCloseCommand());

 

dock.Command +=

new DockCommandEventHandler(dock_Command);

 

 

return dock;

 

}

 

private void CreateSaveStateTrigger(RadDock dock)

 

{

 

//Ensure that the RadDock control will initiate postback

 

 

//when its position changes on the client or any of the commands is clicked.

 

 

//Using the trigger we will "ajaxify" that postback.

 

dock.AutoPostBack =

true;

 

dock.CommandsAutoPostBack =

true;

 

dock.Style.Add(

"zIndex", "0");

 

 

 

AsyncPostBackTrigger saveStateTrigger = new AsyncPostBackTrigger();

 

saveStateTrigger.ControlID = dock.ID;

saveStateTrigger.EventName =

"DockPositionChanged";

 

 

UpdatePanel1.Triggers.Add(saveStateTrigger);

saveStateTrigger =

new AsyncPostBackTrigger();

 

saveStateTrigger.ControlID = dock.ID;

saveStateTrigger.EventName =

"Command";

 

UpdatePanel1.Triggers.Add(saveStateTrigger);

}

 

protected override void OnInit(EventArgs e)

 

{

 

//for (int i = 0; i < CurrentDockStates.Count; i++)

 

 

//{

 

 

// if (CurrentDockStates[i].Closed == false)

 

 

// {

 

 

// RadDock dock = CreateRadDockFromState(CurrentDockStates[i]);

 

 

// RadDockLayout1.Controls.Add(dock);

 

 

// CreateSaveStateTrigger(dock);

 

 

// }

 

 

//}

 

CurrentDockStates.Clear();

 

DBHelperClass.SelectValueInDropDownList(ddl_Doctor, Session["DoctorCode"] + "");

 

 

if (ddl_Doctor.SelectedIndex > 0 || Session["DoctorCode"] + ""!="")

 

{

 

string Query = "";

 

 

if (Session["DoctorCode"] + "" != "")

 

Query =

"Select * from PatientDashBoardConfig Where Active = '1' and DoctorMasterSequenceNumber = '" + Session["DoctorCode"] + "" + "' and HospitalSequenceNumber = '" + Session["PracticeCode"] + "" + "' order by orderby";

 

 

if (myMedClass == null) myMedClass = new MediReckonerCommonClass();

 

 

DataSet ds = myMedClass.executeDataSet(Query);

 

 

if (ds.Tables[0].Rows.Count > 0)

 

{

 

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

 

{

 

 

//{

 

 

//if (CurrentDockStates[i].Closed == false)

 

Radpane1.Width =

Unit.Pixel(Convert.ToInt32(ds.Tables[0].Rows[i]["panal1"] + ""));

 

Radpane2.Width =

Unit.Pixel(Convert.ToInt32(ds.Tables[0].Rows[i]["panal2"] + ""));

 

 

//if(CurrentDockStates.Count>0)

 

{

 

RadDock dock = CreateRadDockFromState(CurrentDockStates[i]);

 

RadDockLayout1.Controls.Add(dock);

CreateSaveStateTrigger(dock);

}

}

}

}

}

 

 

protected void RadDockLayout1_LoadDockLayout(object sender, DockLayoutEventArgs e)

 

{

 

//Populate the event args with the state information. The RadDockLayout control

 

 

// will automatically move the docks according that information.

 

 

foreach (DockState state in CurrentDockStates)

 

{

e.Positions[state.UniqueName] = state.DockZoneID;

e.Indices[state.UniqueName] = state.Index;

}

}

 

protected void RadDockLayout1_SaveDockLayout(object sender, DockLayoutEventArgs e)

 

{

 

//Save the dock state in the page Session. This will enable us

 

 

// to recreate the dock in the next Page_Init.

 

 

if (ddl_Doctor.SelectedIndex > 0)

 

{

 

if (!_dockStateCleared)

 

{

CurrentDockStates = RadDockLayout1.GetRegisteredDocksState();

 

foreach (DockState dock in CurrentDockStates)

 

{

 

if (dock.Closed == true)

 

{

 

if (myMedClass == null) myMedClass = new MediReckonerCommonClass();

 

 

string Query = "Delete from Patientdashboardconfig Where DashboardSequenceNumber = '" + dock.UniqueName + "' and DoctorMasterSequenceNumber = '" + ddl_Doctor.SelectedValue.ToString() + "' and HospitalSequenceNumber = '" + PracticeCode + "'";

 

myMedClass.ExecuteNonQuery(Query);

}

 

if (dock.Closed == false)

 

{

 

if (myMedClass == null) myMedClass = new MediReckonerCommonClass();

 

localhost.

DoctorWebService CCHIT = new localhost.DoctorWebService();

 

 

DataSet ds = CCHIT.GetPatientDashboard();

 

dbType =

ConfigurationManager.AppSettings["dbtype"] + "";

 

connectionString =

ConfigurationManager.AppSettings["ConnectionString"] + "";

 

 

string[] values = { PracticeCode, dock.UniqueName, dock.Text, ddl_Doctor.SelectedValue.ToString(), dock.DockZoneID.ToString(), Radpane1.Width.Value.ToString(), Radpane2.Width.Value.ToString(), dock.Index.ToString(), "1", UserCode, "" };

 

myMedClass.setValuesToDataTable(ds.Tables[

"PatientDashboard"], values);

 

 

string code = CCHIT.SavePatientDashboard(dbType, PracticeCode, connectionString, ds);

 

}

}

}

}

}

 

protected void lnkButSave_Click(object sender, EventArgs e)

 

{

Response.Redirect(

"ViewDashBoard.aspx");

 

}

 

protected void ddl_Template_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)

 

{

loaddock();

 

if (ddl_Template.SelectedIndex > 0)

 

{

 

string Loadddl = DBHelperClass.GetSQLQuery("UNITMASTER", "TemplateRefNo='" + ddl_Template.SelectedValue + "'");

 

 

DBHelperClass cls = new DBHelperClass();

 

cls.LoadComboBox(ddl_Units, Loadddl,

"Select", false);

 

cls =

null;

 

 

string[] str = { "Allergy", "Cheif Complient", "Medications", "New Prescription", "Vitals", "Impressions", "Plan", "Plan - Prescription", "Plan - Lab", "Plan - Procedure", "Plan - Rediology", "Plan - Followups", "Plan - Discharge" };

 

 

foreach (string str1 in str)

 

{

ddl_Units.Items.Add(

new RadComboBoxItem(str1));

 

}

}

}

 

protected void ddl_Doctor_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)

 

{

Session[

"DoctorCode"] = ddl_Doctor.SelectedValue.ToString();

 

ddl_Units.Items.Clear();

ddl_Template.SelectedIndex = 0;

loaddock();

}

}

 



by
Mahe

No answers yet. Maybe you can help?

Tags
General Discussions
Asked by
mahendren
Top achievements
Rank 1
Share this question
or