This commit is contained in:
parent
57fc6fa1a7
commit
236f2b9fe9
@ -42,6 +42,10 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
public partial class ContentInfo
|
||||
{
|
||||
public PartInfoList LocalContentParts
|
||||
{
|
||||
get { return _ContentParts; }
|
||||
}
|
||||
public void AddPart(SafeDataReader dr, ItemInfo itemInfo)
|
||||
{
|
||||
if (_ContentParts == null)
|
||||
@ -53,6 +57,10 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
return string.Format("{0} {1}", Number, Text);
|
||||
}
|
||||
public void ShowChange()
|
||||
{
|
||||
OnChange();
|
||||
}
|
||||
//public XmlNode ToXml(XmlNode xn)
|
||||
//{
|
||||
// XmlNode nd = xn.OwnerDocument.CreateElement("Content");
|
||||
|
@ -889,7 +889,8 @@ namespace VEPROMS.CSLA.Library
|
||||
ContentInfo cont = MyContent;
|
||||
//string number = cont.Number;
|
||||
string number = DisplayNumber;
|
||||
if (cont.Type >= 20000) number = Ordinal.ToString() + ".";
|
||||
//if (cont.Type >= 20000) number = Ordinal.ToString() + ".";
|
||||
if (cont.Type >= 20000) number = MyTab.CleanText;
|
||||
return string.Format("{0} {1}", number, DisplayText).Trim();
|
||||
//return string.Format("{0} {1}", number, cont.Text).Trim();
|
||||
//return string.Format("{0} {1}", cont.Number, cont.Text);
|
||||
@ -1503,7 +1504,7 @@ namespace VEPROMS.CSLA.Library
|
||||
protected bool _TagsSetup = false;
|
||||
public virtual void SetupTags()
|
||||
{
|
||||
_MyTab = new Tab(_ActiveFormat.PlantFormat.FormatData.Font);
|
||||
_MyTab = new Tab(ActiveFormat.PlantFormat.FormatData.Font);
|
||||
_MyHeader = null;
|
||||
_MyFooter = null;
|
||||
_MyTab.CleanText = DisplayNumber;
|
||||
|
@ -118,6 +118,52 @@ namespace VEPROMS.CSLA.Library
|
||||
// return newItemInfo;
|
||||
//}
|
||||
#endregion
|
||||
#region Events
|
||||
public event ItemInfoEvent BeforeDelete;
|
||||
public void OnBeforeDelete()
|
||||
{
|
||||
OnBeforeDelete(ItemID);
|
||||
|
||||
if (MyContent.ContentPartCount > 0)
|
||||
{
|
||||
foreach (PartInfo pi in MyContent.ContentParts)
|
||||
{
|
||||
foreach (ItemInfo ii in pi.MyItems)
|
||||
{
|
||||
ii.OnBeforeDelete();
|
||||
}
|
||||
}
|
||||
}
|
||||
//if (ItemPartCount > 0)
|
||||
//{
|
||||
// foreach (PartInfo pi in ItemParts)
|
||||
// {
|
||||
// foreach (ItemInfo ii in pi.MyItems)
|
||||
// {
|
||||
// ii.OnBeforeDelete();
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
private void OnBeforeDelete(int ItemID)
|
||||
{
|
||||
if (_CacheByPrimaryKey.ContainsKey(ItemID.ToString()))
|
||||
{
|
||||
List<ItemInfo> itmlst = _CacheByPrimaryKey[ItemID.ToString()];
|
||||
foreach (ItemInfo itm in itmlst)
|
||||
if (itm.BeforeDelete != null)
|
||||
{
|
||||
itm.BeforeDelete(itm);
|
||||
}
|
||||
}
|
||||
}
|
||||
public event ItemInfoEvent Deleted;
|
||||
internal void OnDeleted(object sender)
|
||||
{
|
||||
if (Deleted != null) Deleted(sender);
|
||||
}
|
||||
#endregion
|
||||
#region Insert Before
|
||||
public ItemInfo InsertSiblingBefore(string text)
|
||||
{
|
||||
@ -389,6 +435,7 @@ namespace VEPROMS.CSLA.Library
|
||||
//Console.WriteLine("item = {0}, ordinal = {1}",item,item.Ordinal);
|
||||
item._Ordinal = null;
|
||||
item._TagsSetup = false;
|
||||
item.MyContent.ShowChange();
|
||||
if (key == null && item.NextItem != null)
|
||||
key = item.NextItem.ItemID.ToString();
|
||||
}
|
||||
@ -409,22 +456,63 @@ namespace VEPROMS.CSLA.Library
|
||||
ItemInfo parent = items[0].ActiveParent as ItemInfo;
|
||||
if (parent != null)
|
||||
ItemInfo.ResetParts(parent.ItemID);
|
||||
//Console.WriteLine("\r\n\r\n'Deleting Item {0}'\r\n{0}'Type ','ParentID','ParentUnique','ItemID','Unique'",itemID);
|
||||
foreach (ItemInfo item in items)
|
||||
item.DeleteItemInfoAndChildren();
|
||||
{
|
||||
item.OnDeleted(item);
|
||||
item.DeleteItemInfoAndChildren(" ");
|
||||
}
|
||||
//Console.WriteLine("\r\n'Item Deleted'");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteItemInfoAndChildren()
|
||||
private void DeleteItemInfoAndChildren(string depth)
|
||||
{
|
||||
if (_ItemParts != null)
|
||||
if (MyContent.LocalContentParts != null)
|
||||
{
|
||||
foreach (PartInfo part in _ItemParts)
|
||||
foreach (PartInfo part in MyContent.LocalContentParts)
|
||||
{
|
||||
if (part._MyItems != null)
|
||||
{
|
||||
foreach (ItemInfo item in part._MyItems)
|
||||
int whereami = 1;
|
||||
try
|
||||
{
|
||||
item.DeleteItemInfoAndChildren();
|
||||
List<ItemInfo> items = new List<ItemInfo>();
|
||||
foreach (ItemInfo item in part._MyItems)
|
||||
{
|
||||
items.Add(item);
|
||||
}
|
||||
foreach (ItemInfo item in items)
|
||||
{
|
||||
string key = item.ItemID.ToString();
|
||||
if (_CacheByPrimaryKey.ContainsKey(key))
|
||||
{
|
||||
ItemInfo[] itemz = _CacheByPrimaryKey[key].ToArray();
|
||||
foreach (ItemInfo itm in itemz)
|
||||
{
|
||||
//Console.WriteLine("'{0}cache ',{1},{2},{3},{4}", depth + depth, this.ItemID, this._MyItemInfoUnique, itm.ItemID, itm._MyItemInfoUnique);
|
||||
//whereami = 2;
|
||||
itm.OnDeleted(itm);
|
||||
//whereami = 4;
|
||||
itm.DeleteItemInfoAndChildren(depth + " ");
|
||||
//whereami = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Console.WriteLine("'{0}noncache',{1},{2},{3},{4}", depth + depth, this.ItemID, this._MyItemInfoUnique, item.ItemID, item._MyItemInfoUnique);
|
||||
//whereami = 5;
|
||||
item.OnDeleted(item);
|
||||
//whereami = 7;
|
||||
item.DeleteItemInfoAndChildren(depth + " ");
|
||||
//whereami = 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("where = {0}, type = {1}, msg = {2}", whereami, ex.GetType().Name, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -462,6 +550,7 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
ItemInfo nextItem = item.NextItem;
|
||||
ItemInfo prevItem = item.MyPrevious;
|
||||
item.OnBeforeDelete();
|
||||
DataPortal.Delete(new DeleteCriteria(item.ItemID,Environment.UserName));
|
||||
if (nextItem != null) // Adjust PreviousID for NextItem
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user