Files
ayanova7/source/WBI/UnitMeterReadings.aspx.cs
2018-06-29 19:47:36 +00:00

186 lines
6.3 KiB
C#

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 UnitMeterReadings : BaseThemePage
{
#region Normal base edit page stuff since we're not using it here
//private bool checkedforcallback = false;
//private bool iscallback = false;
//public bool IsAjaxCallback
//{
// get
// {
// if (!checkedforcallback)
// {
// HttpContext ctx = HttpContext.Current;
// iscallback = (
// ctx != null &&
// ctx.Request != null &&
// (ctx.Request.QueryString["rcbID"] != null ||
// ctx.Request.Form["RadAJAXControlID"] != null));
// checkedforcallback = true;
// }
// return iscallback;
// }
//}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (Util.CurrentUser.IsClientOrHeadOfficeAccount ||
AyaBizUtils.Right("Object.UnitMeterReading") < (int)SecurityLevelTypes.ReadOnly)
{
Util.Denied(Context);
}
if (!IsPostBack && !IsAjaxCallback)
{
Util.GridInitEditable("UnitMeterReading", Grid, "UnitMeterReading");
}
if (!IsAjaxCallback)
{
//Localize the page
Util.Localize(this.Page);
this.Title = Util.LocaleText("O.UnitMeterReading") + " - " + UnitNameFetcher.GetUnitNameFromUnitID(new Guid(Request.QueryString["id"].ToString()));
if (AyaBizUtils.Right("Object.Report") < (int)SecurityLevelTypes.ReadOnly)
mnu.Items[0].Visible = false;
else
Util.ReportFillList(mnu.Items[0], UnitMeterReadingList.ReportKey, "");
}
}
#region Grid populate and edit
protected void Grid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
Grid.DataSource = UnitMeterReadingList.GetList(new Guid(Request.QueryString["id"].ToString()),"");
}
protected void Grid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
{
GridEditableItem edititem = (GridEditableItem)e.Item;
Util.Localize(edititem);
}
if (e.Item is GridDataItem)
{
GridNameValueCellItem gnv = ((UnitMeterReadingList.UnitMeterReadingListInfo)e.Item.DataItem).LT_UnitMeterReading_Label_WorkorderItemID;
GridDataItem dataItem = e.Item as GridDataItem;
if (e.Item.IsInEditMode)
{
//RadComboBox cb = e.Item.FindControl("cbtitle") as Telerik.Web.UI.RadComboBox;
//Util.ComboPopulateBizList("ContactTitle", cb, false, null);
//cb.SelectedValue = selectedTitleID;
}
else
{
GridColumn gc=e.Item.OwnerTableView.Columns.FindByUniqueName("LT_UnitMeterReading_Label_WorkorderItemID");
HyperLink hl = dataItem[gc].Controls[0] as HyperLink;
if (gnv.Value != Guid.Empty)
{
Guid woid = WorkorderIDFetcher.GetWorkorderByRelative(RootObjectTypes.WorkorderItem, gnv.Value);
hl.NavigateUrl = "WorkorderEdit.aspx?id=" + woid.ToString();
hl.Text = gnv.Display;
hl.Target = "_blank";
}
else
{
hl.NavigateUrl = "";
hl.Text = "";
}
}
}
}
protected void Grid_UpdateCommand(object source, GridCommandEventArgs e)
{
if (e.Item is GridEditFormItem)
{
GridEditFormItem editFormItem = e.Item as GridEditFormItem;
TextBox notes = editFormItem.FindControl("tbNotes") as TextBox;
TextBox meter = editFormItem.FindControl("tbMeter") as TextBox;
Telerik.Web.UI.RadDateTimePicker dp = editFormItem.FindControl("dtMeterDate") as Telerik.Web.UI.RadDateTimePicker;
UnitMeterReading u = UnitMeterReading.NewItem();
u.UnitID = new Guid(Request.QueryString["id"].ToString());
if (Request.QueryString["woitemid"] != null)
{
u.WorkorderItemID = new Guid(Request.QueryString["woitemid"].ToString());
}
u.MeterDate = dp.DbSelectedDate;
u.Meter = Util.ParseLong(meter.Text);
u.Description = Util.ObjectToString(notes.Text);
u.Save();
//TODO: No broken rules for meter reading so no need to
//cancel, but if in future a broken rule is added for empty meter reading
//or bad date etc then the following will cancel the save and return still
//in edit mode
//e.Canceled = true;
}
}
protected void Grid_ItemCommand(object source, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.InitInsertCommandName)
{
e.Canceled = true;
e.Item.OwnerTableView.InsertItem();
GridEditableItem insertedItem = e.Item.OwnerTableView.GetInsertItem();
GridEditFormItem editFormItem = insertedItem as GridEditFormItem;
Telerik.Web.UI.RadDateTimePicker dp = editFormItem.FindControl("dtMeterDate") as Telerik.Web.UI.RadDateTimePicker;
dp.DbSelectedDate = DBUtil.CurrentWorkingDateTime;//case 1163
}
}
#endregion
#region Menu items
protected void mnu_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
{
if (e.Item.Value.StartsWith("PRINT"))
{
string[] s = e.Item.Value.Split(',');
Util.Report(Page, s[1], UnitMeterReadingList.ReportKey,
UnitMeterReadingList.GetList(new Guid(Request.QueryString["id"].ToString()), ""));
}
}
#endregion
}