This commit is contained in:
295
source/WBI/ClientNotesEdit.aspx.cs
Normal file
295
source/WBI/ClientNotesEdit.aspx.cs
Normal file
@@ -0,0 +1,295 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using GZTW.AyaNova.BLL;
|
||||
using Telerik.Web.UI;
|
||||
|
||||
public partial class ClientNotesEdit : BaseEditPage
|
||||
{
|
||||
|
||||
|
||||
#region BizObject
|
||||
public ClientNotes mClientNotes;
|
||||
public Guid mClientID;
|
||||
protected Guid CurrentClientID
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mClientID != Guid.Empty) return mClientID;
|
||||
|
||||
string idstring = Request.QueryString["id"];
|
||||
mClientID = Guid.Empty;
|
||||
if (!string.IsNullOrEmpty(idstring))
|
||||
{
|
||||
mClientID = new Guid(idstring);
|
||||
}
|
||||
|
||||
return mClientID;
|
||||
}
|
||||
}
|
||||
|
||||
protected ClientNotes CurrentClientNotes
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mClientNotes != null) return mClientNotes;
|
||||
|
||||
|
||||
|
||||
mClientNotes = (ClientNotes)Session["clientnotes"];
|
||||
|
||||
if (mClientNotes == null )
|
||||
{
|
||||
try
|
||||
{
|
||||
if (CurrentClientID != Guid.Empty)
|
||||
mClientNotes = ClientNotes.GetItems(CurrentClientID);
|
||||
else
|
||||
throw new System.ApplicationException("Client Notes - No Client ID was specified");
|
||||
|
||||
Session["clientnotes"] = mClientNotes;
|
||||
}
|
||||
catch (System.Security.SecurityException)
|
||||
{
|
||||
CloseMe();
|
||||
}
|
||||
}
|
||||
|
||||
return mClientNotes;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
//Test comment for subversion testing
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (Util.CurrentUser.IsClientOrHeadOfficeAccount || AyaBizUtils.Right("Object.Client") < (int)SecurityLevelTypes.ReadOnly)//Less than read only instead of NoAccess to catch records where it's zero instead of 1
|
||||
{
|
||||
Util.Denied(Context);
|
||||
}
|
||||
if (!IsPostBack && !IsAjaxCallback)
|
||||
{
|
||||
//clear any remnants from prior session not removed
|
||||
//due to improper close
|
||||
Session.Remove("clientnotes");
|
||||
Util.GridInitEditable("ClientNotes", Grid, "ClientNote");
|
||||
|
||||
}
|
||||
//Case 283 moved out of if block above
|
||||
this.Title = Util.LocaleText("ClientNote.Label.List") + " - " + Util.GetBizObjectName("Client", new Guid(Request.QueryString["id"].ToString()));
|
||||
|
||||
if (AyaBizUtils.Right("Object.Client") < (int)SecurityLevelTypes.ReadWrite)
|
||||
Util.SetReadOnly(this);
|
||||
|
||||
FillReportList();
|
||||
}
|
||||
|
||||
#region Edit
|
||||
|
||||
|
||||
private void UpdateNoteFromGrid(GridCommandEventArgs e)
|
||||
{
|
||||
Hashtable newValues = Util.GridExtractValues(e.Item);
|
||||
if (newValues["ID"] != null)
|
||||
{
|
||||
ClientNote o = CurrentClientNotes[newValues["ID"].ToString()];
|
||||
|
||||
Telerik.Web.UI.RadComboBox cb = e.Item.FindControl("cbtype") as Telerik.Web.UI.RadComboBox;
|
||||
o.ClientNoteTypeID = Util.ComboValue(cb);
|
||||
|
||||
TextBox tb = e.Item.FindControl("tbnotes") as TextBox;
|
||||
o.Notes = tb.Text;
|
||||
|
||||
//Case 153
|
||||
Telerik.Web.UI.RadDateTimePicker picker = (Telerik.Web.UI.RadDateTimePicker)e.Item.FindControl("dtNoteDate");
|
||||
o.NoteDate = picker.DbSelectedDate;
|
||||
|
||||
CurrentClientNotes.Save();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void Grid_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
|
||||
{
|
||||
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case RadGrid.UpdateCommandName:
|
||||
{
|
||||
UpdateNoteFromGrid(e);
|
||||
}
|
||||
break;
|
||||
case RadGrid.InitInsertCommandName:
|
||||
{
|
||||
e.Canceled = true;
|
||||
ClientNote newnote = CurrentClientNotes.Add();
|
||||
newnote.ClientID = new Guid(Request.QueryString["id"].ToString());
|
||||
|
||||
e.Item.OwnerTableView.InsertItem(newnote);
|
||||
|
||||
}
|
||||
break;
|
||||
case RadGrid.PerformInsertCommandName:
|
||||
{
|
||||
|
||||
UpdateNoteFromGrid(e);
|
||||
}
|
||||
break;
|
||||
case RadGrid.DeleteCommandName:
|
||||
{
|
||||
Hashtable newValues = Util.GridExtractValues(e.Item);
|
||||
if (newValues["ID"] != null)
|
||||
CurrentClientNotes.Remove(newValues["ID"].ToString());
|
||||
|
||||
}
|
||||
break;
|
||||
case RadGrid.CancelCommandName:
|
||||
{
|
||||
if (e.Item is Telerik.Web.UI.GridDataInsertItem)
|
||||
{
|
||||
Hashtable newValues = Util.GridExtractValues(e.Item);
|
||||
if (newValues["ID"] != null)
|
||||
CurrentClientNotes.Remove(newValues["ID"].ToString());
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Populate
|
||||
protected void Grid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
|
||||
{
|
||||
|
||||
if (e.Item is GridEditFormItem)
|
||||
{
|
||||
string selectedType = ((ClientNote)e.Item.DataItem).ClientNoteTypeID.ToString();
|
||||
string notes = ((ClientNote)e.Item.DataItem).Notes;
|
||||
if (e.Item.IsInEditMode)
|
||||
{
|
||||
|
||||
Telerik.Web.UI.RadComboBox cb = e.Item.FindControl("cbtype") as Telerik.Web.UI.RadComboBox;
|
||||
Util.ComboPopulateBizList("ClientNoteType", cb, false, null, false);
|
||||
cb.SelectedValue = selectedType;
|
||||
|
||||
TextBox tb = e.Item.FindControl("tbnotes") as TextBox;
|
||||
tb.Text = notes;
|
||||
|
||||
//Case 153
|
||||
Telerik.Web.UI.RadDateTimePicker rdp = e.Item.FindControl("dtNoteDate") as Telerik.Web.UI.RadDateTimePicker;
|
||||
rdp.DbSelectedDate = ((ClientNote)e.Item.DataItem).NoteDate;
|
||||
|
||||
//TODO: HIDE THE ID FIELD IN THE EDIT FORM AWAITING FORUM POST ANSWER
|
||||
GridEditFormItem gefi = e.Item as GridEditFormItem;
|
||||
gefi["ID"].Style.Add("Display", "none");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if (e.Item is GridDataItem)
|
||||
{
|
||||
string selectedType = ((ClientNote)e.Item.DataItem).ClientNoteTypeID.ToString();
|
||||
string notes = ((ClientNote)e.Item.DataItem).Notes;
|
||||
Label l = e.Item.FindControl("lbltype") as Label;
|
||||
l.Text = Util.GetBizObjectName("ClientNoteType", selectedType);
|
||||
|
||||
l = e.Item.FindControl("lblnotes") as Label;
|
||||
//case 2056
|
||||
l.Text = Util.StringWebify(notes);
|
||||
//l.Text = notes;
|
||||
|
||||
//Case 153
|
||||
l = e.Item.FindControl("lbldate") as Label;
|
||||
l.Text = ((ClientNote)e.Item.DataItem).NoteDate.ToString();
|
||||
|
||||
//Case 153
|
||||
l = e.Item.FindControl("lblcreated") as Label;
|
||||
l.Text = ((ClientNote)e.Item.DataItem).Created.ToString();
|
||||
|
||||
//Case 30
|
||||
l = e.Item.FindControl("lblcreator") as Label;
|
||||
l.Text = Util.GetBizObjectName("User", ((ClientNote)e.Item.DataItem).Creator);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
////Case 153
|
||||
//RadDatePicker picker = (RadDatePicker)e.Item.FindControl("dtNoteDate");
|
||||
//if (picker != null)
|
||||
//{
|
||||
// picker.SharedCalendar = dpShared;
|
||||
// dpShared.Visible = true;
|
||||
//}
|
||||
}
|
||||
protected void Grid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
|
||||
{
|
||||
Grid.DataSource = CurrentClientNotes;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Reporting and main menu
|
||||
private void FillReportList()
|
||||
{
|
||||
if (AyaBizUtils.Right("Object.Report") < (int)SecurityLevelTypes.ReadOnly)
|
||||
{
|
||||
mnu.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
mnu.Visible = true;
|
||||
Util.ReportFillList(mnu.Items[0], ClientNotesReportList.ReportKey, "");
|
||||
mnu.Items[0].ToolTip = Util.LocaleText("UI.Toolbar.Print");
|
||||
}
|
||||
}
|
||||
|
||||
protected void mnu_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
|
||||
{
|
||||
|
||||
if (e.Item.Value.StartsWith("PRINT"))
|
||||
{
|
||||
doPrint(e.Item.Value);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void doPrint(string report)
|
||||
{
|
||||
|
||||
|
||||
string[] s = report.Split(',');
|
||||
if (s[0] == "PRINTDETAILED")
|
||||
{
|
||||
//There are no detailed reports for these sub grids
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Util.Report(Page, s[1], ClientNotesReportList.ReportKey, ClientNotesReportList.GetList(CurrentClientID));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in New Issue
Block a user