using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using IndianHealthService.BMXNet.EHR;
using CIA_CSS;
using System.Runtime.InteropServices;
using IndianHealthService.BMXNet.Model;
using IndianHealthService.BMXNet.EHR.Model;
using IndianHealthService.BMXNet.EHR.Services;
namespace IndianHealthService.BMXNet.Example.CrossComponent.EHR
{
///
/// //////////////////////////////////Copy from colon after classname to end of file
///
public partial class UserInfoComponent : CSS_Patient.ICSS_PatientEvents, CSS_Encounter.ICSS_EncounterEvents, CIA_CSS.ICSS_SessionEvents, IEhrEvents, IEhrComponent
{
#region Copy Region into partial EHR file plus include interfaces noted above
protected override void Dispose(bool disposing)
{
this.TeardownFramework();
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
public LocalSession LocalSession
{
get { return this.Framework.LocalSession; }
}
public Context Context
{
get { return this.LocalSession.Context; }
}
public RemoteSession RemoteSession
{
get { return this.Framework.RemoteSession; }
}
private String _helpString = "";
[ComVisible(true)]
public String HelpString
{
get { return _helpString; }
set { _helpString = value; }
}
private String _helpContext = "";
[ComVisible(true)]
public String HelpContext
{
get { return _helpContext; }
set { _helpContext = value; }
}
private String _helpFile = "";
[ComVisible(true)]
public String HelpFile
{
get { return _helpFile; }
set { _helpFile = value; }
}
public virtual void AttachToEhr(object aConsumer)
{
this.SetupFramework();
this.Framework.AttachTo(aConsumer);
if (this.HelpFile.Length == 0)
{
this.HelpFileAssemblyName(aConsumer.GetType());
}
}
private EhrFramework _framework = null;
public EhrFramework Framework
{
get { return _framework; }
set { _framework = value; }
}
protected void SetupFramework()
{
this.Framework = EhrFramework.On(new CIA_CSS.CSS_ServerClass().Session, (IEhrEvents)this, (CIA_CSS.ICSS_SessionEvents)this);
}
protected void TeardownFramework()
{
if (this.Framework != null)
{
this.Framework.Close();
}
}
public event EventHandler ContextChanged;
public event EventHandler ContextChanging;
void CSS_Encounter.ICSS_EncounterEvents.Canceled()
{
}
void CSS_Encounter.ICSS_EncounterEvents.Committed()
{
try
{
if (this.ContextChanged != null)
{
ContextChangedArgs args = new ContextChangedArgs();
args.IsVisitChange = true;
args.AfterContext = this.Context;
this.ContextChanged.Invoke(this, args);
}
}
catch
{
}
}
string CSS_Encounter.ICSS_EncounterEvents.Pending(bool Silent)
{
try
{
if (this.ContextChanging == null)
{
return "";
}
else
{
ContextChangingArgs args = new ContextChangingArgs();
args.BeforeContext = this.Context;
args.IsVisitChange = true;
args.Cancel = false;
this.ContextChanging.Invoke(this, args);
return args.Cancel ? "Cancel" : "";
}
}
catch
{
return "";
}
}
void CSS_Patient.ICSS_PatientEvents.Canceled()
{
}
void CSS_Patient.ICSS_PatientEvents.Committed()
{
try
{
if (this.ContextChanged != null)
{
ContextChangedArgs args = new ContextChangedArgs();
args.IsPatientChange = true;
args.AfterContext = this.Context;
this.ContextChanged.Invoke(this, args);
}
}
catch
{
}
}
string CSS_Patient.ICSS_PatientEvents.Pending(bool Silent)
{
try
{
if (this.ContextChanging == null)
{
return "";
}
else
{
ContextChangingArgs args = new ContextChangingArgs();
args.BeforeContext = this.Context;
args.IsPatientChange = true;
args.Cancel = false;
this.ContextChanging.Invoke(this, args);
return args.Cancel ? "Cancel" : "";
}
}
catch
{
return "";
}
}
protected virtual void UnhandledException(Exception aProblem)
{
MessageBox.Show(aProblem.Message + " \n\n\n" + aProblem.StackTrace, "Exception");
}
protected void HelpFileAssemblyName(Type aType)
{
this.HelpFile = aType.Assembly.GetName().Name + ".chm";
}
public void EventCallback(string anEvent, string aStub)
{
this.Framework.IncomingEventCallback(anEvent, aStub);
}
public void RPCCallback(int Handle, string Data)
{
}
public void RPCCallbackError(int Handle, int ErrorCode, string ErrorText)
{
}
#endregion
}
//Copy this interface too
public interface IEhrComponent : IDisposable
{
String HelpFile { get; }
String HelpContext { get; }
String HelpString { get; }
}
}