hi,
on edit i am getting below error in firefox:
Error: Sys.WebForms.PageRequestManagerServerErrorException: Specified argument was out of the range of valid values.
Parameter name: ItemHierarchicalIndex
below is my ASCX page:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="InventoryAdjustmentControl.ascx.cs" Inherits="IT2.Web.Controls.Inventory.InventoryAdjustmentControl" %>
<%@ Register TagName="InventoryFilterControl" TagPrefix="IT2" Src="~/Controls/Inventory/InventoryFilterControl.ascx" %>
<telerik:RadAjaxPanel ID = "AjaxPanel1" runat = "server" LoadingPanelID="MasterLoadingPanel" ClientEvents-OnRequestStart="centerLoadingPanel()">
<IT2:InventoryFilterControl ID="InventoryFilterControl" runat="server" OnInventoryFilterChanged="LoadInventoryAdjustmentGrid" />
<asp:Panel ID="StockOrderPanel" runat="server" CssClass="Shaded">
<telerik:RadGrid ID = "InventoryAdjustmentGrid" runat = "server" EnableAJAX="true" AlternatingItemStyle-BackColor="LightGray"
AutoGenerateColumns="false" OnDetailTableDataBind = "InventoryAdjustmentGrid_DetailTableDataBind" OnUpdateCommand="InventoryAdjustmentGrid_Update"
AllowPaging="true" OnItemDataBound="InventoryAdjustmentGrid_ItemDataBound" OnInsertCommand="InventoryAdjustmentGrid_Insert"
OnNeedDataSource="InventoryAdjustmentGrid_NeedDataSource" AllowCustomPaging = "true" PagerStyle-Visible="true"
OnDeleteCommand="InventoryAdjustmentGrid_Delete" OnPreRender="InventoryAdjustmentGrid_PreRender" OnItemCommand = "InventoryAdjustmentGrid_ItemCommand"
OnPageIndexChanged = "InventoryAdjustmentGrid_PageIndexChanged" >
<MasterTableView Name = "InventoryAdjustmentMaster" CommandItemDisplay="Top" EditMode="EditForms" DataKeyNames="ID" NoMasterRecordsText="No data found."
NoDetailRecordsText="" AllowPaging="True" AllowFilteringByColumn="false" AllowSorting = "true"
ExpandCollapseColumn-CollapseImageUrl="~/Images/Icons/HideDetailsIcon.gif"
ExpandCollapseColumn-ExpandImageUrl="~/Images/Icons/ShowDetailsIcon.gif" ExpandCollapseColumn-ButtonType="ImageButton">
<Columns>
<telerik:GridTemplateColumn UniqueName = "AdjustmentNumCol" HeaderText = "Adjustment #" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center">
<ItemTemplate>
<asp:Label ID = "AdjustmentNumLbl" runat = "server" Text = '<%#DataBinder.Eval(Container.DataItem, "ID")%>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName = "AdjustmentDateCol" DataField = "AdjustmentDateDisplayString" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center" ReadOnly = "true"
HeaderText="<span class = 'SpanSortStyle' >Adjustment Date</span>"/>
<IT2:MyCustomFilteringColumn HeaderText="Item Type" DataField="ItemType" UniqueName="ItemTypeCol" ListItemWidth = "150px" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center" > <%--OnListIndexChanged="LoadInventoryAdjustmentGrid" --%>
<ItemTemplate>
<asp:Label ID="ItemTypeLabel" runat="server" Text=""/>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="ItemTypeCombo" runat="server" Width = "200px">
<Items>
<telerik:RadComboBoxItem Text="Frame" Value="1" />
<telerik:RadComboBoxItem Text="Accessory" Value="2" />
<%--<telerik:RadComboBoxItem Text="Contacts" Value="3" />--%>
</Items>
</telerik:RadComboBox>
</EditItemTemplate>
</IT2:MyCustomFilteringColumn>
<telerik:GridTemplateColumn UniqueName = "AdjustmentStatusCol" HeaderText = "Adjustment Status" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center">
<ItemTemplate>
<asp:Label ID = "AdjustmentStatusLbl" runat = "server" Text = ""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName = "NotesCol" HeaderText = "Notes" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center">
<%--<ItemTemplate>
<asp:Label ID = "NotesLbl" runat = "server" Text = '<%#DataBinder.Eval(Container.DataItem, "Notes")%>' ></asp:Label>
</ItemTemplate>--%>
<ItemTemplate>
<asp:ImageButton ID = "NotesButton" runat = "server" OnClientClick = '<%# Eval("ID", "DisplayNotesDialog({0},\"Adjustments\");return false;") %>' ImageUrl ="~/Images/Icons/note_present.gif" ToolTip="Notes" style =" padding:0 3 0 2;" />
</ItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID = "NotesTxt" runat = "server" Text ='<%#DataBinder.Eval(Container.DataItem, "Notes")%>' TextMode = "MultiLine" Width = "200px"></telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="ActionsCol" AllowFiltering="false">
<ItemTemplate>
<table width = "120px"><tr>
<asp:ImageButton ID = "EditButton" runat = "Server" CommandName="Edit" CommandArgument = '<%# Eval("ID")%>' ImageUrl="~/Images/Icons/Edit.gif" ToolTip="Edit" style =" padding:0 3 0 2;"></asp:ImageButton>
<asp:ImageButton ID = "DeleteButton" runat = "Server" CommandName="Delete" CommandArgument = '<%# Eval("ID")%>' ImageUrl="~/Images/Icons/Delete.gif" ToolTip="Delete" OnClientClick = "javascript:if(confirm('Are you sure? Delete this Adjustment?')){return true;}else{return false;}"></asp:ImageButton>
<asp:ImageButton ID = "SaveButton" runat = "Server" CommandName="Save" CommandArgument = '<%# Eval("ID")%>' ImageUrl="~/Images/Icons/save-16x16.png" ToolTip="Save" OnClientClick = "javascript:if(confirm('Are you sure? Save this Adjustment?')){return true;}else{return false;}"></asp:ImageButton>
<%--<asp:ImageButton ID = "ConfirmAndSendButton" runat = "server" CommandName = "ConfirmAndSend" CommandArgument = '<%# Eval("ID")%>' ImageUrl = "../../Content/images/icons/send.gif" ToolTip="Send Stock Order" style =" padding:0 3 0 2;"
OnClientClick = "javascript:if(confirm('Are you sure? Send this stock order?')){return true;}else{return false;}"/>--%>
</tr></table>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<table width="100%" class="StockOrderHeading">
<tr >
<td align="left" class="RadGridHeader">
<asp:Label ID = "MasterGridHeader" runat = "server" Text = "Inventory Adjustment" style =" font-size:16px;font-family:segoe ui; color: White;"></asp:Label>
</td>
<td align="right">
<asp:LinkButton ID="LinkButtonAddAdjustment" runat="server" CommandArgument="AddAdjustment" CommandName="InitInsert"
Visible="true" Font-Bold="true">
<asp:Label ID = "MasterLinkButtonLbl" runat = "server" Text = "Add Adjustment" style =" font-size:12px;font-family:segoe ui; color: White;"></asp:Label></asp:LinkButton>
</td>
</tr>
</table>
</CommandItemTemplate>
<EditFormSettings>
<EditColumn UniqueName = "EditCommandColumn"></EditColumn>
<EditColumn ButtonType = "ImageButton" CancelImageUrl="~/Images/icons/Cancel.gif" InsertImageUrl ="~/Images/icons/Update.gif" UpdateImageUrl="~/Images/icons/Update.gif"></EditColumn>
<FormStyle BackColor = "#CAEEFE" />
</EditFormSettings>
<DetailTables>
<telerik:GridTableView Name = "InventoryAdjustmentDetail" DataKeyNames="ID" CommandItemDisplay="Top" EditMode="EditForms" AllowPaging="true" PageSize = "5" Width = "100%">
<Columns>
<telerik:GridTemplateColumn HeaderText="Item #" UniqueName="ItemNumCol">
<ItemTemplate>
<asp:Label ID = "ItemNumLbl" runat = "server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName = "ItemNameCol" HeaderText = "Item Name">
<ItemTemplate>
<asp:Label ID = "ItemNameLbl" runat = "server" Text = ""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName = "EmployeeCol" HeaderText = "Associate">
<ItemTemplate>
<asp:Label ID = "EmployeeLbl" runat = "server" Text = ""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Transaction Type" UniqueName="TransactionTypeCol">
<ItemTemplate>
<asp:Label ID = "TransactionTypeLbl" runat = "server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName = "TransactionDateCol" HeaderText = "Transaction Date" DataField = "TransactionDateDisplayString" ReadOnly = "true"/>
<telerik:GridTemplateColumn HeaderText="Adjustment Reason" UniqueName="AdjustmentReasonCol">
<ItemTemplate>
<asp:Label ID = "AdjustmentReasonLbl" runat = "server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Quantity" UniqueName="QuantityCol">
<ItemTemplate>
<asp:Label ID = "QuantityLbl" runat = "server"></asp:Label><%-- Text='<%#DataBinder.Eval(Container.DataItem, "Quantity")%>'--%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName = "TransitInQuantityCol" HeaderText = "Transit In Quantity" DataField = "TransitQuantityDisplay" ReadOnly = "true"/>
<telerik:GridTemplateColumn UniqueName="ActionsCol" AllowFiltering="false">
<ItemTemplate>
<table>
<tr>
<%-- <asp:ImageButton ID="DetailEditButton" runat="Server" CommandName="Edit" CommandArgument='<%# Eval("ID")%>'
ImageUrl="../../RadControls/Grid/Skins/Vista/Edit.gif" ToolTip="Edit Detail" Style="padding: 0 3 0 2;">
</asp:ImageButton> --%>
<%-- <asp:ImageButton ID="ImageButton2" runat="Server" CommandName="Delete" CommandArgument='<%# Eval("ID")%>'
ImageUrl="../../RadControls/Grid/Skins/Vista/Delete.gif" ToolTip="Delete Stock Receipt"
OnClientClick="javascript:if(confirm('Are you sure? Delete this activity?')){return true;}else{return false;}" Style="padding: 0 3 0 2;">
</asp:ImageButton>--%>
<%--<asp:CheckBox ID = "ReceiveItemChk" runat = "server" Visible = "false"/> --%>
</tr>
</table>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<table width="100%" class="StockOrderHeading">
<tr>
<td align="left" class="RadGridHeader">
<asp:Label ID = "MasterGridHeader" runat = "server" Text = "Inventory Activity" style =" font-size:16px;font-family:segoe ui;color :White;"></asp:Label>
</td>
<td align="right">
<asp:LinkButton ID="LinkButtonAddAdjustment" runat="server" CommandArgument="AddActivity" CommandName="InitInsert"
Visible="true" Font-Bold="true">
<asp:Label ID = "DetailLinkButtonLbl" runat = "server" Text = "Add Activity" style =" font-size:12px;font-family:segoe ui;color :White;"></asp:Label></asp:LinkButton>
</td>
</tr>
</table>
</CommandItemTemplate>
<EditFormSettings UserControlName="~/Controls/Inventory/InventoryDetailEditFormControl.ascx" EditFormType="WebUserControl">
<EditColumn ButtonType = "ImageButton" UniqueName = "EditCommandColumn" ></EditColumn>
<FormStyle BackColor = "#CAEEFE" />
</EditFormSettings>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
<PagerStyle AlwaysVisible="true" />
</telerik:RadGrid>
</asp:Panel>
</telerik:RadAjaxPanel>
<asp:HiddenField ID = "ItemIDFromDialogHidden" runat = "server" />
<asp:HiddenField ID = "StockOrderNumHidden" runat = "server" />
<asp:HiddenField ID = "ShouldCommitHidden" runat = "server" />
<telerik:RadWindow ID="DisplayStockItemSearch" runat="server" onclientclose="SearchDialogClose"
Skin="WebBlue" Modal="True" NavigateUrl="~/Dialogs/Inventory/ItemContactLensSearch.aspx"
Title="Stock Item Search" Width="1000px" Height="800px" KeepInScreenBounds="true"
ShowContentDuringLoad="false" VisibleStatusbar="False" BorderStyle="Groove" Behaviors="Close">
</telerik:RadWindow>
<telerik:RadWindow ID="DisplayNotes" runat="server"
Skin="WebBlue" Modal="True" NavigateUrl="~/Dialogs/Inventory/NotesDialog.aspx"
Title="Notes" Width="480px" Height="335px" KeepInScreenBounds="true"
ShowContentDuringLoad="false" VisibleStatusbar="False" BorderStyle="Groove" Behaviors="Close">
</telerik:RadWindow>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script language="javascript" type="text/javascript">
function DoLookup()
{
var requestedPage = "Inventory";
DisplayStockOrderSearchDialog(requestedPage);
}
function DisplayStockOrderSearchDialog(requestedPage, itemType, itemIDTextBox)
{
// var dt = new Date();
// var date = dt.getTime();
//alert(itemIDTextBox);
//var item = document.getElementById(itemIDTextBox);
//alert(item.value);
var hiddenItemId = document.getElementById('<%=ItemIDFromDialogHidden.ClientID%>');
hiddenItemId.value = itemIDTextBox;
var Wnd = $find('<%=DisplayStockItemSearch.ClientID%>');
if(!Wnd)
{
setTimeout("DisplayStockOrderSearchDialog()", 200);
return;
}
if(requestedPage && itemType)
{
var url = Wnd.get_navigateUrl();
if( url.indexOf("?") > 0 )
url = url.split("?")[0];
url = ( url + '?InventoryLookup=' + requestedPage + '&ItemType=' + itemType );
Wnd.setUrl(url);
}
Wnd.show();
}
function SearchDialogClose(sender, args)
{
// check if the dialog closed with an argument set
if (sender.argument != null)
{
var ItemID = sender.argument.ItemID;
setTimeout("SetHiddenField("+ItemID+")", 200);
}
}
function RefreshPage()
{
window.location.href = window.location.href;
}
function SetHiddenField(ItemID)
{
var hiddenItemId = document.getElementById('<%=ItemIDFromDialogHidden.ClientID%>');
var itemIDTextBox = hiddenItemId.value;
var textBox = $find(itemIDTextBox);
textBox.set_value(ItemID);
}
function ConfirmPrint(SrockOrderNum)
{
var confirmPrint = confirm("Printing the report will set the status to 'Sent'");
if(confirmPrint)
{
var stockOrderNumHidden = document.getElementById('<%=StockOrderNumHidden.ClientID%>');
stockOrderNumHidden.value = SrockOrderNum;
var ajxMgr = $find("<%= IT2.BackOffice.Utility.RadAjaxHelper.AjaxManager.ClientID %>");
ajxMgr.ajaxRequest('SetStatus');
}
}
function PrintStockOrderReport(SrockOrderNum)
{
var pageUrl = '<%=ResolveUrl("~/Reports/StockOrderReport.aspx") %>' + '?StockOrderNum=' + SrockOrderNum;
window.open(pageUrl,'','height=1000,width=800,scrollbars=1');
}
function DisplayNotesDialog(ReferenceNum, Type)
{
setTimeout("DisplayDialog("+ReferenceNum+",'"+Type+"')",200);
}
function DisplayDialog(ReferenceNum, Type)
{
var Wnd = $find('<%=DisplayNotes.ClientID%>');
if(ReferenceNum && Type)
{
var url = Wnd.get_navigateUrl();
if( url.indexOf("?") > 0 )
url = url.split("?")[0];
url = ( url + '?' + 'ReferenceNum=' + ReferenceNum + '&Type=' + Type);
Wnd.setUrl(url);
}
Wnd.show();
}
function ConfirmActivityCommit() {
var shouldCommit = document.getElementById('<%=ShouldCommitHidden.ClientID%>');
var result = confirm("You want to commit this activity to Inventory ?");
if (result) {
shouldCommit.value = true;
}
else {
shouldCommit.value = false;
}
}
function checkquantity(TextBoxClientID) {
var shouldCommit = document.getElementById('<%=ShouldCommitHidden.ClientID%>');
if ($find(TextBoxClientID).get_textBoxValue() != 0) {
ConfirmActivityCommit();
return true;
}
else {
shouldCommit.value = false;
return false;
}
}
</script>
</telerik:RadScriptBlock>
MY ASCX.CS PAGE IS:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using IT2.BackOffice.Controls.Ajax;
using Telerik.Web.UI;
using System.Collections.Generic;
using IT2.Core;
using IT2.BackOffice.Utility;
using IT2.Services;
using IT2.Ioc;
using IT2.BackOffice.Controls.Inventory;
using BackOffice.Utility;
namespace IT2.Web.Controls.Inventory
{
public partial class InventoryAdjustmentControl : System.Web.UI.UserControl
{
IItemServices _ItemServices = Container.Resolve<IItemServices>();
IInventoryServices _InventoryServices = Container.Resolve<IInventoryServices>();
IEmployeeServices _EmployeeServices = Container.Resolve<IEmployeeServices>();
IOfficeServices _OfficeServices = Container.Resolve<IOfficeServices>();
ILookupServices _LookupServices = Container.Resolve<ILookupServices>();
int PageSize = 6;
int DetailTablePageSize = 6;
public int MasterPageNumber
{
get
{
if (ViewState["PageNumber"] != null)
{
return (int)ViewState["PageNumber"];
}
else
return 0;
}
set { ViewState["PageNumber"] = value; }
}
public bool isPageIndexChanged
{
get
{
if (ViewState["isPageIndexChanged"] != null)
{
return (bool)ViewState["isPageIndexChanged"];
}
else
return false;
}
set { ViewState["isPageIndexChanged"] = value; }
}
public int ListItemTypeSelected
{
get
{
if (ViewState["ListItemTypeSelected"] != null)
{
return (int)ViewState["ListItemTypeSelected"];
}
else
return 0;
}
set { ViewState["ListItemTypeSelected"] = value; }
}
public int DetailTablePageNumber
{
get
{
if (ViewState["DetailTablePageNumber"] != null)
{
return (int)ViewState["DetailTablePageNumber"];
}
else
return 0;
}
set { ViewState["DetailTablePageNumber"] = value; }
}
public string itemTypeSelected
{
get
{
if (ViewState["itemTypeSelected"] != null)
{
return (string)ViewState["itemTypeSelected"];
}
else
return "";
}
set { ViewState["itemTypeSelected"] = value; }
}
public string ExpandCommand
{
get
{
if (ViewState["ExpandCommand"] != null)
{
return (string)ViewState["ExpandCommand"];
}
else
return "";
}
set { ViewState["ExpandCommand"] = value; }
}
public string DistributionCenter
{
get
{
if (ViewState["DistributionCenter"] != null)
{
return (string)ViewState["DistributionCenter"];
}
else
return "999";
}
set { ViewState["DistributionCenter"] = value; }
}
public int ReferenceNumtoExpand
{
get
{
if (ViewState["ReferenceNumtoExpand"] != null)
{
return (int)ViewState["ReferenceNumtoExpand"];
}
else
return 0;
}
set { ViewState["ReferenceNumtoExpand"] = value; }
}
public static InventoryActivity SavedActivity
{
get
{
object obj = HttpContext.Current.Session["SavedActivity"];
if (obj != null)
return (InventoryActivity)obj;
else
return null;
}
set
{
HttpContext.Current.Session["SavedActivity"] = value;
}
}
public bool ShouldCommit
{
get
{
object obj = HttpContext.Current.Session["ShouldCommit"];
if (obj != null)
return (bool)obj;
else
return false;
}
set
{
HttpContext.Current.Session["ShouldCommit"] = value;
}
}
//public static RadAjaxManager AjaxManager
//{
// get
// {
// return HttpContext.Current.Items["AjaxManager"] as RadAjaxManager;
// }
//}
protected void Page_Load(object sender, EventArgs e)
{
//LoadItemTypeFilterCombo();
InventoryFilterControl.ShowHideFilterCombos(false, "InventoryAdjustment");
RadAjaxHelper.AjaxManager.AjaxRequest +=
new Telerik.Web.UI.RadAjaxManager.AjaxRequestDelegate(AjaxManager_AjaxRequest);
if (!Page.IsPostBack)
{
CompanyInformation company = _OfficeServices.GetCompanyInformationByID(OfficeData.CompanyID);
DistributionCenter = company != null ? company.DistributionCenter : "999";
}
}
protected void Page_LoadComplete(object sender, EventArgs e)
{
RadAjaxHelper.AjaxManager.AjaxRequest +=
new Telerik.Web.UI.RadAjaxManager.AjaxRequestDelegate(AjaxManager_AjaxRequest);
}
private void LoadItemTypeFilterCombo()
{
MyCustomFilteringColumn ItemTypeColumn = InventoryAdjustmentGrid.MasterTableView.Columns.FindByUniqueName("ItemTypeCol") as MyCustomFilteringColumn;
IList<ListItem> dataSource = new List<ListItem>();
ListItem li = new ListItem("All", "0");
dataSource.Add(li);
li = new ListItem("Frames", ((int)ItemTypeEnum.Frames).ToString());
dataSource.Add(li);
li = new ListItem("Accessory", ((int)ItemTypeEnum.Accessory).ToString());
dataSource.Add(li);
li = new ListItem("Contacts", ((int)ItemTypeEnum.ContactLensStock).ToString());
dataSource.Add(li);
ItemTypeColumn.ListDataTextField = "Text";
ItemTypeColumn.ListDataValueField = "Value";
ItemTypeColumn.ListDataSource = dataSource;
ItemTypeColumn.ListSelectedValue = ListItemTypeSelected.ToString();
}
protected void LoadInventoryAdjustmentGrid(object source, InventoryFilterControlEventArgs e)
{
//MyCustomFilteringColumn ItemTypeColumn = StockOrderGrid.MasterTableView.Columns.FindByUniqueName("ItemTypeCol") as MyCustomFilteringColumn;
//if (e.SelectedValue == ((int)ItemTypeEnum.Frames).ToString())
//{
// ListItemTypeSelected = ((int)ItemTypeEnum.Frames);
//}
//else if (e.SelectedValue == ((int)ItemTypeEnum.Accessory).ToString())
//{
// ListItemTypeSelected = ((int)ItemTypeEnum.Accessory);
//}
//else if (e.SelectedValue == ((int)ItemTypeEnum.ContactLensStock).ToString())
//{
// ListItemTypeSelected = ((int)ItemTypeEnum.ContactLensStock);
//}
//else
//{
// ListItemTypeSelected = 0;
//}
ListItemTypeSelected = e.ItemTypeSelected;
MasterPageNumber = 0;
InventoryAdjustmentGrid.Rebind();
}
protected void InventoryAdjustmentGrid_PreRender(object sender, EventArgs e)
{
bool isExpanded = false;
foreach (GridDataItem dataItem in InventoryAdjustmentGrid.MasterTableView.Items)
{
InventoryAdjustment adjustment = (InventoryAdjustment)dataItem.DataItem;
if (ExpandCommand == "PerformInsert" && adjustment != null && adjustment.ID == ReferenceNumtoExpand)
dataItem.Expanded = true;
if (dataItem.Expanded)
{
dataItem.Enabled = true;
isExpanded = true;
GridNestedViewItem nestedItem = dataItem.ChildItem;
Panel panel = (Panel)nestedItem.FindControl("PanelID");
if (dataItem.ItemType == GridItemType.AlternatingItem)
{
dataItem.BackColor = System.Drawing.Color.FromArgb(202, 238, 254);//.Aqua;
}
if (dataItem.ItemType == GridItemType.Item)
{
dataItem.BackColor = System.Drawing.Color.FromArgb(202, 238, 254);
}
}
else
{
if (dataItem.ItemType == GridItemType.AlternatingItem)
{
dataItem.BackColor = System.Drawing.Color.LightGray;
}
if (dataItem.ItemType == GridItemType.Item)
{
dataItem.BackColor = System.Drawing.Color.White;
}
}
}
foreach (GridDataItem dataItem in InventoryAdjustmentGrid.MasterTableView.Items)
{
if (isExpanded == true)
{
if (dataItem.Expanded)
{
dataItem.Enabled = true;
dataItem.BackColor = System.Drawing.Color.FromArgb(202, 238, 254);
}
else
{
dataItem.Enabled = false;
dataItem.BackColor = System.Drawing.Color.FromArgb(236, 233, 216);
dataItem.Style.Add("cursor", "default");
}
}
else
{
dataItem.Enabled = true;
}
}
isExpanded = false;
ExpandCommand = "Collapse";
}
protected void InventoryAdjustmentGrid_PageIndexChanged(object source, Telerik.Web.UI.GridPageChangedEventArgs e)
{
if (e.Item.OwnerTableView.ParentItem == null)
{
MasterPageNumber = e.NewPageIndex;
isPageIndexChanged = true;
InventoryAdjustmentGrid.Rebind();
}
else
{
DetailTablePageNumber = e.NewPageIndex;
e.Item.OwnerTableView.Rebind();
}
}
protected void InventoryAdjustmentGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
int totalRecords = 0;
int FirstResult = (ShouldApplySortFilter() && isPageIndexChanged == false) ?
0 : MasterPageNumber * PageSize;
string officeNum = DistributionCenter;
IList<IT2.Core.InventoryAdjustment> InvAdjustments = new List<InventoryAdjustment>();
InvAdjustments = _InventoryServices.GetAllInventoryAdjustmentsByCriteria(ListItemTypeSelected, PageSize, FirstResult, out totalRecords, officeNum);
//int FirstResult = PageNumber * PageSize;
InventoryAdjustmentGrid.DataSource = InvAdjustments;
InventoryAdjustmentGrid.MasterTableView.VirtualItemCount = totalRecords;
InventoryAdjustmentGrid.PageSize = PageSize;
}
protected void InventoryAdjustmentGrid_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)
{
GridDataItem parentItem = (GridDataItem)e.DetailTableView.ParentItem;
if (parentItem == null)
return;
int InvAdjustmentID = Int32.Parse(e.DetailTableView.ParentItem.GetDataKeyValue("ID").ToString());
InventoryAdjustment invAdjustment = _InventoryServices.GetInventoryAdjustmentByID(InvAdjustmentID);
int startingResult = DetailTablePageNumber * DetailTablePageSize;
int MaxResults = DetailTablePageSize;
int totalRecords = 0;
IList<InventoryActivity> invActivityList = new List<InventoryActivity>();
if (invAdjustment != null)
{
invActivityList = _InventoryServices.GetInventoryActivityBySearchCriteria(invAdjustment.ID, DistributionCenter, (int)InventoryTransactionTypeEnum.Adjustment, startingResult, MaxResults, out totalRecords);
}
if (e != null)
{
e.DetailTableView.DataSource = invActivityList;
e.DetailTableView.VirtualItemCount = totalRecords;
}
}
public bool ShouldApplySortFilter()
{
if (ListItemTypeSelected != 0)//|| StockOrderGrid.MasterTableView.SortExpressions.Count > 0 StockOrderGrid.MasterTableView.FilterExpression != ""
return true;
else
return false;
}
protected void InventoryAdjustmentGrid_ItemCommand(object source, GridCommandEventArgs e)
{
if (e.Item.OwnerTableView.Name == "InventoryAdjustmentMaster")
{
GridDataItem dataItem = e.Item as GridDataItem;
if (dataItem != null)
{
int adjustmentID = 0;
if (dataItem.GetDataKeyValue("ID") != null && dataItem.GetDataKeyValue("ID").ToString() != "")
adjustmentID = Int32.Parse(dataItem.GetDataKeyValue("ID").ToString());
InventoryAdjustment invAdjustment = _InventoryServices.GetInventoryAdjustmentByID(adjustmentID);
if (e.CommandName == "Save")
{
if (invAdjustment != null)
{
invAdjustment.AdjustmentStatus = (int)InventoryAdjustmentStatusEnum.Saved;
_InventoryServices.SaveInventoryAdjustment(invAdjustment);
}
e.Item.OwnerTableView.Rebind();
}
}
}
}
protected void InventoryAdjustmentGrid_ItemDataBound(object source, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem dataItem = e.Item as GridDataItem;
if (e.Item.DataItem is InventoryAdjustment)
{
ImageButton notesButton = e.Item.FindControl("NotesButton") as ImageButton;
ImageButton editButton = e.Item.FindControl("EditButton") as ImageButton;
ImageButton deleteButton = e.Item.FindControl("DeleteButton") as ImageButton;
ImageButton saveButton = e.Item.FindControl("SaveButton") as ImageButton;
Label AdjustmentStatusLbl = e.Item.FindControl("AdjustmentStatusLbl") as Label;
InventoryAdjustment adjustment = e.Item.DataItem as InventoryAdjustment;
if (adjustment != null && AdjustmentStatusLbl != null && editButton != null && deleteButton != null && saveButton!= null && notesButton != null)
{
if (adjustment.AdjustmentStatus != null)
{
if (adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Open)
{
AdjustmentStatusLbl.Text = "Open";
saveButton.Visible = true;
editButton.Visible = true;
deleteButton.Visible = true;
}
else if (adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Saved)
{
AdjustmentStatusLbl.Text = "Saved";
saveButton.Visible = false;
editButton.Visible = false;
deleteButton.Visible = false;
}
}
if (adjustment.ItemType != null)
{
Label itemTypeLbl = (Label)dataItem["ItemTypeCol"].FindControl("ItemTypeLabel");
itemTypeLbl.Text = adjustment.ItemTypeString;
}
if (adjustment.Notes == null || adjustment.Notes == "")
{
notesButton.Visible = false;
}
int detailsCount = 0;
//IList<InventoryActivity> activities = _InventoryServices.GetInventoryActivityBySearchCriteria(adjustment.ID, OfficeData.ID, (int)InventoryTransactionTypeEnum.Adjustment);
detailsCount = _InventoryServices.GetInventoryActivityListCountBySearchCriteria(adjustment.ID, DistributionCenter, (int)InventoryTransactionTypeEnum.Adjustment);
if (detailsCount != 0)//if (activities.count > 0)
{
editButton.Visible = false;
deleteButton.Visible = false;
}
}
}
else if (e.Item.DataItem is InventoryActivity)
{
InventoryActivity invActivity = e.Item.DataItem as InventoryActivity;
if (invActivity != null)
{
if (invActivity.Employee != null)
{
(e.Item.FindControl("EmployeeLbl") as Label).Text = invActivity.Employee.FIFullName;
}
if (invActivity.InvTransType != null)
{
GenLookup transType = _LookupServices.GetById(invActivity.InvTransType);
if (transType != null)
(e.Item.FindControl("TransactionTypeLbl") as Label).Text = transType.Description;
}
if (invActivity.AdjustmentReason != null)
{
GenLookup adjustmentReason = _LookupServices.GetById(invActivity.AdjustmentReason.Value);
if (adjustmentReason != null)
(e.Item.FindControl("AdjustmentReasonLbl") as Label).Text = adjustmentReason.Description;
}
if (invActivity.Item != null)
{
(e.Item.FindControl("ItemNumLbl") as Label).Text = invActivity.Item.Number;
(e.Item.FindControl("ItemNameLbl") as Label).Text = invActivity.Item.Name;
}
(e.Item.FindControl("QuantityLbl") as Label).Text = (invActivity.Quantity ?? 0).ToString();
}
}
}
else if (e.Item is GridCommandItem)
{
if (e.Item.OwnerTableView.Name == "InventoryAdjustmentDetail")
{
int adjustmentID = Int32.Parse(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("ID").ToString());
LinkButton addButton = e.Item.FindControl("LinkButtonAddAdjustment") as LinkButton;
if (adjustmentID != 0)
{
InventoryAdjustment adjustment = _InventoryServices.GetInventoryAdjustmentByID(adjustmentID);
if (adjustment != null && adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Saved)
{
addButton.Visible = false;
}
else if (adjustment != null && adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Open)
addButton.Visible = true;
}
}
}
else if (e.Item is GridEditFormItem && e.Item.IsInEditMode == true)
{
if (e.Item.OwnerTableView.Name == "InventoryAdjustmentMaster")
{
if ((e.Item.DataItem is GridInsertionObject))
{
GridEditFormInsertItem editFormItem = e.Item as GridEditFormInsertItem;
}
else
{
GridEditFormItem editFormItem = e.Item as GridEditFormItem;
InventoryAdjustment adjustment = e.Item.DataItem as InventoryAdjustment;
RadComboBox itemTypeCombo = editFormItem.FindControl("ItemTypeCombo") as RadComboBox;
itemTypeCombo.SelectedValue = adjustment.ItemType.ToString();
}
}
else if (e.Item.OwnerTableView.Name == "InventoryAdjustmentDetail")
{
GridEditableItem editFormItem = e.Item as GridEditableItem;
GridDataItem dataItem = e.Item as GridDataItem;
InventoryAdjustment invAdjustment = e.Item.DataItem as InventoryAdjustment;
int AdjustmentID = Int32.Parse(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("ID").ToString());
invAdjustment = _InventoryServices.GetInventoryAdjustmentByID(AdjustmentID);
UserControl editFormControl = null;
if ((e.Item.DataItem is GridInsertionObject))
{
GridEditFormInsertItem editFormDetailItem = e.Item as GridEditFormInsertItem;
editFormControl = e.Item.FindControl(GridEditFormInsertItem.EditFormUserControlID) as UserControl;
(editFormControl.FindControl("UpdateButton") as ImageButton).CommandName = "PerformInsert";
RadTextBox qty = editFormControl.FindControl("QuantityTxt") as RadTextBox;
(editFormControl.FindControl("UpdateButton") as ImageButton).Attributes.Add("Onclick", "javascript:if(checkquantity('" + qty.ClientID + "')){return true;}else{alert('Please enter a valid quantity');return false;}");
}
else
{
GridEditFormItem editFormDetailItem = e.Item as GridEditFormItem;
editFormControl = e.Item.FindControl(GridEditFormItem.EditFormUserControlID) as UserControl;
(editFormControl.FindControl("UpdateButton") as ImageButton).CommandName = "Update";
RadTextBox qty = editFormControl.FindControl("QuantityTxt") as RadTextBox;
(editFormControl.FindControl("UpdateButton") as ImageButton).Attributes.Add("Onclick", "javascript:if(checkquantity('" + qty.ClientID + "')){return true;}else{alert('Please enter a valid quantity');return false;}");
}
//(editFormControl.FindControl("UpdateButton") as ImageButton).Attributes.Add("onclick", "ConfirmActivityCommit();");
(editFormControl.FindControl("QuantityLbl") as Label).Text = "Quantity :";
InventoryLookupSearch lookupSearch = editFormControl.FindControl("InventoryLookupSearchControl") as InventoryLookupSearch;
(editFormControl.FindControl("RequestedScreen") as HiddenField).Value = "InventoryAdjustments";
lookupSearch.isInventoryDetailEditForm = true;
if (invAdjustment.ItemTypeString != "" && invAdjustment.ItemType != null)
{
lookupSearch.ItemTypeComboBox.Items.Clear();
lookupSearch.ItemTypeComboBox.Items.Add(new RadComboBoxItem(invAdjustment.ItemTypeString, invAdjustment.ItemType.ToString()));
lookupSearch.ItemTypeComboBox.SelectedIndex = 0;
lookupSearch.ItemTypeComboBox.Enabled = false;
}
RadComboBox adjustmentCombo = editFormControl.FindControl("AdjustmentReasonCombo") as RadComboBox;
IList<GenLookup> adjustmentReasonsList = _LookupServices.GetAll(LookupType.INVENTORY_ADJUSTMENT_REASONS);
adjustmentCombo.DataSource = adjustmentReasonsList;
adjustmentCombo.DataTextField = "Description";
adjustmentCombo.DataValueField = "ID";
adjustmentCombo.DataBind();
(editFormControl.FindControl("NotesLbl") as Label).Visible = false;
(editFormControl.FindControl("NotesTxt") as RadTextBox).Visible = false;
if (!(e.Item.DataItem is GridInsertionObject))
{
InventoryActivity activity = e.Item.DataItem as InventoryActivity;
if (activity.AdjustmentReason != null)
adjustmentCombo.SelectedValue = activity.AdjustmentReason.ToString();
if (activity.Item != null)
{
lookupSearch.UpcCodeTxtBox.Text = activity.Item.UPCCode;
lookupSearch.ItemNumTxtBox.Text = activity.Item.Number;
}
if (activity.Quantity != null)
(editFormControl.FindControl("QuantityTxt") as RadTextBox).Text = activity.Quantity.ToString();
}
}
}
}
protected void InventoryAdjustmentGrid_Insert(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.Item is GridEditFormInsertItem )
{
GridEditFormInsertItem editFormItem = e.Item as GridEditFormInsertItem;
if (e.Item.OwnerTableView.ParentItem == null)
{
InventoryAdjustment adjustment = new InventoryAdjustment();
string ItemTypeTxt = (e.Item.FindControl("ItemTypeCombo") as RadComboBox).SelectedValue;
if (ItemTypeTxt != null && ItemTypeTxt != "")
{
int itemType = Convert.ToInt32(ItemTypeTxt);
adjustment.ItemType = itemType;
}
adjustment.OfficeNum = DistributionCenter;
adjustment.Notes = (e.Item.FindControl("NotesTxt") as RadTextBox).Text;
adjustment.AdjustmentDate = GetAdjustedDate(DistributionCenter);
adjustment.AdjustmentStatus = (int)InventoryAdjustmentStatusEnum.Open;
_InventoryServices.SaveInventoryAdjustment(adjustment);
ExpandCommand = "PerformInsert";
ReferenceNumtoExpand = adjustment.ID;
}
else
{
if (ShouldCommitHidden.Value == "true")
ShouldCommit = true;
else
ShouldCommit = false;
if (ShouldCommit == true)
{
int InvAdjustmentID = Int32.Parse(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("ID").ToString());
InventoryActivity activity = new InventoryActivity();
UserControl editFormControl = editFormItem.FindControl(GridEditFormInsertItem.EditFormUserControlID) as UserControl;
InventoryActivity activtyReturned = GetInventoryActivity(activity, editFormControl);
if (activtyReturned != null)
{
activity.InvTransType = (int)InventoryTransactionTypeEnum.Adjustment;
activity.OfficeNum = DistributionCenter;
activity.ReferrenceNum = InvAdjustmentID;
_InventoryServices.SaveInventoryActivity(activity);
_InventoryServices.UpdateInventory(activity);
}
ExpandCommand = "PerformInsert";
ReferenceNumtoExpand = InvAdjustmentID;
e.Item.OwnerTableView.OwnerGrid.MasterTableView.Rebind();
//IT2.BackOffice.Utility.RadAjaxHelper.AjaxManager.ResponseScripts.Add("RefreshPage();");
//InventoryAdjustmentGrid.Rebind();
}
}
}
}
protected void InventoryAdjustmentGrid_Update(object sender, GridCommandEventArgs e)
{
if (e.Item is GridEditFormItem)
{
GridEditFormItem editFormItem = e.Item as GridEditFormItem;
int grid_item_id = Int32.Parse(editFormItem.GetDataKeyValue("ID").ToString());
//If the below condition is True, then the dataItem is a StockOrder Item.
if (e.Item.OwnerTableView.ParentItem == null)
{
InventoryAdjustment adjustment = _InventoryServices.GetInventoryAdjustmentByID(grid_item_id);
string ItemTypeTxt = (e.Item.FindControl("ItemTypeCombo") as RadComboBox).SelectedValue;
if (ItemTypeTxt != null && ItemTypeTxt != "")
{
int itemType = Convert.ToInt32(ItemTypeTxt);
adjustment.ItemType = itemType;
}
adjustment.Notes = (e.Item.FindControl("NotesTxt") as RadTextBox).Text;
_InventoryServices.SaveInventoryAdjustment(adjustment);
}
else
{
InventoryActivity activity = _InventoryServices.GetInventoryActivityByID(grid_item_id);
if (activity != null)
{
UserControl editFormControl = editFormItem.FindControl(GridEditFormInsertItem.EditFormUserControlID) as UserControl;
InventoryActivity activtyReturned = GetInventoryActivity(activity, editFormControl);
if (activtyReturned != null)
{
_InventoryServices.SaveInventoryActivity(activtyReturned);
}
}
}
}
}
private InventoryActivity GetInventoryActivity(InventoryActivity activity, UserControl editFormControl)
{
InventoryLookupSearch searchControl = editFormControl.FindControl("InventoryLookupSearchControl") as InventoryLookupSearch;
string OpcCode = searchControl.UpcCodeTxtBox.Text;
string ItemNumTxt = searchControl.ItemNumTxtBox.Text;
string ItemType = searchControl.ItemTypeComboBox.SelectedValue;
int itemTypeSelected = 0;
Item item = null;
if (ItemType != "")
itemTypeSelected = Int32.Parse(ItemType);
if (OpcCode == "" && ItemNumTxt == "")
{
RadAjaxHelper.AjaxManager.Alert("Please enter a valid Item Number or Upc Code");
return null;
}
else
{
item = _ItemServices.GetItemsBySearchFields(itemTypeSelected, OpcCode, ItemNumTxt);
if (item != null)
activity.Item = item;
string QuantityTxt = (editFormControl.FindControl("QuantityTxt") as RadTextBox).Text;
if (QuantityTxt != "")
{
activity.Quantity = Convert.ToInt32(QuantityTxt);
}
string adjustmentReason = (editFormControl.FindControl("AdjustmentReasonCombo") as RadComboBox).SelectedValue;
if (adjustmentReason != "")
{
activity.AdjustmentReason = Int32.Parse(adjustmentReason);
}
if (Page.User.Identity.Name != null && Page.User.Identity.Name != "")
{
Employee employee = Location.GetEmployeeByUserName(Page.User.Identity.Name);
activity.Employee = employee;
}
activity.TransactionDate = GetAdjustedDate(DistributionCenter);
return activity;
}
}
protected void InventoryAdjustmentGrid_Delete(object sender, GridCommandEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem dataItem = e.Item as GridDataItem;
int grid_item_id = Int32.Parse(dataItem.GetDataKeyValue("ID").ToString());
if (grid_item_id != 0)
{
if (e.Item.OwnerTableView.ParentItem == null)
{
InventoryAdjustment adjustment = _InventoryServices.GetInventoryAdjustmentByID(grid_item_id);
_InventoryServices.DeleteInventoryAdjustment(adjustment);
IList<InventoryActivity> activities = _InventoryServices.GetInventoryActivityBySearchCriteria(adjustment.ID, DistributionCenter, (int)InventoryTransactionTypeEnum.Adjustment);
foreach (InventoryActivity activity in activities)
{
_InventoryServices.DeleteInventoryActivity(activity);
}
}
else
{
InventoryActivity activity = _InventoryServices.GetInventoryActivityByID(grid_item_id);
_InventoryServices.DeleteInventoryActivity(activity);
}
}
}
}
protected void AjaxManager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
if (e.Argument == "CommitActivity")
{
ShouldCommit = true;
}
else if (e.Argument == "CancelCommit")
{
ShouldCommit = false;
}
}
private DateTime GetAdjustedDate(string officeNum)
{
DateTime now = DateTime.Now;
Office office = _OfficeServices.GetByID_OrNull(officeNum);
if (office != null && office.TimeZone != null)
now = Common.ConvertDateTimeToTimeZone(DateTime.Now, office.TimeZone, office.UseDST ?? false);
return now;
}
}
}
please suggest me the solution for this error.
on edit i am getting below error in firefox:
Error: Sys.WebForms.PageRequestManagerServerErrorException: Specified argument was out of the range of valid values.
Parameter name: ItemHierarchicalIndex
below is my ASCX page:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="InventoryAdjustmentControl.ascx.cs" Inherits="IT2.Web.Controls.Inventory.InventoryAdjustmentControl" %>
<%@ Register TagName="InventoryFilterControl" TagPrefix="IT2" Src="~/Controls/Inventory/InventoryFilterControl.ascx" %>
<telerik:RadAjaxPanel ID = "AjaxPanel1" runat = "server" LoadingPanelID="MasterLoadingPanel" ClientEvents-OnRequestStart="centerLoadingPanel()">
<IT2:InventoryFilterControl ID="InventoryFilterControl" runat="server" OnInventoryFilterChanged="LoadInventoryAdjustmentGrid" />
<asp:Panel ID="StockOrderPanel" runat="server" CssClass="Shaded">
<telerik:RadGrid ID = "InventoryAdjustmentGrid" runat = "server" EnableAJAX="true" AlternatingItemStyle-BackColor="LightGray"
AutoGenerateColumns="false" OnDetailTableDataBind = "InventoryAdjustmentGrid_DetailTableDataBind" OnUpdateCommand="InventoryAdjustmentGrid_Update"
AllowPaging="true" OnItemDataBound="InventoryAdjustmentGrid_ItemDataBound" OnInsertCommand="InventoryAdjustmentGrid_Insert"
OnNeedDataSource="InventoryAdjustmentGrid_NeedDataSource" AllowCustomPaging = "true" PagerStyle-Visible="true"
OnDeleteCommand="InventoryAdjustmentGrid_Delete" OnPreRender="InventoryAdjustmentGrid_PreRender" OnItemCommand = "InventoryAdjustmentGrid_ItemCommand"
OnPageIndexChanged = "InventoryAdjustmentGrid_PageIndexChanged" >
<MasterTableView Name = "InventoryAdjustmentMaster" CommandItemDisplay="Top" EditMode="EditForms" DataKeyNames="ID" NoMasterRecordsText="No data found."
NoDetailRecordsText="" AllowPaging="True" AllowFilteringByColumn="false" AllowSorting = "true"
ExpandCollapseColumn-CollapseImageUrl="~/Images/Icons/HideDetailsIcon.gif"
ExpandCollapseColumn-ExpandImageUrl="~/Images/Icons/ShowDetailsIcon.gif" ExpandCollapseColumn-ButtonType="ImageButton">
<Columns>
<telerik:GridTemplateColumn UniqueName = "AdjustmentNumCol" HeaderText = "Adjustment #" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center">
<ItemTemplate>
<asp:Label ID = "AdjustmentNumLbl" runat = "server" Text = '<%#DataBinder.Eval(Container.DataItem, "ID")%>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName = "AdjustmentDateCol" DataField = "AdjustmentDateDisplayString" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center" ReadOnly = "true"
HeaderText="<span class = 'SpanSortStyle' >Adjustment Date</span>"/>
<IT2:MyCustomFilteringColumn HeaderText="Item Type" DataField="ItemType" UniqueName="ItemTypeCol" ListItemWidth = "150px" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center" > <%--OnListIndexChanged="LoadInventoryAdjustmentGrid" --%>
<ItemTemplate>
<asp:Label ID="ItemTypeLabel" runat="server" Text=""/>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox ID="ItemTypeCombo" runat="server" Width = "200px">
<Items>
<telerik:RadComboBoxItem Text="Frame" Value="1" />
<telerik:RadComboBoxItem Text="Accessory" Value="2" />
<%--<telerik:RadComboBoxItem Text="Contacts" Value="3" />--%>
</Items>
</telerik:RadComboBox>
</EditItemTemplate>
</IT2:MyCustomFilteringColumn>
<telerik:GridTemplateColumn UniqueName = "AdjustmentStatusCol" HeaderText = "Adjustment Status" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center">
<ItemTemplate>
<asp:Label ID = "AdjustmentStatusLbl" runat = "server" Text = ""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName = "NotesCol" HeaderText = "Notes" AllowFiltering = "false" HeaderStyle-HorizontalAlign = "Center" ItemStyle-HorizontalAlign = "Center">
<%--<ItemTemplate>
<asp:Label ID = "NotesLbl" runat = "server" Text = '<%#DataBinder.Eval(Container.DataItem, "Notes")%>' ></asp:Label>
</ItemTemplate>--%>
<ItemTemplate>
<asp:ImageButton ID = "NotesButton" runat = "server" OnClientClick = '<%# Eval("ID", "DisplayNotesDialog({0},\"Adjustments\");return false;") %>' ImageUrl ="~/Images/Icons/note_present.gif" ToolTip="Notes" style =" padding:0 3 0 2;" />
</ItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID = "NotesTxt" runat = "server" Text ='<%#DataBinder.Eval(Container.DataItem, "Notes")%>' TextMode = "MultiLine" Width = "200px"></telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="ActionsCol" AllowFiltering="false">
<ItemTemplate>
<table width = "120px"><tr>
<asp:ImageButton ID = "EditButton" runat = "Server" CommandName="Edit" CommandArgument = '<%# Eval("ID")%>' ImageUrl="~/Images/Icons/Edit.gif" ToolTip="Edit" style =" padding:0 3 0 2;"></asp:ImageButton>
<asp:ImageButton ID = "DeleteButton" runat = "Server" CommandName="Delete" CommandArgument = '<%# Eval("ID")%>' ImageUrl="~/Images/Icons/Delete.gif" ToolTip="Delete" OnClientClick = "javascript:if(confirm('Are you sure? Delete this Adjustment?')){return true;}else{return false;}"></asp:ImageButton>
<asp:ImageButton ID = "SaveButton" runat = "Server" CommandName="Save" CommandArgument = '<%# Eval("ID")%>' ImageUrl="~/Images/Icons/save-16x16.png" ToolTip="Save" OnClientClick = "javascript:if(confirm('Are you sure? Save this Adjustment?')){return true;}else{return false;}"></asp:ImageButton>
<%--<asp:ImageButton ID = "ConfirmAndSendButton" runat = "server" CommandName = "ConfirmAndSend" CommandArgument = '<%# Eval("ID")%>' ImageUrl = "../../Content/images/icons/send.gif" ToolTip="Send Stock Order" style =" padding:0 3 0 2;"
OnClientClick = "javascript:if(confirm('Are you sure? Send this stock order?')){return true;}else{return false;}"/>--%>
</tr></table>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<table width="100%" class="StockOrderHeading">
<tr >
<td align="left" class="RadGridHeader">
<asp:Label ID = "MasterGridHeader" runat = "server" Text = "Inventory Adjustment" style =" font-size:16px;font-family:segoe ui; color: White;"></asp:Label>
</td>
<td align="right">
<asp:LinkButton ID="LinkButtonAddAdjustment" runat="server" CommandArgument="AddAdjustment" CommandName="InitInsert"
Visible="true" Font-Bold="true">
<asp:Label ID = "MasterLinkButtonLbl" runat = "server" Text = "Add Adjustment" style =" font-size:12px;font-family:segoe ui; color: White;"></asp:Label></asp:LinkButton>
</td>
</tr>
</table>
</CommandItemTemplate>
<EditFormSettings>
<EditColumn UniqueName = "EditCommandColumn"></EditColumn>
<EditColumn ButtonType = "ImageButton" CancelImageUrl="~/Images/icons/Cancel.gif" InsertImageUrl ="~/Images/icons/Update.gif" UpdateImageUrl="~/Images/icons/Update.gif"></EditColumn>
<FormStyle BackColor = "#CAEEFE" />
</EditFormSettings>
<DetailTables>
<telerik:GridTableView Name = "InventoryAdjustmentDetail" DataKeyNames="ID" CommandItemDisplay="Top" EditMode="EditForms" AllowPaging="true" PageSize = "5" Width = "100%">
<Columns>
<telerik:GridTemplateColumn HeaderText="Item #" UniqueName="ItemNumCol">
<ItemTemplate>
<asp:Label ID = "ItemNumLbl" runat = "server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName = "ItemNameCol" HeaderText = "Item Name">
<ItemTemplate>
<asp:Label ID = "ItemNameLbl" runat = "server" Text = ""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName = "EmployeeCol" HeaderText = "Associate">
<ItemTemplate>
<asp:Label ID = "EmployeeLbl" runat = "server" Text = ""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Transaction Type" UniqueName="TransactionTypeCol">
<ItemTemplate>
<asp:Label ID = "TransactionTypeLbl" runat = "server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName = "TransactionDateCol" HeaderText = "Transaction Date" DataField = "TransactionDateDisplayString" ReadOnly = "true"/>
<telerik:GridTemplateColumn HeaderText="Adjustment Reason" UniqueName="AdjustmentReasonCol">
<ItemTemplate>
<asp:Label ID = "AdjustmentReasonLbl" runat = "server"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Quantity" UniqueName="QuantityCol">
<ItemTemplate>
<asp:Label ID = "QuantityLbl" runat = "server"></asp:Label><%-- Text='<%#DataBinder.Eval(Container.DataItem, "Quantity")%>'--%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName = "TransitInQuantityCol" HeaderText = "Transit In Quantity" DataField = "TransitQuantityDisplay" ReadOnly = "true"/>
<telerik:GridTemplateColumn UniqueName="ActionsCol" AllowFiltering="false">
<ItemTemplate>
<table>
<tr>
<%-- <asp:ImageButton ID="DetailEditButton" runat="Server" CommandName="Edit" CommandArgument='<%# Eval("ID")%>'
ImageUrl="../../RadControls/Grid/Skins/Vista/Edit.gif" ToolTip="Edit Detail" Style="padding: 0 3 0 2;">
</asp:ImageButton> --%>
<%-- <asp:ImageButton ID="ImageButton2" runat="Server" CommandName="Delete" CommandArgument='<%# Eval("ID")%>'
ImageUrl="../../RadControls/Grid/Skins/Vista/Delete.gif" ToolTip="Delete Stock Receipt"
OnClientClick="javascript:if(confirm('Are you sure? Delete this activity?')){return true;}else{return false;}" Style="padding: 0 3 0 2;">
</asp:ImageButton>--%>
<%--<asp:CheckBox ID = "ReceiveItemChk" runat = "server" Visible = "false"/> --%>
</tr>
</table>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<table width="100%" class="StockOrderHeading">
<tr>
<td align="left" class="RadGridHeader">
<asp:Label ID = "MasterGridHeader" runat = "server" Text = "Inventory Activity" style =" font-size:16px;font-family:segoe ui;color :White;"></asp:Label>
</td>
<td align="right">
<asp:LinkButton ID="LinkButtonAddAdjustment" runat="server" CommandArgument="AddActivity" CommandName="InitInsert"
Visible="true" Font-Bold="true">
<asp:Label ID = "DetailLinkButtonLbl" runat = "server" Text = "Add Activity" style =" font-size:12px;font-family:segoe ui;color :White;"></asp:Label></asp:LinkButton>
</td>
</tr>
</table>
</CommandItemTemplate>
<EditFormSettings UserControlName="~/Controls/Inventory/InventoryDetailEditFormControl.ascx" EditFormType="WebUserControl">
<EditColumn ButtonType = "ImageButton" UniqueName = "EditCommandColumn" ></EditColumn>
<FormStyle BackColor = "#CAEEFE" />
</EditFormSettings>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
<PagerStyle AlwaysVisible="true" />
</telerik:RadGrid>
</asp:Panel>
</telerik:RadAjaxPanel>
<asp:HiddenField ID = "ItemIDFromDialogHidden" runat = "server" />
<asp:HiddenField ID = "StockOrderNumHidden" runat = "server" />
<asp:HiddenField ID = "ShouldCommitHidden" runat = "server" />
<telerik:RadWindow ID="DisplayStockItemSearch" runat="server" onclientclose="SearchDialogClose"
Skin="WebBlue" Modal="True" NavigateUrl="~/Dialogs/Inventory/ItemContactLensSearch.aspx"
Title="Stock Item Search" Width="1000px" Height="800px" KeepInScreenBounds="true"
ShowContentDuringLoad="false" VisibleStatusbar="False" BorderStyle="Groove" Behaviors="Close">
</telerik:RadWindow>
<telerik:RadWindow ID="DisplayNotes" runat="server"
Skin="WebBlue" Modal="True" NavigateUrl="~/Dialogs/Inventory/NotesDialog.aspx"
Title="Notes" Width="480px" Height="335px" KeepInScreenBounds="true"
ShowContentDuringLoad="false" VisibleStatusbar="False" BorderStyle="Groove" Behaviors="Close">
</telerik:RadWindow>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script language="javascript" type="text/javascript">
function DoLookup()
{
var requestedPage = "Inventory";
DisplayStockOrderSearchDialog(requestedPage);
}
function DisplayStockOrderSearchDialog(requestedPage, itemType, itemIDTextBox)
{
// var dt = new Date();
// var date = dt.getTime();
//alert(itemIDTextBox);
//var item = document.getElementById(itemIDTextBox);
//alert(item.value);
var hiddenItemId = document.getElementById('<%=ItemIDFromDialogHidden.ClientID%>');
hiddenItemId.value = itemIDTextBox;
var Wnd = $find('<%=DisplayStockItemSearch.ClientID%>');
if(!Wnd)
{
setTimeout("DisplayStockOrderSearchDialog()", 200);
return;
}
if(requestedPage && itemType)
{
var url = Wnd.get_navigateUrl();
if( url.indexOf("?") > 0 )
url = url.split("?")[0];
url = ( url + '?InventoryLookup=' + requestedPage + '&ItemType=' + itemType );
Wnd.setUrl(url);
}
Wnd.show();
}
function SearchDialogClose(sender, args)
{
// check if the dialog closed with an argument set
if (sender.argument != null)
{
var ItemID = sender.argument.ItemID;
setTimeout("SetHiddenField("+ItemID+")", 200);
}
}
function RefreshPage()
{
window.location.href = window.location.href;
}
function SetHiddenField(ItemID)
{
var hiddenItemId = document.getElementById('<%=ItemIDFromDialogHidden.ClientID%>');
var itemIDTextBox = hiddenItemId.value;
var textBox = $find(itemIDTextBox);
textBox.set_value(ItemID);
}
function ConfirmPrint(SrockOrderNum)
{
var confirmPrint = confirm("Printing the report will set the status to 'Sent'");
if(confirmPrint)
{
var stockOrderNumHidden = document.getElementById('<%=StockOrderNumHidden.ClientID%>');
stockOrderNumHidden.value = SrockOrderNum;
var ajxMgr = $find("<%= IT2.BackOffice.Utility.RadAjaxHelper.AjaxManager.ClientID %>");
ajxMgr.ajaxRequest('SetStatus');
}
}
function PrintStockOrderReport(SrockOrderNum)
{
var pageUrl = '<%=ResolveUrl("~/Reports/StockOrderReport.aspx") %>' + '?StockOrderNum=' + SrockOrderNum;
window.open(pageUrl,'','height=1000,width=800,scrollbars=1');
}
function DisplayNotesDialog(ReferenceNum, Type)
{
setTimeout("DisplayDialog("+ReferenceNum+",'"+Type+"')",200);
}
function DisplayDialog(ReferenceNum, Type)
{
var Wnd = $find('<%=DisplayNotes.ClientID%>');
if(ReferenceNum && Type)
{
var url = Wnd.get_navigateUrl();
if( url.indexOf("?") > 0 )
url = url.split("?")[0];
url = ( url + '?' + 'ReferenceNum=' + ReferenceNum + '&Type=' + Type);
Wnd.setUrl(url);
}
Wnd.show();
}
function ConfirmActivityCommit() {
var shouldCommit = document.getElementById('<%=ShouldCommitHidden.ClientID%>');
var result = confirm("You want to commit this activity to Inventory ?");
if (result) {
shouldCommit.value = true;
}
else {
shouldCommit.value = false;
}
}
function checkquantity(TextBoxClientID) {
var shouldCommit = document.getElementById('<%=ShouldCommitHidden.ClientID%>');
if ($find(TextBoxClientID).get_textBoxValue() != 0) {
ConfirmActivityCommit();
return true;
}
else {
shouldCommit.value = false;
return false;
}
}
</script>
</telerik:RadScriptBlock>
MY ASCX.CS PAGE IS:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using IT2.BackOffice.Controls.Ajax;
using Telerik.Web.UI;
using System.Collections.Generic;
using IT2.Core;
using IT2.BackOffice.Utility;
using IT2.Services;
using IT2.Ioc;
using IT2.BackOffice.Controls.Inventory;
using BackOffice.Utility;
namespace IT2.Web.Controls.Inventory
{
public partial class InventoryAdjustmentControl : System.Web.UI.UserControl
{
IItemServices _ItemServices = Container.Resolve<IItemServices>();
IInventoryServices _InventoryServices = Container.Resolve<IInventoryServices>();
IEmployeeServices _EmployeeServices = Container.Resolve<IEmployeeServices>();
IOfficeServices _OfficeServices = Container.Resolve<IOfficeServices>();
ILookupServices _LookupServices = Container.Resolve<ILookupServices>();
int PageSize = 6;
int DetailTablePageSize = 6;
public int MasterPageNumber
{
get
{
if (ViewState["PageNumber"] != null)
{
return (int)ViewState["PageNumber"];
}
else
return 0;
}
set { ViewState["PageNumber"] = value; }
}
public bool isPageIndexChanged
{
get
{
if (ViewState["isPageIndexChanged"] != null)
{
return (bool)ViewState["isPageIndexChanged"];
}
else
return false;
}
set { ViewState["isPageIndexChanged"] = value; }
}
public int ListItemTypeSelected
{
get
{
if (ViewState["ListItemTypeSelected"] != null)
{
return (int)ViewState["ListItemTypeSelected"];
}
else
return 0;
}
set { ViewState["ListItemTypeSelected"] = value; }
}
public int DetailTablePageNumber
{
get
{
if (ViewState["DetailTablePageNumber"] != null)
{
return (int)ViewState["DetailTablePageNumber"];
}
else
return 0;
}
set { ViewState["DetailTablePageNumber"] = value; }
}
public string itemTypeSelected
{
get
{
if (ViewState["itemTypeSelected"] != null)
{
return (string)ViewState["itemTypeSelected"];
}
else
return "";
}
set { ViewState["itemTypeSelected"] = value; }
}
public string ExpandCommand
{
get
{
if (ViewState["ExpandCommand"] != null)
{
return (string)ViewState["ExpandCommand"];
}
else
return "";
}
set { ViewState["ExpandCommand"] = value; }
}
public string DistributionCenter
{
get
{
if (ViewState["DistributionCenter"] != null)
{
return (string)ViewState["DistributionCenter"];
}
else
return "999";
}
set { ViewState["DistributionCenter"] = value; }
}
public int ReferenceNumtoExpand
{
get
{
if (ViewState["ReferenceNumtoExpand"] != null)
{
return (int)ViewState["ReferenceNumtoExpand"];
}
else
return 0;
}
set { ViewState["ReferenceNumtoExpand"] = value; }
}
public static InventoryActivity SavedActivity
{
get
{
object obj = HttpContext.Current.Session["SavedActivity"];
if (obj != null)
return (InventoryActivity)obj;
else
return null;
}
set
{
HttpContext.Current.Session["SavedActivity"] = value;
}
}
public bool ShouldCommit
{
get
{
object obj = HttpContext.Current.Session["ShouldCommit"];
if (obj != null)
return (bool)obj;
else
return false;
}
set
{
HttpContext.Current.Session["ShouldCommit"] = value;
}
}
//public static RadAjaxManager AjaxManager
//{
// get
// {
// return HttpContext.Current.Items["AjaxManager"] as RadAjaxManager;
// }
//}
protected void Page_Load(object sender, EventArgs e)
{
//LoadItemTypeFilterCombo();
InventoryFilterControl.ShowHideFilterCombos(false, "InventoryAdjustment");
RadAjaxHelper.AjaxManager.AjaxRequest +=
new Telerik.Web.UI.RadAjaxManager.AjaxRequestDelegate(AjaxManager_AjaxRequest);
if (!Page.IsPostBack)
{
CompanyInformation company = _OfficeServices.GetCompanyInformationByID(OfficeData.CompanyID);
DistributionCenter = company != null ? company.DistributionCenter : "999";
}
}
protected void Page_LoadComplete(object sender, EventArgs e)
{
RadAjaxHelper.AjaxManager.AjaxRequest +=
new Telerik.Web.UI.RadAjaxManager.AjaxRequestDelegate(AjaxManager_AjaxRequest);
}
private void LoadItemTypeFilterCombo()
{
MyCustomFilteringColumn ItemTypeColumn = InventoryAdjustmentGrid.MasterTableView.Columns.FindByUniqueName("ItemTypeCol") as MyCustomFilteringColumn;
IList<ListItem> dataSource = new List<ListItem>();
ListItem li = new ListItem("All", "0");
dataSource.Add(li);
li = new ListItem("Frames", ((int)ItemTypeEnum.Frames).ToString());
dataSource.Add(li);
li = new ListItem("Accessory", ((int)ItemTypeEnum.Accessory).ToString());
dataSource.Add(li);
li = new ListItem("Contacts", ((int)ItemTypeEnum.ContactLensStock).ToString());
dataSource.Add(li);
ItemTypeColumn.ListDataTextField = "Text";
ItemTypeColumn.ListDataValueField = "Value";
ItemTypeColumn.ListDataSource = dataSource;
ItemTypeColumn.ListSelectedValue = ListItemTypeSelected.ToString();
}
protected void LoadInventoryAdjustmentGrid(object source, InventoryFilterControlEventArgs e)
{
//MyCustomFilteringColumn ItemTypeColumn = StockOrderGrid.MasterTableView.Columns.FindByUniqueName("ItemTypeCol") as MyCustomFilteringColumn;
//if (e.SelectedValue == ((int)ItemTypeEnum.Frames).ToString())
//{
// ListItemTypeSelected = ((int)ItemTypeEnum.Frames);
//}
//else if (e.SelectedValue == ((int)ItemTypeEnum.Accessory).ToString())
//{
// ListItemTypeSelected = ((int)ItemTypeEnum.Accessory);
//}
//else if (e.SelectedValue == ((int)ItemTypeEnum.ContactLensStock).ToString())
//{
// ListItemTypeSelected = ((int)ItemTypeEnum.ContactLensStock);
//}
//else
//{
// ListItemTypeSelected = 0;
//}
ListItemTypeSelected = e.ItemTypeSelected;
MasterPageNumber = 0;
InventoryAdjustmentGrid.Rebind();
}
protected void InventoryAdjustmentGrid_PreRender(object sender, EventArgs e)
{
bool isExpanded = false;
foreach (GridDataItem dataItem in InventoryAdjustmentGrid.MasterTableView.Items)
{
InventoryAdjustment adjustment = (InventoryAdjustment)dataItem.DataItem;
if (ExpandCommand == "PerformInsert" && adjustment != null && adjustment.ID == ReferenceNumtoExpand)
dataItem.Expanded = true;
if (dataItem.Expanded)
{
dataItem.Enabled = true;
isExpanded = true;
GridNestedViewItem nestedItem = dataItem.ChildItem;
Panel panel = (Panel)nestedItem.FindControl("PanelID");
if (dataItem.ItemType == GridItemType.AlternatingItem)
{
dataItem.BackColor = System.Drawing.Color.FromArgb(202, 238, 254);//.Aqua;
}
if (dataItem.ItemType == GridItemType.Item)
{
dataItem.BackColor = System.Drawing.Color.FromArgb(202, 238, 254);
}
}
else
{
if (dataItem.ItemType == GridItemType.AlternatingItem)
{
dataItem.BackColor = System.Drawing.Color.LightGray;
}
if (dataItem.ItemType == GridItemType.Item)
{
dataItem.BackColor = System.Drawing.Color.White;
}
}
}
foreach (GridDataItem dataItem in InventoryAdjustmentGrid.MasterTableView.Items)
{
if (isExpanded == true)
{
if (dataItem.Expanded)
{
dataItem.Enabled = true;
dataItem.BackColor = System.Drawing.Color.FromArgb(202, 238, 254);
}
else
{
dataItem.Enabled = false;
dataItem.BackColor = System.Drawing.Color.FromArgb(236, 233, 216);
dataItem.Style.Add("cursor", "default");
}
}
else
{
dataItem.Enabled = true;
}
}
isExpanded = false;
ExpandCommand = "Collapse";
}
protected void InventoryAdjustmentGrid_PageIndexChanged(object source, Telerik.Web.UI.GridPageChangedEventArgs e)
{
if (e.Item.OwnerTableView.ParentItem == null)
{
MasterPageNumber = e.NewPageIndex;
isPageIndexChanged = true;
InventoryAdjustmentGrid.Rebind();
}
else
{
DetailTablePageNumber = e.NewPageIndex;
e.Item.OwnerTableView.Rebind();
}
}
protected void InventoryAdjustmentGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
int totalRecords = 0;
int FirstResult = (ShouldApplySortFilter() && isPageIndexChanged == false) ?
0 : MasterPageNumber * PageSize;
string officeNum = DistributionCenter;
IList<IT2.Core.InventoryAdjustment> InvAdjustments = new List<InventoryAdjustment>();
InvAdjustments = _InventoryServices.GetAllInventoryAdjustmentsByCriteria(ListItemTypeSelected, PageSize, FirstResult, out totalRecords, officeNum);
//int FirstResult = PageNumber * PageSize;
InventoryAdjustmentGrid.DataSource = InvAdjustments;
InventoryAdjustmentGrid.MasterTableView.VirtualItemCount = totalRecords;
InventoryAdjustmentGrid.PageSize = PageSize;
}
protected void InventoryAdjustmentGrid_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)
{
GridDataItem parentItem = (GridDataItem)e.DetailTableView.ParentItem;
if (parentItem == null)
return;
int InvAdjustmentID = Int32.Parse(e.DetailTableView.ParentItem.GetDataKeyValue("ID").ToString());
InventoryAdjustment invAdjustment = _InventoryServices.GetInventoryAdjustmentByID(InvAdjustmentID);
int startingResult = DetailTablePageNumber * DetailTablePageSize;
int MaxResults = DetailTablePageSize;
int totalRecords = 0;
IList<InventoryActivity> invActivityList = new List<InventoryActivity>();
if (invAdjustment != null)
{
invActivityList = _InventoryServices.GetInventoryActivityBySearchCriteria(invAdjustment.ID, DistributionCenter, (int)InventoryTransactionTypeEnum.Adjustment, startingResult, MaxResults, out totalRecords);
}
if (e != null)
{
e.DetailTableView.DataSource = invActivityList;
e.DetailTableView.VirtualItemCount = totalRecords;
}
}
public bool ShouldApplySortFilter()
{
if (ListItemTypeSelected != 0)//|| StockOrderGrid.MasterTableView.SortExpressions.Count > 0 StockOrderGrid.MasterTableView.FilterExpression != ""
return true;
else
return false;
}
protected void InventoryAdjustmentGrid_ItemCommand(object source, GridCommandEventArgs e)
{
if (e.Item.OwnerTableView.Name == "InventoryAdjustmentMaster")
{
GridDataItem dataItem = e.Item as GridDataItem;
if (dataItem != null)
{
int adjustmentID = 0;
if (dataItem.GetDataKeyValue("ID") != null && dataItem.GetDataKeyValue("ID").ToString() != "")
adjustmentID = Int32.Parse(dataItem.GetDataKeyValue("ID").ToString());
InventoryAdjustment invAdjustment = _InventoryServices.GetInventoryAdjustmentByID(adjustmentID);
if (e.CommandName == "Save")
{
if (invAdjustment != null)
{
invAdjustment.AdjustmentStatus = (int)InventoryAdjustmentStatusEnum.Saved;
_InventoryServices.SaveInventoryAdjustment(invAdjustment);
}
e.Item.OwnerTableView.Rebind();
}
}
}
}
protected void InventoryAdjustmentGrid_ItemDataBound(object source, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem dataItem = e.Item as GridDataItem;
if (e.Item.DataItem is InventoryAdjustment)
{
ImageButton notesButton = e.Item.FindControl("NotesButton") as ImageButton;
ImageButton editButton = e.Item.FindControl("EditButton") as ImageButton;
ImageButton deleteButton = e.Item.FindControl("DeleteButton") as ImageButton;
ImageButton saveButton = e.Item.FindControl("SaveButton") as ImageButton;
Label AdjustmentStatusLbl = e.Item.FindControl("AdjustmentStatusLbl") as Label;
InventoryAdjustment adjustment = e.Item.DataItem as InventoryAdjustment;
if (adjustment != null && AdjustmentStatusLbl != null && editButton != null && deleteButton != null && saveButton!= null && notesButton != null)
{
if (adjustment.AdjustmentStatus != null)
{
if (adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Open)
{
AdjustmentStatusLbl.Text = "Open";
saveButton.Visible = true;
editButton.Visible = true;
deleteButton.Visible = true;
}
else if (adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Saved)
{
AdjustmentStatusLbl.Text = "Saved";
saveButton.Visible = false;
editButton.Visible = false;
deleteButton.Visible = false;
}
}
if (adjustment.ItemType != null)
{
Label itemTypeLbl = (Label)dataItem["ItemTypeCol"].FindControl("ItemTypeLabel");
itemTypeLbl.Text = adjustment.ItemTypeString;
}
if (adjustment.Notes == null || adjustment.Notes == "")
{
notesButton.Visible = false;
}
int detailsCount = 0;
//IList<InventoryActivity> activities = _InventoryServices.GetInventoryActivityBySearchCriteria(adjustment.ID, OfficeData.ID, (int)InventoryTransactionTypeEnum.Adjustment);
detailsCount = _InventoryServices.GetInventoryActivityListCountBySearchCriteria(adjustment.ID, DistributionCenter, (int)InventoryTransactionTypeEnum.Adjustment);
if (detailsCount != 0)//if (activities.count > 0)
{
editButton.Visible = false;
deleteButton.Visible = false;
}
}
}
else if (e.Item.DataItem is InventoryActivity)
{
InventoryActivity invActivity = e.Item.DataItem as InventoryActivity;
if (invActivity != null)
{
if (invActivity.Employee != null)
{
(e.Item.FindControl("EmployeeLbl") as Label).Text = invActivity.Employee.FIFullName;
}
if (invActivity.InvTransType != null)
{
GenLookup transType = _LookupServices.GetById(invActivity.InvTransType);
if (transType != null)
(e.Item.FindControl("TransactionTypeLbl") as Label).Text = transType.Description;
}
if (invActivity.AdjustmentReason != null)
{
GenLookup adjustmentReason = _LookupServices.GetById(invActivity.AdjustmentReason.Value);
if (adjustmentReason != null)
(e.Item.FindControl("AdjustmentReasonLbl") as Label).Text = adjustmentReason.Description;
}
if (invActivity.Item != null)
{
(e.Item.FindControl("ItemNumLbl") as Label).Text = invActivity.Item.Number;
(e.Item.FindControl("ItemNameLbl") as Label).Text = invActivity.Item.Name;
}
(e.Item.FindControl("QuantityLbl") as Label).Text = (invActivity.Quantity ?? 0).ToString();
}
}
}
else if (e.Item is GridCommandItem)
{
if (e.Item.OwnerTableView.Name == "InventoryAdjustmentDetail")
{
int adjustmentID = Int32.Parse(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("ID").ToString());
LinkButton addButton = e.Item.FindControl("LinkButtonAddAdjustment") as LinkButton;
if (adjustmentID != 0)
{
InventoryAdjustment adjustment = _InventoryServices.GetInventoryAdjustmentByID(adjustmentID);
if (adjustment != null && adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Saved)
{
addButton.Visible = false;
}
else if (adjustment != null && adjustment.AdjustmentStatus == (int)InventoryAdjustmentStatusEnum.Open)
addButton.Visible = true;
}
}
}
else if (e.Item is GridEditFormItem && e.Item.IsInEditMode == true)
{
if (e.Item.OwnerTableView.Name == "InventoryAdjustmentMaster")
{
if ((e.Item.DataItem is GridInsertionObject))
{
GridEditFormInsertItem editFormItem = e.Item as GridEditFormInsertItem;
}
else
{
GridEditFormItem editFormItem = e.Item as GridEditFormItem;
InventoryAdjustment adjustment = e.Item.DataItem as InventoryAdjustment;
RadComboBox itemTypeCombo = editFormItem.FindControl("ItemTypeCombo") as RadComboBox;
itemTypeCombo.SelectedValue = adjustment.ItemType.ToString();
}
}
else if (e.Item.OwnerTableView.Name == "InventoryAdjustmentDetail")
{
GridEditableItem editFormItem = e.Item as GridEditableItem;
GridDataItem dataItem = e.Item as GridDataItem;
InventoryAdjustment invAdjustment = e.Item.DataItem as InventoryAdjustment;
int AdjustmentID = Int32.Parse(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("ID").ToString());
invAdjustment = _InventoryServices.GetInventoryAdjustmentByID(AdjustmentID);
UserControl editFormControl = null;
if ((e.Item.DataItem is GridInsertionObject))
{
GridEditFormInsertItem editFormDetailItem = e.Item as GridEditFormInsertItem;
editFormControl = e.Item.FindControl(GridEditFormInsertItem.EditFormUserControlID) as UserControl;
(editFormControl.FindControl("UpdateButton") as ImageButton).CommandName = "PerformInsert";
RadTextBox qty = editFormControl.FindControl("QuantityTxt") as RadTextBox;
(editFormControl.FindControl("UpdateButton") as ImageButton).Attributes.Add("Onclick", "javascript:if(checkquantity('" + qty.ClientID + "')){return true;}else{alert('Please enter a valid quantity');return false;}");
}
else
{
GridEditFormItem editFormDetailItem = e.Item as GridEditFormItem;
editFormControl = e.Item.FindControl(GridEditFormItem.EditFormUserControlID) as UserControl;
(editFormControl.FindControl("UpdateButton") as ImageButton).CommandName = "Update";
RadTextBox qty = editFormControl.FindControl("QuantityTxt") as RadTextBox;
(editFormControl.FindControl("UpdateButton") as ImageButton).Attributes.Add("Onclick", "javascript:if(checkquantity('" + qty.ClientID + "')){return true;}else{alert('Please enter a valid quantity');return false;}");
}
//(editFormControl.FindControl("UpdateButton") as ImageButton).Attributes.Add("onclick", "ConfirmActivityCommit();");
(editFormControl.FindControl("QuantityLbl") as Label).Text = "Quantity :";
InventoryLookupSearch lookupSearch = editFormControl.FindControl("InventoryLookupSearchControl") as InventoryLookupSearch;
(editFormControl.FindControl("RequestedScreen") as HiddenField).Value = "InventoryAdjustments";
lookupSearch.isInventoryDetailEditForm = true;
if (invAdjustment.ItemTypeString != "" && invAdjustment.ItemType != null)
{
lookupSearch.ItemTypeComboBox.Items.Clear();
lookupSearch.ItemTypeComboBox.Items.Add(new RadComboBoxItem(invAdjustment.ItemTypeString, invAdjustment.ItemType.ToString()));
lookupSearch.ItemTypeComboBox.SelectedIndex = 0;
lookupSearch.ItemTypeComboBox.Enabled = false;
}
RadComboBox adjustmentCombo = editFormControl.FindControl("AdjustmentReasonCombo") as RadComboBox;
IList<GenLookup> adjustmentReasonsList = _LookupServices.GetAll(LookupType.INVENTORY_ADJUSTMENT_REASONS);
adjustmentCombo.DataSource = adjustmentReasonsList;
adjustmentCombo.DataTextField = "Description";
adjustmentCombo.DataValueField = "ID";
adjustmentCombo.DataBind();
(editFormControl.FindControl("NotesLbl") as Label).Visible = false;
(editFormControl.FindControl("NotesTxt") as RadTextBox).Visible = false;
if (!(e.Item.DataItem is GridInsertionObject))
{
InventoryActivity activity = e.Item.DataItem as InventoryActivity;
if (activity.AdjustmentReason != null)
adjustmentCombo.SelectedValue = activity.AdjustmentReason.ToString();
if (activity.Item != null)
{
lookupSearch.UpcCodeTxtBox.Text = activity.Item.UPCCode;
lookupSearch.ItemNumTxtBox.Text = activity.Item.Number;
}
if (activity.Quantity != null)
(editFormControl.FindControl("QuantityTxt") as RadTextBox).Text = activity.Quantity.ToString();
}
}
}
}
protected void InventoryAdjustmentGrid_Insert(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.Item is GridEditFormInsertItem )
{
GridEditFormInsertItem editFormItem = e.Item as GridEditFormInsertItem;
if (e.Item.OwnerTableView.ParentItem == null)
{
InventoryAdjustment adjustment = new InventoryAdjustment();
string ItemTypeTxt = (e.Item.FindControl("ItemTypeCombo") as RadComboBox).SelectedValue;
if (ItemTypeTxt != null && ItemTypeTxt != "")
{
int itemType = Convert.ToInt32(ItemTypeTxt);
adjustment.ItemType = itemType;
}
adjustment.OfficeNum = DistributionCenter;
adjustment.Notes = (e.Item.FindControl("NotesTxt") as RadTextBox).Text;
adjustment.AdjustmentDate = GetAdjustedDate(DistributionCenter);
adjustment.AdjustmentStatus = (int)InventoryAdjustmentStatusEnum.Open;
_InventoryServices.SaveInventoryAdjustment(adjustment);
ExpandCommand = "PerformInsert";
ReferenceNumtoExpand = adjustment.ID;
}
else
{
if (ShouldCommitHidden.Value == "true")
ShouldCommit = true;
else
ShouldCommit = false;
if (ShouldCommit == true)
{
int InvAdjustmentID = Int32.Parse(e.Item.OwnerTableView.ParentItem.GetDataKeyValue("ID").ToString());
InventoryActivity activity = new InventoryActivity();
UserControl editFormControl = editFormItem.FindControl(GridEditFormInsertItem.EditFormUserControlID) as UserControl;
InventoryActivity activtyReturned = GetInventoryActivity(activity, editFormControl);
if (activtyReturned != null)
{
activity.InvTransType = (int)InventoryTransactionTypeEnum.Adjustment;
activity.OfficeNum = DistributionCenter;
activity.ReferrenceNum = InvAdjustmentID;
_InventoryServices.SaveInventoryActivity(activity);
_InventoryServices.UpdateInventory(activity);
}
ExpandCommand = "PerformInsert";
ReferenceNumtoExpand = InvAdjustmentID;
e.Item.OwnerTableView.OwnerGrid.MasterTableView.Rebind();
//IT2.BackOffice.Utility.RadAjaxHelper.AjaxManager.ResponseScripts.Add("RefreshPage();");
//InventoryAdjustmentGrid.Rebind();
}
}
}
}
protected void InventoryAdjustmentGrid_Update(object sender, GridCommandEventArgs e)
{
if (e.Item is GridEditFormItem)
{
GridEditFormItem editFormItem = e.Item as GridEditFormItem;
int grid_item_id = Int32.Parse(editFormItem.GetDataKeyValue("ID").ToString());
//If the below condition is True, then the dataItem is a StockOrder Item.
if (e.Item.OwnerTableView.ParentItem == null)
{
InventoryAdjustment adjustment = _InventoryServices.GetInventoryAdjustmentByID(grid_item_id);
string ItemTypeTxt = (e.Item.FindControl("ItemTypeCombo") as RadComboBox).SelectedValue;
if (ItemTypeTxt != null && ItemTypeTxt != "")
{
int itemType = Convert.ToInt32(ItemTypeTxt);
adjustment.ItemType = itemType;
}
adjustment.Notes = (e.Item.FindControl("NotesTxt") as RadTextBox).Text;
_InventoryServices.SaveInventoryAdjustment(adjustment);
}
else
{
InventoryActivity activity = _InventoryServices.GetInventoryActivityByID(grid_item_id);
if (activity != null)
{
UserControl editFormControl = editFormItem.FindControl(GridEditFormInsertItem.EditFormUserControlID) as UserControl;
InventoryActivity activtyReturned = GetInventoryActivity(activity, editFormControl);
if (activtyReturned != null)
{
_InventoryServices.SaveInventoryActivity(activtyReturned);
}
}
}
}
}
private InventoryActivity GetInventoryActivity(InventoryActivity activity, UserControl editFormControl)
{
InventoryLookupSearch searchControl = editFormControl.FindControl("InventoryLookupSearchControl") as InventoryLookupSearch;
string OpcCode = searchControl.UpcCodeTxtBox.Text;
string ItemNumTxt = searchControl.ItemNumTxtBox.Text;
string ItemType = searchControl.ItemTypeComboBox.SelectedValue;
int itemTypeSelected = 0;
Item item = null;
if (ItemType != "")
itemTypeSelected = Int32.Parse(ItemType);
if (OpcCode == "" && ItemNumTxt == "")
{
RadAjaxHelper.AjaxManager.Alert("Please enter a valid Item Number or Upc Code");
return null;
}
else
{
item = _ItemServices.GetItemsBySearchFields(itemTypeSelected, OpcCode, ItemNumTxt);
if (item != null)
activity.Item = item;
string QuantityTxt = (editFormControl.FindControl("QuantityTxt") as RadTextBox).Text;
if (QuantityTxt != "")
{
activity.Quantity = Convert.ToInt32(QuantityTxt);
}
string adjustmentReason = (editFormControl.FindControl("AdjustmentReasonCombo") as RadComboBox).SelectedValue;
if (adjustmentReason != "")
{
activity.AdjustmentReason = Int32.Parse(adjustmentReason);
}
if (Page.User.Identity.Name != null && Page.User.Identity.Name != "")
{
Employee employee = Location.GetEmployeeByUserName(Page.User.Identity.Name);
activity.Employee = employee;
}
activity.TransactionDate = GetAdjustedDate(DistributionCenter);
return activity;
}
}
protected void InventoryAdjustmentGrid_Delete(object sender, GridCommandEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem dataItem = e.Item as GridDataItem;
int grid_item_id = Int32.Parse(dataItem.GetDataKeyValue("ID").ToString());
if (grid_item_id != 0)
{
if (e.Item.OwnerTableView.ParentItem == null)
{
InventoryAdjustment adjustment = _InventoryServices.GetInventoryAdjustmentByID(grid_item_id);
_InventoryServices.DeleteInventoryAdjustment(adjustment);
IList<InventoryActivity> activities = _InventoryServices.GetInventoryActivityBySearchCriteria(adjustment.ID, DistributionCenter, (int)InventoryTransactionTypeEnum.Adjustment);
foreach (InventoryActivity activity in activities)
{
_InventoryServices.DeleteInventoryActivity(activity);
}
}
else
{
InventoryActivity activity = _InventoryServices.GetInventoryActivityByID(grid_item_id);
_InventoryServices.DeleteInventoryActivity(activity);
}
}
}
}
protected void AjaxManager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
if (e.Argument == "CommitActivity")
{
ShouldCommit = true;
}
else if (e.Argument == "CancelCommit")
{
ShouldCommit = false;
}
}
private DateTime GetAdjustedDate(string officeNum)
{
DateTime now = DateTime.Now;
Office office = _OfficeServices.GetByID_OrNull(officeNum);
if (office != null && office.TimeZone != null)
now = Common.ConvertDateTimeToTimeZone(DateTime.Now, office.TimeZone, office.UseDST ?? false);
return now;
}
}
}
please suggest me the solution for this error.