private bool IsTransDetailValid(TransDetail transDetail) { if (transDetail == null) { return(false); } if (transDetail.Xp_Css_Left == null || transDetail.Xp_Css_Top == null || transDetail.Xp_Css_Width == null) { return(false); } return(true); }
private TransDetail BuildTransDetail(string fieldName, string cssProperties) { TransDetail transDetail = new TransDetail { FieldName = fieldName }; var parts = cssProperties.Split(';'); foreach (var part in parts) { int number = 0; if (part.Contains("width")) { if (int.TryParse(part.Replace("width:", "").Replace("px", "").Trim(), out number)) { transDetail.Xp_Css_Width = number; number = 0; } } else if (part.Contains("left")) { if (int.TryParse(part.Replace("left:", "").Replace("px", "").Trim(), out number)) { transDetail.Xp_Css_Left = number; number = 0; } } else if (part.Contains("top")) { if (int.TryParse(part.Replace("top:", "").Replace("px", "").Trim(), out number)) { transDetail.Xp_Css_Top = number; number = 0; } } } return(transDetail); }
public static string UpdateTransDetRecord(TransDetail transDetail) { return($"\nUPDATE TRANS_DET\nSET XP_CSS_LEFT = '{transDetail.Xp_Css_Left}', XP_CSS_TOP = '{transDetail.Xp_Css_Top}', XP_CSS_WIDTH = '{transDetail.Xp_Css_Width}'\nWHERE FIELDNAME = '{transDetail.FieldName}' AND [TYPE] = '{transDetail.Type}' AND [NAME] = '{transDetail.Name}'"); }
public static string SqlIfElseUpdateTransDet(TransDetail transDetail) { return($"\t{SqlQueryBuilder.IfElse(SelectCountForTransDetRecord(transDetail), UpdateTransDetRecord(transDetail), PrintTransDetailUpdateError(transDetail))}"); }
public static string PrintTransDetailUpdateError(TransDetail transDetail) { return(SqlQueryBuilder.Print($"\tWARNING: Record was NOT UPDATED. --- FIELDNAME: {transDetail.FieldName} --- NAME: {transDetail.Name} --- TYPE: {transDetail.Type} ")); }
public static string SelectCountForTransDetRecord(TransDetail transDetail) { return($"(SELECT COUNT(*) FROM TRANS_DET WHERE FIELDNAME = '{transDetail.FieldName}' AND [TYPE] = '{transDetail.Type}' AND [NAME] = '{transDetail.Name}') = 1"); }
private TransDetailParseResponse ParseTransDetailsFromFile(string sourceFilePath) { int jsonRecordId = 0; int errorRecordId = 0; int potentialRecordCount = 0; var data = File.ReadAllLines(sourceFilePath); string transDetailName = GetTransDetailName(sourceFilePath); List <TransDetailError> errors = new List <TransDetailError>(); TransDetailParseResponse transDetailParseResponse = new TransDetailParseResponse { ParsedTransDetails = new List <TransDetail>() }; for (var i = 0; i < data.Length; i++) { TransDetail transDetail = null; TransDetailError transDetailError = null; int fileLineNumber = i + 1; if (data[i]?.Trim().StartsWith("#txt") ?? false) { potentialRecordCount++; string fieldName = data[i].Replace("#txt", "")?.Trim(); transDetailError = new TransDetailError(); transDetailError.FieldName = fieldName; if (data[i]?.Trim().EndsWith(",") ?? false) { transDetailError.IsLineEndingWithComma = true; } if ((data[i + 1]?.Trim().StartsWith("{") ?? false) && fieldName != null) { if (data[i + 1].Contains("height: 20px")) { string cssProperties = data[i + 1].Replace("{", "").Replace("}", "").ToLower(); transDetail = BuildTransDetail(fieldName, cssProperties); } else { transDetailError.IsErrorDueToHeight20Px = true; } } else { transDetailError.IsErrorDueToBrace = true; } } if (transDetail != null) { transDetail.FileLineNumber = fileLineNumber; transDetail.Name = transDetailName; } if (IsTransDetailValid(transDetail)) { transDetail.JsonRecordId = ++jsonRecordId; transDetailParseResponse.ParsedTransDetails.Add(transDetail); } else if (transDetailError != null) { transDetailError.FileLineNumber = fileLineNumber; transDetailError.IsXpCssLeftNull = transDetail?.Xp_Css_Left == null; transDetailError.IsXpCssTopNull = transDetail?.Xp_Css_Top == null; transDetailError.IsXpCssWidthNull = transDetail?.Xp_Css_Width == null; transDetailError.ErrorRecordId = ++errorRecordId; transDetailError.InvalidTransDetail = transDetail; errors.Add(transDetailError); } } transDetailParseResponse.ParseResult = BuildParseResult(potentialRecordCount, transDetailParseResponse.ParsedTransDetails, errors); return(transDetailParseResponse); }