// Copy
        public void CopyContract(Contract c)
        {
            ContractStruct oldc = val;

            val = c.GetStruct();
            if (oldc != val && IsChangedHandlers())
            {
                OnChanged(this, new ChangedEventsArgs(oldc, val));
            }
        }
        public void Refresh()
        {
            ContractStruct oldc = val;

            val.Refresh();
            if (oldc != val && IsChangedHandlers())
            {
                OnChanged(this, new ChangedEventsArgs(oldc, val));
            }
        }
        public override bool Equals(object obj)
        {
            if (obj.GetType() != typeof(ContractStruct))
            {
                return(false);
            }
            ContractStruct cs = (ContractStruct)obj;

            return(this.quantity == cs.quantity && this.trump == cs.trump && this.Contra == cs.Contra && this.ReContra == cs.ReContra && this.Born == cs.Born);
        }
 public Contract(Contract c)
 {
     val = c.GetStruct();
 }
 public Contract(ContractStruct cs)
 {
     val = cs;
 }
 public Contract(int q, CardTrump tr, bool co, bool reco)
 {
     val = new ContractStruct(q, tr, co, reco);
 }