- VAL.src.zip
- VAL
- Database
- packages
- EntityFramework.4.2.0.0
- lib
- net40
- EntityFramework.dll
- log4net.1.2.10
- lib
- 1.0
- log4net.dll
- 1.1
- log4net.dll
- 2.0
- log4net.dll
- log4net.1.2.11
- lib
- net10-full
- log4net.dll
- net11-full
- log4net.dll
- net20-cf
- log4net.dll
- net20-full
- log4net.dll
- net35-client
- log4net.dll
- net35-full
- log4net.dll
- net40-client
- log4net.dll
- net40-full
- log4net.dll
- Moq.4.0.10827
- lib
- NET35
- Moq.dll
- NET40
- Moq.dll
- Silverlight4
- Castle.Core.dll
- Moq.Silverlight.dll
- License.txt
- Moq.chm
- repositories.config
- structuremap.2.6.3
- lib
- StructureMap.dll
- READ-ME-First!.txt
- VAL.BusinessService
- VAL.ClientService
- VAL.Common
- VAL.Contracts
- VAL.Controls
- VAL.Data
- VAL.GUI
- VAL.Model
- VAL.Service
- VAL.sln
- VAL.Tests
- VAL.User.Documentation
- VAL.zip
- VisualApplicationLauncher
- Database
- Local.testsettings
- NRepo
- ProjectReferences
- EFCachingProvider.dll
- EFCachingProvider.Web.dll
- EFProviderWrapperToolkit.dll
- EFTracingProvider.dll
- log4net.dll
- StructureMap.dll
- READ-ME-First!.txt
- TraceAndTestImpact.testsettings
- VAL.BusinessService
- VAL.Common
- VAL.Contracts
- VAL.Controls
- VAL.Data
- VAL.GUI
- VAL.Model
- VAL.Service
- VAL.sln
- VAL.Tests
- VAL.User.Documentation
- VAL.vsmdi
|
namespace VAL
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.ServiceModel;
using VAL.Contracts;
using VAL.Model;
using VAL.Controls;
using VAL.Properties;
using VAL.Contracts.ServiceFaults;
/// <summary>
/// A form to allow the administrator to edit group types
/// </summary>
public partial class GroupTypeMaintenance : PersistedForm
{
private GroupType groupType;
private ListViewItem selectedItem;
#region Construct and Load
/// <summary>
/// Ctor
/// </summary>
public GroupTypeMaintenance(IAdministratorService service)
{
InitializeComponent();
this.Service = service;
LoadGroupTypes();
SetFormEditMode(false);
}
private IAdministratorService Service { get; set; }
#endregion
private void LoadGroupTypes()
{
try
{
groupTypesList.BeginUpdate();
this.groupTypesList.Items.Clear();
var groupTypes = Service.GetGroupTypes();
foreach (var groupType in groupTypes)
{
if (groupType.Id > 0)
groupTypesList.Items.Add(CreateListViewItem(groupType));
}
}
finally
{
groupTypesList.EndUpdate();
}
}
private ListViewItem CreateListViewItem(GroupType item)
{
return new ListViewItem()
{
Text = item.Description,
Tag = item
};
}
private void SetFormEditMode(bool editing)
{
groupTypesList.Enabled = (!editing);
this.detailsBox.Enabled = editing;
this.applyButton.Enabled = editing;
if (!editing)
{
this.groupType = null;
this.selectedItem = null;
this.descriptionText.Text = String.Empty;
}
}
private void cancelButton_Click(object sender, EventArgs e)
{
if (!groupTypesList.Enabled)
{
SetFormEditMode(false);
}
else
{
this.Close();
}
}
private void EditGroupType()
{
if (!this.TryGetListViewItem(this.groupTypesList, out selectedItem))
return;
this.groupType = (GroupType)selectedItem.Tag;
// Binds the user GUI fields to those of our object
BindObjectFields();
SetFormEditMode(true);
}
private void BindObjectFields()
{
BindingHelper.BindField(this.descriptionText, "Text", groupType, "Description");
}
private void groupTypesList_DoubleClick(object sender, EventArgs e)
{
EditGroupType();
}
private void applyButton_Click(object sender, EventArgs e)
{
if (!groupType.IsValid)
{
Messaging.ShowError(groupType.ErrorMessage);
return;
}
try
{
groupType = Service.SaveGroupType(groupType);
}
catch (System.ServiceModel.FaultException<VAL.Contracts.ServiceFaults.BusinessRulesFault> ex)
{
Messaging.ShowError(ex.Message);
return;
}
if (this.selectedItem == null)
{
ListViewItem lvi = CreateListViewItem(groupType);
this.groupTypesList.Items.Add(lvi);
}
else
{
this.selectedItem.Text = groupType.Description;
}
SetFormEditMode(false);
}
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
this.groupType = new GroupType();
BindObjectFields();
SetFormEditMode(true);
}
private void editToolStripMenuItem_Click(object sender, EventArgs e)
{
EditGroupType();
}
private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!this.TryGetListViewItem(this.groupTypesList, out selectedItem))
return;
GroupType gt = (GroupType)selectedItem.Tag;
try
{
Service.DeleteGroupType(gt.Id);
}
catch (FaultException<BusinessRulesFault> ex)
{
Messaging.ShowError(ex.Message);
return;
}
this.groupTypesList.Items.Remove(selectedItem);
selectedItem = null;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.