Merge pull request 'C2024-027 RO Editor – Add additional feature to allow Cut/Paste (Moving) a RO within the same table.' (#437) from CSM-C2024-027 into Development
Good for testing phase
This commit is contained in:
commit
43b13443ab
File diff suppressed because it is too large
Load Diff
@ -125,7 +125,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
|
||||||
CAAAAk1TRnQBSQFMAgEBAgEAARwBAAEcAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
CAAAAk1TRnQBSQFMAgEBAgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
@ -175,7 +175,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
|
||||||
CwAAAk1TRnQBSQFMAgEBBgEAARwBAAEcAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
CwAAAk1TRnQBSQFMAgEBBgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
|
@ -336,7 +336,7 @@ namespace RODBInterface
|
|||||||
public abstract bool RODB_GetChildData(VlnXmlElement node, bool CheckChildCount);
|
public abstract bool RODB_GetChildData(VlnXmlElement node, bool CheckChildCount);
|
||||||
public abstract bool IsDuplicateAccPageID(VlnXmlElement ro, string newacc);
|
public abstract bool IsDuplicateAccPageID(VlnXmlElement ro, string newacc);
|
||||||
public abstract VlnXmlElement RODB_ReadRO(string tbl, string recid);
|
public abstract VlnXmlElement RODB_ReadRO(string tbl, string recid);
|
||||||
public abstract bool RODB_WriteRO(VlnXmlElement ro);
|
public abstract bool RODB_WriteRO(VlnXmlElement ro, bool movedRO = false);
|
||||||
public abstract bool RODB_InsertRO(VlnXmlElement ro);
|
public abstract bool RODB_InsertRO(VlnXmlElement ro);
|
||||||
public abstract ushort RODB_GetFieldType(VlnXmlElement elem, string TableName, string Fld);
|
public abstract ushort RODB_GetFieldType(VlnXmlElement elem, string TableName, string Fld);
|
||||||
public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false);
|
public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false);
|
||||||
@ -2120,7 +2120,7 @@ namespace RODBInterface
|
|||||||
return retele;
|
return retele;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool RODB_WriteRO(VlnXmlElement ro)
|
public override bool RODB_WriteRO(VlnXmlElement ro, bool movedRO = false)
|
||||||
{
|
{
|
||||||
bool success;
|
bool success;
|
||||||
if (ro.Name == "vlnGroup")
|
if (ro.Name == "vlnGroup")
|
||||||
@ -2140,6 +2140,13 @@ namespace RODBInterface
|
|||||||
string dt = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
|
string dt = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
|
||||||
string xmlstr = GenerateXmlString(ro, false);
|
string xmlstr = GenerateXmlString(ro, false);
|
||||||
string strUpdate = "UPDATE " + ro.GetAttribute("Table") + " SET Info = '" + xmlstr + "'";
|
string strUpdate = "UPDATE " + ro.GetAttribute("Table") + " SET Info = '" + xmlstr + "'";
|
||||||
|
if (movedRO)
|
||||||
|
{
|
||||||
|
VlnXmlElement parent = (VlnXmlElement)ro.ParentNode;
|
||||||
|
ro.SetAttribute("ParentID", parent.GetAttribute("RecID"));
|
||||||
|
strUpdate += ", ParentID = '" + ro.GetAttribute("ParentID") + "'";
|
||||||
|
}
|
||||||
|
|
||||||
strUpdate = strUpdate + ", ModDateTime = '" + dt + "', AccPageID = '" + wraccid + "' WHERE RecID='" + ro.GetAttribute("RecID") + "'";
|
strUpdate = strUpdate + ", ModDateTime = '" + dt + "', AccPageID = '" + wraccid + "' WHERE RecID='" + ro.GetAttribute("RecID") + "'";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -2192,6 +2199,8 @@ namespace RODBInterface
|
|||||||
ro.SetAttribute("HasChild", "False");
|
ro.SetAttribute("HasChild", "False");
|
||||||
if (ro.HasAttribute("AccPageID"))
|
if (ro.HasAttribute("AccPageID"))
|
||||||
{
|
{
|
||||||
|
// Code is never reached, but this was noticed - this next line should likely be:
|
||||||
|
// strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, AccPageID, ModDateTime, Info ) ";
|
||||||
strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, ModDateTime, AccPageID, Info ) ";
|
strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, ModDateTime, AccPageID, Info ) ";
|
||||||
strInsert = strInsert + " VALUES ('" + ro.GetAttribute("RecID") + "'," + (uint)RecordType.Group + ",'" + ro.GetAttribute("ParentID");
|
strInsert = strInsert + " VALUES ('" + ro.GetAttribute("RecID") + "'," + (uint)RecordType.Group + ",'" + ro.GetAttribute("ParentID");
|
||||||
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstr + "');";
|
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstr + "');";
|
||||||
@ -2396,7 +2405,7 @@ namespace RODBInterface
|
|||||||
Info = null;
|
Info = null;
|
||||||
DBE.ReaderClose();
|
DBE.ReaderClose();
|
||||||
DBE.CommandDispose();
|
DBE.CommandDispose();
|
||||||
return Info.Replace("'", "\'");
|
return Info?.Replace("'", "\'");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool RODB_NewSchemaPiece(string recid, string parentid, string table, string schpiece, uint rtype)
|
public override bool RODB_NewSchemaPiece(string recid, string parentid, string table, string schpiece, uint rtype)
|
||||||
|
@ -1557,7 +1557,7 @@ namespace RODBInterface
|
|||||||
}
|
}
|
||||||
return retele;
|
return retele;
|
||||||
}
|
}
|
||||||
public override bool RODB_WriteRO(VlnXmlElement ro)
|
public override bool RODB_WriteRO(VlnXmlElement ro, bool movedRO = false)
|
||||||
{
|
{
|
||||||
bool success;
|
bool success;
|
||||||
if (ro.Name == "vlnGroup")
|
if (ro.Name == "vlnGroup")
|
||||||
@ -1589,6 +1589,13 @@ namespace RODBInterface
|
|||||||
command.Parameters.AddWithValue("@ModDateTime", dt);
|
command.Parameters.AddWithValue("@ModDateTime", dt);
|
||||||
command.Parameters.AddWithValue("@AccPageID", wraccid); // B2020-003: set accpageid to correct value
|
command.Parameters.AddWithValue("@AccPageID", wraccid); // B2020-003: set accpageid to correct value
|
||||||
command.Parameters.AddWithValue("@RecID", ro.GetAttribute("RecID"));
|
command.Parameters.AddWithValue("@RecID", ro.GetAttribute("RecID"));
|
||||||
|
if (movedRO)
|
||||||
|
{
|
||||||
|
VlnXmlElement parent = (VlnXmlElement)ro.ParentNode;
|
||||||
|
ro.SetAttribute("ParentID", parent.GetAttribute("RecID"));
|
||||||
|
command.Parameters.AddWithValue("@ParentID", ro.GetAttribute("ParentID"));
|
||||||
|
}
|
||||||
|
|
||||||
using (SqlDataReader reader = command.ExecuteReader())
|
using (SqlDataReader reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
success = true;
|
success = true;
|
||||||
|
@ -674,7 +674,8 @@ CREATE PROCEDURE [dbo].[updateInfoAccidByRecid]
|
|||||||
@RecID char(8),
|
@RecID char(8),
|
||||||
@AccPageID char(32),
|
@AccPageID char(32),
|
||||||
@Info nvarchar(max),
|
@Info nvarchar(max),
|
||||||
@ModDateTime char(14)
|
@ModDateTime char(14),
|
||||||
|
@ParentID varchar(8) = NULL
|
||||||
)
|
)
|
||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
AS
|
AS
|
||||||
@ -684,7 +685,8 @@ BEGIN TRY -- Try Block
|
|||||||
SET
|
SET
|
||||||
[Info]=@Info,
|
[Info]=@Info,
|
||||||
[ModDateTime]=@ModDateTime,
|
[ModDateTime]=@ModDateTime,
|
||||||
[AccPageID]=@AccPageID
|
[AccPageID]=@AccPageID,
|
||||||
|
[ParentID]=ISNULL(@ParentID, ParentID)
|
||||||
WHERE [ROTable]=@ROTable AND [RecID]=@RecID
|
WHERE [ROTable]=@ROTable AND [RecID]=@RecID
|
||||||
IF @@ROWCOUNT = 0
|
IF @@ROWCOUNT = 0
|
||||||
BEGIN
|
BEGIN
|
||||||
|
Loading…
x
Reference in New Issue
Block a user