/*
* User: Administrator
* Date: 2007-7-3 Time: 14:16
*/
using System;
using System.Windows.Forms;
using System.Reflection;
using System.Runtime.Remoting;
using System.Collections;
namespace myMemonto
{
/// <summary>
/// Description of MyShare.
/// </summary>
public class MyShare
{
public MyShare()
{
}
}
public class ApartmentType{
public string TypeCode;
public string TypeName;
public ApartmentType(){
}
}
public class Apartment{
protected string name;
protected string ap_type;
public string roomNumber;
public double area;
private Form editform;
public Apartment()
{
editform = FlyWightFactory.GetEditForm( " myMemonto.EditApartment " );
// editform=new EditApartment();
}
protected Apartment myType;
public string Name{
get { return name;}
set {name = value;}
}
public string ApartmentType{
get { return ap_type;}
set {ap_type = value;}
}
public virtual bool Edit(){
EditApartment f = (EditApartment)editform;
f.txtName.Text = name;
f.txtArea.Text = area.ToString();
f.txtType.Text = ap_type;
f.txtRoomNumber.Text = roomNumber;
if (f.ShowDialog() == DialogResult.OK){
name = f.txtName.Text;
area = double .Parse(f.txtArea.Text);
ap_type = f.txtType.Text;
roomNumber = f.txtRoomNumber.Text;
MessageBox.Show( " saved " );
return true ;
}
else
{
MessageBox.Show( " cancelled " );
return false ;
}
}
public string RoomNumber{
get { return roomNumber;}
set {roomNumber = value;}
}
public double Area{
get { return area;}
set {area = value;}
}
public override string ToString()
{
return name;
}
}
public class TestaEditForm
{
private Form editform;
public TestaEditForm(){
editform = FlyWightFactory.GetEditForm( " myMemonto.MyTest " );
}
public bool Edit()
{
MyTest a = (myMemonto.MyTest)editform;
if (a.ShowDialog() == DialogResult.OK)
{
MessageBox.Show( " Saved " );
return true ;
}
else
{
MessageBox.Show( " canceled " );
return false ;
}
}
public Form EditForm{
get { return editform;}
set {editform = value;}
}
}
public class TypeFacotry{
public TypeFacotry(){}
private static ArrayList types = new ArrayList();
public static ApartmentType GetApartmentType( string typecode){
foreach (ApartmentType at in types){
if (at.TypeCode == typecode) return at;
}
ApartmentType nat = new ApartmentType();
nat.TypeCode = typecode;
nat.TypeCode = typecode;
types.Add(nat);
return nat;
}
}
public class FlyWightFactory{
private static ArrayList editforms = new ArrayList();
private FlyWightFactory(){}
public static Form GetEditForm( string formType)
{
Form editform;
foreach (Form ef in editforms)
if (ef.GetType().Name == formType) return ef;
ObjectHandle obj = Activator.CreateInstance( null ,formType);
editform = (Form)obj.Unwrap();
editforms.Add(editform);
return editform;
}
}
}
* User: Administrator
* Date: 2007-7-3 Time: 14:16
*/
using System;
using System.Windows.Forms;
using System.Reflection;
using System.Runtime.Remoting;
using System.Collections;
namespace myMemonto
{
/// <summary>
/// Description of MyShare.
/// </summary>
public class MyShare
{
public MyShare()
{
}
}
public class ApartmentType{
public string TypeCode;
public string TypeName;
public ApartmentType(){
}
}
public class Apartment{
protected string name;
protected string ap_type;
public string roomNumber;
public double area;
private Form editform;
public Apartment()
{
editform = FlyWightFactory.GetEditForm( " myMemonto.EditApartment " );
// editform=new EditApartment();
}
protected Apartment myType;
public string Name{
get { return name;}
set {name = value;}
}
public string ApartmentType{
get { return ap_type;}
set {ap_type = value;}
}
public virtual bool Edit(){
EditApartment f = (EditApartment)editform;
f.txtName.Text = name;
f.txtArea.Text = area.ToString();
f.txtType.Text = ap_type;
f.txtRoomNumber.Text = roomNumber;
if (f.ShowDialog() == DialogResult.OK){
name = f.txtName.Text;
area = double .Parse(f.txtArea.Text);
ap_type = f.txtType.Text;
roomNumber = f.txtRoomNumber.Text;
MessageBox.Show( " saved " );
return true ;
}
else
{
MessageBox.Show( " cancelled " );
return false ;
}
}
public string RoomNumber{
get { return roomNumber;}
set {roomNumber = value;}
}
public double Area{
get { return area;}
set {area = value;}
}
public override string ToString()
{
return name;
}
}
public class TestaEditForm
{
private Form editform;
public TestaEditForm(){
editform = FlyWightFactory.GetEditForm( " myMemonto.MyTest " );
}
public bool Edit()
{
MyTest a = (myMemonto.MyTest)editform;
if (a.ShowDialog() == DialogResult.OK)
{
MessageBox.Show( " Saved " );
return true ;
}
else
{
MessageBox.Show( " canceled " );
return false ;
}
}
public Form EditForm{
get { return editform;}
set {editform = value;}
}
}
public class TypeFacotry{
public TypeFacotry(){}
private static ArrayList types = new ArrayList();
public static ApartmentType GetApartmentType( string typecode){
foreach (ApartmentType at in types){
if (at.TypeCode == typecode) return at;
}
ApartmentType nat = new ApartmentType();
nat.TypeCode = typecode;
nat.TypeCode = typecode;
types.Add(nat);
return nat;
}
}
public class FlyWightFactory{
private static ArrayList editforms = new ArrayList();
private FlyWightFactory(){}
public static Form GetEditForm( string formType)
{
Form editform;
foreach (Form ef in editforms)
if (ef.GetType().Name == formType) return ef;
ObjectHandle obj = Activator.CreateInstance( null ,formType);
editform = (Form)obj.Unwrap();
editforms.Add(editform);
return editform;
}
}
}
void
Button1Click(
object
sender, EventArgs e)
{
Apartment newa = new Apartment();
if (newa.Edit()) this .listBox1.Items.Add(newa);
}
void Button2Click( object sender, EventArgs e)
{
Apartment a = (Apartment) this .listBox1.SelectedItem;
if (a != null ) a.Edit();
}
void Button4Click( object sender, EventArgs e)
{
TestaEditForm b = new TestaEditForm();
if (b.Edit()) this .listBox1.Items.Add(b);
}
{
Apartment newa = new Apartment();
if (newa.Edit()) this .listBox1.Items.Add(newa);
}
void Button2Click( object sender, EventArgs e)
{
Apartment a = (Apartment) this .listBox1.SelectedItem;
if (a != null ) a.Edit();
}
void Button4Click( object sender, EventArgs e)
{
TestaEditForm b = new TestaEditForm();
if (b.Edit()) this .listBox1.Items.Add(b);
}
editform
shareform