This commit is contained in:
parent
57fc6fa1a7
commit
236f2b9fe9
@ -42,6 +42,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
public partial class ContentInfo
|
public partial class ContentInfo
|
||||||
{
|
{
|
||||||
|
public PartInfoList LocalContentParts
|
||||||
|
{
|
||||||
|
get { return _ContentParts; }
|
||||||
|
}
|
||||||
public void AddPart(SafeDataReader dr, ItemInfo itemInfo)
|
public void AddPart(SafeDataReader dr, ItemInfo itemInfo)
|
||||||
{
|
{
|
||||||
if (_ContentParts == null)
|
if (_ContentParts == null)
|
||||||
@ -53,6 +57,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
return string.Format("{0} {1}", Number, Text);
|
return string.Format("{0} {1}", Number, Text);
|
||||||
}
|
}
|
||||||
|
public void ShowChange()
|
||||||
|
{
|
||||||
|
OnChange();
|
||||||
|
}
|
||||||
//public XmlNode ToXml(XmlNode xn)
|
//public XmlNode ToXml(XmlNode xn)
|
||||||
//{
|
//{
|
||||||
// XmlNode nd = xn.OwnerDocument.CreateElement("Content");
|
// XmlNode nd = xn.OwnerDocument.CreateElement("Content");
|
||||||
|
@ -889,7 +889,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ContentInfo cont = MyContent;
|
ContentInfo cont = MyContent;
|
||||||
//string number = cont.Number;
|
//string number = cont.Number;
|
||||||
string number = DisplayNumber;
|
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, DisplayText).Trim();
|
||||||
//return string.Format("{0} {1}", number, cont.Text).Trim();
|
//return string.Format("{0} {1}", number, cont.Text).Trim();
|
||||||
//return string.Format("{0} {1}", cont.Number, cont.Text);
|
//return string.Format("{0} {1}", cont.Number, cont.Text);
|
||||||
@ -1503,7 +1504,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
protected bool _TagsSetup = false;
|
protected bool _TagsSetup = false;
|
||||||
public virtual void SetupTags()
|
public virtual void SetupTags()
|
||||||
{
|
{
|
||||||
_MyTab = new Tab(_ActiveFormat.PlantFormat.FormatData.Font);
|
_MyTab = new Tab(ActiveFormat.PlantFormat.FormatData.Font);
|
||||||
_MyHeader = null;
|
_MyHeader = null;
|
||||||
_MyFooter = null;
|
_MyFooter = null;
|
||||||
_MyTab.CleanText = DisplayNumber;
|
_MyTab.CleanText = DisplayNumber;
|
||||||
|
@ -118,6 +118,52 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// return newItemInfo;
|
// return newItemInfo;
|
||||||
//}
|
//}
|
||||||
#endregion
|
#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
|
#region Insert Before
|
||||||
public ItemInfo InsertSiblingBefore(string text)
|
public ItemInfo InsertSiblingBefore(string text)
|
||||||
{
|
{
|
||||||
@ -389,6 +435,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
//Console.WriteLine("item = {0}, ordinal = {1}",item,item.Ordinal);
|
//Console.WriteLine("item = {0}, ordinal = {1}",item,item.Ordinal);
|
||||||
item._Ordinal = null;
|
item._Ordinal = null;
|
||||||
item._TagsSetup = false;
|
item._TagsSetup = false;
|
||||||
|
item.MyContent.ShowChange();
|
||||||
if (key == null && item.NextItem != null)
|
if (key == null && item.NextItem != null)
|
||||||
key = item.NextItem.ItemID.ToString();
|
key = item.NextItem.ItemID.ToString();
|
||||||
}
|
}
|
||||||
@ -409,22 +456,63 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ItemInfo parent = items[0].ActiveParent as ItemInfo;
|
ItemInfo parent = items[0].ActiveParent as ItemInfo;
|
||||||
if (parent != null)
|
if (parent != null)
|
||||||
ItemInfo.ResetParts(parent.ItemID);
|
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)
|
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)
|
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 nextItem = item.NextItem;
|
||||||
ItemInfo prevItem = item.MyPrevious;
|
ItemInfo prevItem = item.MyPrevious;
|
||||||
|
item.OnBeforeDelete();
|
||||||
DataPortal.Delete(new DeleteCriteria(item.ItemID,Environment.UserName));
|
DataPortal.Delete(new DeleteCriteria(item.ItemID,Environment.UserName));
|
||||||
if (nextItem != null) // Adjust PreviousID for NextItem
|
if (nextItem != null) // Adjust PreviousID for NextItem
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user