<%@ Page Title="Diagnosis Code Maintanance " Language="C#" MasterPageFile="~/MasterPages/Site.master"
AutoEventWireup="true" CodeFile="Diagnosis.aspx.cs" Inherits="Codes_Diagnosis"
EnableTheming="true" Theme="DefaultTheme" %>
<%@ Register TagPrefix="MyCtrl" Namespace="CBR.Business" Assembly="CBR.Business" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
runat
=
"Server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
function clearData() {
document.getElementById('<%=txtcode.ClientID%>').value = '';
document.getElementById('<%=txtDescription.ClientID%>').value = '';
document.getElementById('<%=hdnPK.ClientID%>').value = '';
document.getElementById('<%=chkUserEntered.ClientID%>').checked = false;
document.getElementById('<%=chkActive.ClientID%>').checked = false;
document.getElementById('<%=txtcode.ClientID%>').disabled = false;
document.getElementById('<%=txtcode.ClientID%>').focus();
return true;
}
</
script
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
runat
=
"Server"
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
Skin
=
"Outlook"
runat
=
"server"
/>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
table
width
=
"100%"
cellpadding
=
"0px"
cellspacing
=
"0px"
border
=
"0px"
>
<
tr
>
<
td
width
=
"100%"
>
<!-- Top Pane Start -->
<
div
class
=
"BillReviewContainer"
>
<
div
class
=
"PanelTitle"
>
<
div
class
=
"PanelTitleIcon"
>
Diagnosis</
div
>
</
div
>
<
table
width
=
"100%"
border
=
"0"
cellspacing
=
"0"
cellpadding
=
"0"
class
=
"BillReviewTab"
>
<
tr
>
<
td
width
=
"15%"
align
=
"right"
>
<
asp:Label
ID
=
"lblCode"
SkinID
=
"Required"
runat
=
"server"
Text
=
"Code:"
></
asp:Label
>
</
td
>
<
td
width
=
"85%"
>
<
asp:TextBox
ID
=
"txtcode"
MaxLength
=
"6"
SkinID
=
"Small"
runat
=
"server"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"rfvCode"
ValidationGroup
=
"Submit"
runat
=
"server"
ControlToValidate
=
"txtcode"
SetFocusOnError
=
"true"
ErrorMessage
=
"Code is mandatory"
Display
=
"None"
></
asp:RequiredFieldValidator
>
<
asp:RegularExpressionValidator
ID
=
"revCode"
ValidationExpression
=
"(^[+]?\w*\.?\d*[1-9]+\d*$)|(^[+]?[1-9]+\d*\.\d*$)"
runat
=
"server"
ValidationGroup
=
"Submit"
Display
=
"None"
ControlToValidate
=
"txtcode"
SetFocusOnError
=
"true"
ErrorMessage
=
"Only numeric or alphabates are allowed.i.e. e1.23,0.12,121"
></
asp:RegularExpressionValidator
>
<
asp:HiddenField
ID
=
"hdnPK"
runat
=
"server"
/>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"right"
valign
=
"top"
>
<
asp:Label
ID
=
"lblDescription"
SkinID
=
"Required"
runat
=
"server"
Text
=
"Description:"
></
asp:Label
>
</
td
>
<
td
>
<
asp:TextBox
ID
=
"txtDescription"
TextMode
=
"MultiLine"
SkinID
=
"Multiline"
runat
=
"server"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"rfvDesc"
ValidationGroup
=
"Submit"
runat
=
"server"
ControlToValidate
=
"txtDescription"
SetFocusOnError
=
"true"
ErrorMessage
=
"Description is mandatory"
Display
=
"None"
></
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
<
td
valign
=
"middle"
>
<
asp:CheckBox
ID
=
"chkUserEntered"
runat
=
"server"
Text
=
" User entered"
/>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
<
td
valign
=
"middle"
>
<
asp:CheckBox
ID
=
"chkActive"
runat
=
"server"
Text
=
" Active"
/>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
<
td
>
<
asp:Button
ID
=
"btnSave"
OnClick
=
"btnSave_Click"
SkinID
=
"InnerSaveButton"
ValidationGroup
=
"Submit"
runat
=
"server"
/>
<
asp:Button
ID
=
"btnCancel"
runat
=
"server"
SkinID
=
"InnerClearButton"
OnClientClick
=
"return clearData();"
/>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
<
asp:Label
ID
=
"lblMsg"
ForeColor
=
"Red"
runat
=
"server"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
<
asp:ValidationSummary
ID
=
"vs"
HeaderText
=
"Please enter following fields"
DisplayMode
=
"BulletList"
runat
=
"server"
ValidationGroup
=
"Submit"
CssClass
=
"msg"
ForeColor
=
"Red"
/>
</
td
>
</
tr
>
</
table
>
</
div
>
<!-- Top Pane Ends -->
<!-- Second Pane Start -->
<
div
class
=
"PrevsBillsContainer"
>
<
telerik:RadPanelBar
ID
=
"RadPanelBar1"
runat
=
"server"
Width
=
"100%"
>
<
Items
>
<
telerik:RadPanelItem
Text
=
"Diagnosis"
CssClass
=
"PrevsBillsHeader"
ImageUrl
=
"~/App_Themes/DefaultTheme/img/previous_bill_icon.png"
>
<
ContentTemplate
>
<
telerik:RadGrid
ID
=
"grdDiagnosis"
OnInit
=
"grdDiagnosis_Init"
OnItemDataBound
=
"grdDiagnosis_DataBound"
runat
=
"server"
AllowAutomaticDeletes
=
"false"
OnPreRender
=
"grdDiagnosis_PreRender"
SkinID
=
"ContentGrid"
OnItemCommand
=
"grdDiagnosis_ItemCommand"
>
<
MasterTableView
TableLayout
=
"Fixed"
AllowMultiColumnSorting
=
"true"
DataKeyNames
=
"di_int_pk"
>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"di_DiagCode"
SortOrder
=
"Ascending"
/>
</
SortExpressions
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Diagnosis Code"
UniqueName
=
"Code"
AutoPostBackOnFilter
=
"true"
ShowFilterIcon
=
"false"
CurrentFilterFunction
=
"StartsWith"
DataField
=
"di_DiagCode"
HeaderStyle-Width
=
"14%"
ItemStyle-Width
=
"14%"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Description"
AutoPostBackOnFilter
=
"true"
ShowFilterIcon
=
"false"
UniqueName
=
"Description"
CurrentFilterFunction
=
"StartsWith"
DataField
=
"di_DiagDescription"
>
</
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"di_User"
FilterListOptions
=
"VaryByDataType"
HeaderText
=
"User entered"
CurrentFilterFunction
=
"NoFilter"
UniqueName
=
"Userentered"
HeaderStyle-Width
=
"10%"
ItemStyle-Width
=
"10%"
>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"di_Active"
FilterListOptions
=
"VaryByDataType"
HeaderText
=
"Active"
CurrentFilterFunction
=
"NoFilter"
UniqueName
=
"Active"
HeaderStyle-Width
=
"6%"
ItemStyle-Width
=
"6%"
Resizable
=
"false"
>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridTemplateColumn
AllowFiltering
=
"false"
HeaderStyle-Width
=
"40px"
ItemStyle-Width
=
"40px"
Resizable
=
"false"
>
<
ItemStyle
HorizontalAlign
=
"Center"
/>
<
ItemTemplate
>
<%-- <
asp:LinkButton
ID
=
"LinkButton1"
runat
=
"server"
Text
=
"Edit"
CommandName
=
"Show"
></
asp:LinkButton
>--%>
<
asp:ImageButton
ID
=
"ImgEdit"
runat
=
"server"
AlternateText
=
"Edit"
CommandName
=
"Show"
ImageUrl
=
"~/Images/edit_icon.png"
/>
<
asp:HiddenField
ID
=
"hdnID"
runat
=
"server"
Value='<%# Eval("di_int_pk") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Do you want to delete this entry?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
CommandName
=
"Delete"
Text
=
"Delete"
ButtonType
=
"ImageButton"
ImageUrl
=
"~/Images/delete_icon.png"
UniqueName
=
"DeleteColumn"
HeaderStyle-Width
=
"40px"
ItemStyle-Width
=
"40px"
Resizable
=
"false"
>
<
ItemStyle
HorizontalAlign
=
"Center"
CssClass
=
"MyImageButton"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
ContentTemplate
>
</
telerik:RadPanelItem
>
</
Items
>
<
CollapseAnimation
Duration
=
"100"
Type
=
"None"
/>
<
ExpandAnimation
Duration
=
"100"
Type
=
"None"
/>
</
telerik:RadPanelBar
>
</
div
>
<!-- Second Pane Ends -->
</
td
>
</
tr
>
</
table
>
</
telerik:RadAjaxPanel
>
</
asp:Content
>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.Web.UI.WebControls;
using CBR.Business;
using CBR.DataModel;
using System.Data;
using Telerik.Web.UI;
public partial class Codes_Diagnosis : System.Web.UI.Page
{
#region Page Events
/// <summary>
/// Page Load event
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
txtcode.Focus();
Bind();
if (RadPanelBar1.Items.Count > 0)
RadPanelBar1.Items[0].Expanded = true;
}
}
#endregion
#region Functions
/// <summary>
/// Bind grid
/// </summary>
private void Bind()
{
List<Diagnostic> objDiagnostic = CodesManager.GetAllDiagnosis();
//grdDiagnosis.VirtualItemCount = objServices.Count;
grdDiagnosis.DataSource = objDiagnostic;
grdDiagnosis.DataBind();
}
/// <summary>
/// Clear all fields
/// </summary>
private void ClearAll()
{
txtcode.Text = "";
txtDescription.Text = "";
chkUserEntered.Checked = false;
chkActive.Checked = false;
txtcode.Enabled = true;
txtcode.Focus();
}
#endregion
#region Grid events
/// <summary>
/// Grid Prerender event
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grdDiagnosis_PreRender(object sender, System.EventArgs e)
{
Bind();
}
/// <summary>
/// Actions to perform for different commands
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
protected void grdDiagnosis_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.InitInsertCommandName) //"Add new" button clicked
{
}
else if (e.CommandName == RadGrid.DeleteCommandName)
{
lblMsg.Text = "";
GridDataItem editedItem = (GridDataItem)e.Item;
int ID = Convert.ToInt32(((HiddenField)editedItem.FindControl("hdnID")).Value);
CodesManager.DeleteDiagnosticByID(ID);
ClearAll();
Bind();
}
else if (e.CommandName == "Show")
{
lblMsg.Text = "";
GridDataItem selectedItem = (GridDataItem)e.Item;
Hashtable selectedItemValues = new Hashtable();
selectedItem.ExtractValues(selectedItemValues);
if (!Convert.ToBoolean(selectedItemValues["di_User"]))
{
txtcode.Enabled = false;
txtDescription.Focus();
}
else
{
txtcode.Focus();
}
txtcode.Text = selectedItemValues["di_DiagCode"].ToString().Trim();
txtDescription.Text = selectedItemValues["di_DiagDescription"].ToString().Trim();
chkUserEntered.Checked = Convert.ToBoolean(selectedItemValues["di_User"]);
chkActive.Checked = Convert.ToBoolean(selectedItemValues["di_Active"]);
hdnPK.Value = ((HiddenField)selectedItem.FindControl("hdnID")).Value;
}
}
/// <summary>
/// Hide Top command row
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grdDiagnosis_DataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridCommandItem)
{
GridCommandItem cmditm = (GridCommandItem)e.Item;
cmditm.FindControl("RefreshButton").Visible = false;//hide the text
cmditm.FindControl("RebindGridButton").Visible = false;//hide the image
e.Item.FindControl("InitInsertButton").Visible = false;//hide Add text
e.Item.FindControl("AddNewRecordButton").Visible = false;//hide add button
e.Item.Visible = false; // hide Top command row
}
}
/// <summary>
/// Init event to hide filter options from checkbox field filter
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grdDiagnosis_Init(object sender, System.EventArgs e)
{
GridFilterMenu menu = grdDiagnosis.FilterMenu;
int i = 0;
while (i < menu.Items.Count)
{
if (menu.Items[i].Text == "NoFilter" || menu.Items[i].Text == "EqualTo")
{
i++;
}
else
{
menu.Items.RemoveAt(i);
}
}
}
#endregion
# region Events
protected void btnSave_Click(object sender, EventArgs e)
{
Diagnostic objDiagnostic = new Diagnostic();
objDiagnostic.di_DiagCode = txtcode.Text;
objDiagnostic.di_DiagDescription = txtDescription.Text;
objDiagnostic.di_User = chkUserEntered.Checked;
objDiagnostic.di_Active = chkActive.Checked;
lblMsg.Text = "";
if (hdnPK.Value == "")
{ // Insert
if (CodesManager.GetDiagnosisByCode(txtcode.Text).Count > 0)
{
lblMsg.Text = "Diagnosis Code already exists";
return;
}
else
{
objDiagnostic.di_Type = "";
objDiagnostic.di_MajorDiagGrouping = "";
objDiagnostic.di_Catastrophic = false;
CodesManager.InsertDiagnostic(objDiagnostic);
lblMsg.Text = "Diagnosis Code added successfully";
txtcode.Enabled = true;
}
}
else
// Update
{
objDiagnostic.di_int_pk = Convert.ToInt32(hdnPK.Value);
CodesManager.UpdateDiagnostic(objDiagnostic);
//btnSave.Text = "Insert";
}
hdnPK.Value = "";
ClearAll();
}
protected void btnCancel_Click(object sender, EventArgs e)
{
hdnPK.Value = "";
ClearAll();
lblMsg.Text = "";
}
#endregion
}
#region Diagnosis
public static List<Diagnostic> GetAllDiagnosis()
{
List<Diagnostic> objDiagnostic = new List<Diagnostic>();
try
{
objDiagnostic = CodesData.GetAllDiagnosis();
}
catch (Exception ex)
{
LogManager.GetLogger("Business-CodesManager-GetAllDiagnosis").Error(ex);
throw ex;
}
return objDiagnostic;
}
public static List<Diagnostic> GetDiagnosisByCode(string Code)
{
List<Diagnostic> objDiagnostic = new List<Diagnostic>();
try
{
objDiagnostic = CodesData.GetDiagnosisByCode(Code);
}
catch (Exception ex)
{
LogManager.GetLogger("Business-CodesManager-GetDiagnosisByCode").Error(ex);
throw ex;
}
return objDiagnostic;
}
public static void InsertDiagnostic(Diagnostic objDiagnostic)
{
try
{
CodesData.AddDiagnosis(objDiagnostic);
}
catch (Exception ex)
{
LogManager.GetLogger("Business-CodesManager-InsertDiagnostic").Error(ex);
throw ex;
}
}
public static void UpdateDiagnostic(Diagnostic objDiagnostic)
{
try
{
CodesData.UpdateDiagnosisByID(objDiagnostic);
}
catch (Exception ex)
{
LogManager.GetLogger("Business-CodesManager-UpdateDiagnostic").Error(ex);
throw ex;
}
}
public static void DeleteDiagnosticByID(Int32 ID)
{
try
{
CodesData.DeleteDiagnosisByID(ID);
}
catch (Exception ex)
{
LogManager.GetLogger("Business-CodesManager-DeleteDiagnosticByID").Error(ex);
throw ex;
}
}
#endregion
public static Diagnostic AddDiagnosis(Diagnostic objDiagnosis)
{
using (CBREntities CBRContext = new CBREntities())
{
CBRContext.Connection.Open();
DbTransaction objTrans = CBRContext.Connection.BeginTransaction();
try
{
CBRContext.AddToDiagnostics(objDiagnosis);
CBRContext.SaveChanges();
objTrans.Commit();
}
catch (Exception ex)
{
LogManager.GetLogger("DataAccess-CodesDAL-AddDiagnosis").Error(ex);
objTrans.Rollback();
throw ex;
}
}
return objDiagnosis;
}
public static List<Diagnostic> GetDiagnosisByCode(string Code)
{
using (CBREntities CBRContext = new CBREntities())
{
CBRContext.Connection.Open();
DbTransaction objTrans = CBRContext.Connection.BeginTransaction();
try
{
List<Diagnostic> resultList =
(from ServieList in CBRContext.Diagnostics
where ServieList.di_DiagCode == Code
select ServieList).ToList();
objTrans.Commit();
return resultList;
}
catch (Exception ex)
{
objTrans.Rollback();
LogManager.GetLogger("DataAccess-CodesDAL-GetDiagnosisByCode").Error(ex);
throw ex;
}
}
}
public static List<Diagnostic> GetAllDiagnosis()
{
CBREntities objCBREntities = new CBREntities();
objCBREntities.Connection.Open();
List<Diagnostic> objStateInfo = new List<Diagnostic>();
DbTransaction objTrans = objCBREntities.Connection.BeginTransaction();
try
{
objStateInfo = objCBREntities.Diagnostics.Select(row => row).ToList();
objTrans.Commit();
}
catch (Exception ex)
{
LogManager.GetLogger("DataAccess-CodesDAL-GetAllDiagnosis").Error(ex);
objTrans.Rollback();
throw ex;
}
return objStateInfo;
}
public static void UpdateDiagnosis(Diagnostic objDiagnosis)
{
EntityKey key = null;
object original = null;
using (CBREntities CBRContext = new CBREntities())
{
CBRContext.Connection.Open();
DbTransaction objTrans = CBRContext.Connection.BeginTransaction();
try
{
key = CBRContext.CreateEntityKey("Diagnostics", objDiagnosis);
if (CBRContext.TryGetObjectByKey(key, out original))
{
CBRContext.ApplyCurrentValues(key.EntitySetName, objDiagnosis);
}
CBRContext.SaveChanges();
objTrans.Commit();
}
catch (Exception ex)
{
objTrans.Rollback();
LogManager.GetLogger("DataAccess-CodesDAL-UpdateDiagnosis").Error(ex);
throw ex;
}
}
}
public static void UpdateDiagnosisByID(Diagnostic objDiagnosis)
{
using (CBREntities CBRContext = new CBREntities())
{
CBRContext.Connection.Open();
DbTransaction objTrans = CBRContext.Connection.BeginTransaction();
Diagnostic resultList =
(from ServieList in CBRContext.Diagnostics
where ServieList.di_int_pk == objDiagnosis.di_int_pk
select ServieList).FirstOrDefault();
resultList.di_DiagCode = objDiagnosis.di_DiagCode;
resultList.di_DiagDescription = objDiagnosis.di_DiagDescription;
resultList.di_Active = objDiagnosis.di_Active;
resultList.di_User = objDiagnosis.di_User;
try
{
CBRContext.SaveChanges();
objTrans.Commit();
}
catch (Exception ex)
{
objTrans.Rollback();
LogManager.GetLogger("DataAccess-CodesDAL-UpdateDiagnosisByID").Error(ex);
throw ex;
}
}
}
public static void DeleteDiagnosisByID(Int32 ID)
{
using (CBREntities CBRContext = new CBREntities())
{
CBRContext.Connection.Open();
DbTransaction objTrans = CBRContext.Connection.BeginTransaction();
Diagnostic resultList =
(from UserList in CBRContext.Diagnostics
where UserList.di_int_pk == ID
select UserList).FirstOrDefault();
CBRContext.DeleteObject(resultList);
try
{
CBRContext.SaveChanges();
objTrans.Commit();
}
catch (Exception ex)
{
objTrans.Rollback();
LogManager.GetLogger("DataAccess-CodesDAL-DeleteDiagnosisByID").Error(ex);
throw ex;
}
}
}
#endregion