protected override void Grid_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "add")
            {
                TextBox  NewNameTextBox       = (TextBox)e.Item.FindControl("NewNameTextBox");
                CheckBox NewIsVisibleCheckBox = (CheckBox)e.Item.FindControl("NewIsVisibleCheckBox");

                try
                {
                    AssetType assetType = AssetType.New();
                    assetType.Name      = NewNameTextBox.Text.Trim();
                    assetType.IsVisible = NewIsVisibleCheckBox.Checked;
                    AssetTypeManager.SaveAssetType(assetType);

                    AuditLogManager.LogUserAction(CurrentUser, AuditUserAction.AddAssetType, string.Format("Added Asset Type: {0}, AssetTypeId: {1}", assetType.Name, assetType.AssetTypeId));

                    ResetGridState();
                    MessageLabel1.SetSuccessMessage("Asset type added successfully");
                }
                catch (InvalidAssetTypeException imtex)
                {
                    MessageLabel1.SetErrorMessage("Unable to add asset type", imtex.Errors);
                    BindGrid(CurrentPage);
                }
            }
        }
        protected override void Grid_UpdateCommand(object source, DataGridCommandEventArgs e)
        {
            int      assetTypeId       = Convert.ToInt32(e.CommandArgument);
            TextBox  NameTextBox       = (TextBox)e.Item.FindControl("NameTextBox");
            CheckBox IsVisibleCheckBox = (CheckBox)e.Item.FindControl("IsVisibleCheckBox");

            try
            {
                AssetType assetType = AssetType.Get(assetTypeId);
                assetType.Name      = NameTextBox.Text.Trim();
                assetType.IsVisible = IsVisibleCheckBox.Checked;
                AssetTypeManager.SaveAssetType(assetType);

                AuditLogManager.LogUserAction(CurrentUser, AuditUserAction.ModifyAssetType, string.Format("Modified Asset Type: {0}, AssetTypeId: {1}", assetType.Name, assetType.AssetTypeId));

                ResetGridState();
                MessageLabel1.SetSuccessMessage("Asset type updated successfully");
            }
            catch (InvalidAssetTypeException imtex)
            {
                MessageLabel1.SetErrorMessage("Unable to update asset type", imtex.Message);
                BindGrid(CurrentPage);
            }
        }