This commit is contained in:
2018-06-29 19:47:36 +00:00
commit be7f501333
3769 changed files with 1425961 additions and 0 deletions

View 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
}