public Record GetRecord() { var record = new Record { Header = new RecordHeader(), FileRecords = new List <FileRecord>(), PasswordRecords = new List <PasswordRecord>() }; record.Header.Name = Name; record.Header.Id = Id; record.Header.Tags = Tags; var fileRecords = FileRecords.Select(x => new FileRecord() { Name = x.Name, Description = x.Description, Extention = x.Extention, FileId = x.FileRecordId, AssociatedRecordId = x.RecordId, }).ToList(); record.FileRecords.AddRange(fileRecords); var passwordRecordViewModels = PasswordRecords.ToList(); passwordRecordViewModels.RemoveAt(PasswordRecords.Count - 1); var passwordRecords = passwordRecordViewModels.Select(x => new PasswordRecord() { Name = x.Name, Value = x.Value }).ToList(); record.PasswordRecords.AddRange(passwordRecords); return(record); }
private static FileRecords FileRecords(FileModel fileModel, string[] fileLines) { var startIndex = 0; var endIndex = fileLines.Length; var fileData = new FileRecords(); if (fileModel.HeaderFields != null) { fileData.Header = GetDataFieldsFromLine(fileLines[startIndex], fileModel.HeaderFields); startIndex++; } if (fileModel.TrailerFields != null) { endIndex--; fileData.Trailer = GetDataFieldsFromLine(fileLines[endIndex], fileModel.TrailerFields); } for (var i = startIndex; i < endIndex; i++) { fileData.Records.Add(i, GetDataFieldsFromLine(fileLines[i], fileModel.RecordFields)); } return(fileData); }
public bool Where(string Filter, out PerforceWhereRecord WhereRecord, TextWriter Log) { List <PerforceFileRecord> FileRecords; if (!RunCommand(String.Format("where \"{0}\"", Filter), out FileRecords, CommandOptions.None, Log)) { WhereRecord = null; return(false); } FileRecords.RemoveAll(x => x.Unmap); if (FileRecords.Count == 0) { Log.WriteLine("'{0}' is not mapped to workspace.", Filter); WhereRecord = null; return(false); } else if (FileRecords.Count > 1) { Log.WriteLine("File is mapped to {0} locations: {1}", FileRecords.Count, String.Join(", ", FileRecords.Select(x => x.Path))); WhereRecord = null; return(false); } WhereRecord = new PerforceWhereRecord(); WhereRecord.LocalPath = FileRecords[0].Path; WhereRecord.DepotPath = FileRecords[0].DepotPath; WhereRecord.ClientPath = FileRecords[0].ClientPath; return(true); }
private void ProcessExtensionBlocks() { _logger.Debug("Processing Extension FILE records"); foreach (var fileRecord in ExtensionFileRecords) { FileRecord baseRecord = null; if (FileRecords.ContainsKey(fileRecord.Key)) { baseRecord = FileRecords[fileRecord.Key]; } else if (FreeFileRecords.ContainsKey(fileRecord.Key)) { baseRecord = FreeFileRecords[fileRecord.Key]; } if (baseRecord == null) { continue; } _logger.Debug($"FILE record '{fileRecord.Key}', Extension records found: {fileRecord.Value.Count:N0}"); //pull in all related attributes from this record for processing later foreach (var fileRecordAttribute in fileRecord.Value) { baseRecord.Attributes.AddRange(fileRecordAttribute.Attributes); } } }
public static void ParseFileRecordsFromFile() { var fileModel = new FileModel(TestHelpers.SpecsTXTFile); FileRecords fileRecords = fileModel.GetFileRecords(TestHelpers.PathOfTestFile); Assert.True((fileRecords.Records.Count == 2 && fileRecords.Header != null && fileRecords.Trailer != null)); }
public void BuildFileLinesWithGlobalFunction() { var fileRecords = new FileRecords() { Header = TestHelpers.GetHeaderTestFields, Trailer = TestHelpers.GetTrailerTestFields, Records = TestHelpers.GetRecordTestFields }; IEnumerable <string> fileLines = fileRecords.GetFileLines(field => { if (field.Name == "Name") { return("NONAME "); } else { return(field.Value); } }); Assert.True(fileLines.ToList().Count == 4); Assert.StartsWith("NONAME", fileLines.ToList()[1]); Assert.StartsWith("NONAME", fileLines.ToList()[2]); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GameForm form = new GameForm(); new GamePresenter(form); FileRecords FRecords = new FileRecords("Records.txt"); Records.GetInstance(FRecords); Application.Run(form); }
public void BuildFileLines() { var fileRecords = new FileRecords() { Header = TestHelpers.GetHeaderTestFields, Trailer = TestHelpers.GetTrailerTestFields, Records = TestHelpers.GetRecordTestFields }; IEnumerable <string> fileLines = fileRecords.GetFileLines(); Assert.True(fileLines.ToList().Count == 4); }
public void AddFileRecord(string fileUri) { IsRecordModified = false; var fileId = _fileIdGenerator.GetFileId(); var fileRecordViewModel = new FileRecordViewModel(FileRecords, _fileSafe, Id, fileId, () => { IsRecordModified = true; }) { Name = Path.GetFileNameWithoutExtension(fileUri), Extention = Path.GetExtension(fileUri)?.Replace(".", ""), Description = string.Empty, }; FileRecords.Add(fileRecordViewModel); _fileSafe.StoreFile(Id, fileId, fileUri); }
private static IEnumerable <string> FileLines(FileRecords fileRecords, Func <Field, string> globalFieldBuilder = null) { var fileLines = new List <string>(); if (fileRecords.Header != null) { fileLines.Add(BuildLineFromFields(fileRecords.Header, globalFieldBuilder)); } foreach (List <Field> record in fileRecords.Records.Values) { fileLines.Add(BuildLineFromFields(record, globalFieldBuilder)); } if (fileRecords.Trailer != null) { fileLines.Add(BuildLineFromFields(fileRecords.Trailer, globalFieldBuilder)); } return(fileLines); }
public override Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { if (!isVisible) { output.SuppressOutput(); return(Task.CompletedTask); } #region << Init >> var initSuccess = InitField(context, output); if (!initSuccess) { return(Task.CompletedTask); } if (Value == "") { Value = null; } if (Value != null && !(Value is List <EntityRecord>)) { output.Content.AppendHtml("<div class='go-red'>'value' property should be 'List<EntityRecord>'"); return(Task.CompletedTask); } if (Value != null && Value is List <EntityRecord> ) { var valueRecords = (List <EntityRecord>)Value; foreach (var file in valueRecords) { if (!file.Properties.ContainsKey(PathFieldName)) { output.Content.AppendHtml($"<div class='go-red'>{PathFieldName} property is missing in value (List<EntityRecord>)"); return(Task.CompletedTask); } var fileId = (Guid)file["id"]; RelatedFileIds.Add(fileId); var fileRecord = new EntityRecord(); fileRecord["id"] = fileId; var fileUrl = (string)file[PathFieldName]; if (fileUrl.StartsWith("/fs")) { fileUrl = fileUrl.Substring(3); } fileRecord["path"] = fileUrl; fileRecord["icon_class"] = new RenderService().GetPathTypeIcon(fileUrl); fileRecord["name"] = Path.GetFileName(fileUrl); fileRecord["size"] = (decimal)0; if (!string.IsNullOrWhiteSpace(SizeFieldName) && file.Properties.ContainsKey(SizeFieldName)) { fileRecord["size"] = (decimal)file[SizeFieldName]; } FileRecords.Add(fileRecord); } } #endregion #region << Render >> if (Mode == FieldRenderMode.Form) { if (Access == FieldAccess.Full || Access == FieldAccess.FullAndCreate) { #region << Hidden input for posting >> output.Content.AppendHtml($"<input type='hidden' id='input-{FieldId}' name='{Name}' value='{String.Join(',', RelatedFileIds)}' data-entity-name='{FileEntityName}' data-path-field-name='{PathFieldName}'/>"); #endregion #region << fake upload >> var inputGroupEl = new TagBuilder("div"); inputGroupEl.AddCssClass("input-group erp-file-multiple-input"); var fakeInputEl = new TagBuilder("div"); var inputElCssClassList = new List <string>(); inputElCssClassList.Add("form-control erp-file with-progress"); fakeInputEl.Attributes.Add("id", $"fake-{FieldId}"); if (ValidationErrors.Count > 0) { inputElCssClassList.Add("is-invalid"); } fakeInputEl.Attributes.Add("class", String.Join(' ', inputElCssClassList)); var fakeInputProgress = new TagBuilder("div"); fakeInputProgress.AddCssClass("form-control-progress"); fakeInputEl.InnerHtml.AppendHtml(fakeInputProgress); inputGroupEl.InnerHtml.AppendHtml(fakeInputEl); var appendEl = new TagBuilder("span"); appendEl.AddCssClass("input-group-append action erp-file"); var selectFileLink = new TagBuilder("button"); selectFileLink.Attributes.Add("type", $"button"); selectFileLink.AddCssClass("btn btn-white"); selectFileLink.Attributes.Add("onclick", $"document.getElementById('file-{FieldId}').click();"); selectFileLink.InnerHtml.AppendHtml("browse"); appendEl.InnerHtml.AppendHtml(selectFileLink); inputGroupEl.InnerHtml.AppendHtml(appendEl); output.Content.AppendHtml(inputGroupEl); var realHiddenFileInput = new TagBuilder("input"); realHiddenFileInput.Attributes.Add("id", $"file-{FieldId}"); realHiddenFileInput.Attributes.Add("type", $"file"); realHiddenFileInput.Attributes.Add("multiple", $"true"); realHiddenFileInput.AddCssClass("d-none"); realHiddenFileInput.Attributes.Add("value", $""); if (!String.IsNullOrWhiteSpace(Accept)) { realHiddenFileInput.Attributes.Add("accept", $"{Accept}"); } output.Content.AppendHtml(realHiddenFileInput); #endregion #region << Files list element >> var filesListEl = new TagBuilder("div"); filesListEl.AddCssClass("form-control erp-file-multiple-list form"); filesListEl.Attributes.Add("id", $"fake-list-{FieldId}"); if (FileRecords.Count == 0) { filesListEl.AddCssClass("d-none"); } //Generate the files list foreach (var file in FileRecords) { var fileRow = new TagBuilder("div"); fileRow.AddCssClass("filerow"); fileRow.Attributes.Add("data-file-id", ((Guid)file["id"]).ToString()); //Append icon fileRow.InnerHtml.AppendHtml($"<div class='icon'><i class='fa {(string)file["icon_class"]}'></i></div>"); //Append meta var rowMeta = new TagBuilder("div"); rowMeta.AddCssClass("meta"); //Append file rowMeta.InnerHtml.AppendHtml($"<a class='link' href='/fs{(string)file["path"]}' target='_blank' title='/fs{(string)file["path"]}'>{(string)file["name"]}<em></em></a>"); //Append size var sizeString = ""; var sizeKBInt = (int)((decimal)file["size"]); //size is in KB if (sizeKBInt < 1024) { sizeString = sizeKBInt + " KB"; } else if (sizeKBInt >= 1024 && sizeKBInt < Math.Pow(1024, 2)) { sizeString = Math.Round((decimal)(sizeKBInt / 1024), 1) + " MB"; } else { sizeString = Math.Round((decimal)(sizeKBInt / Math.Pow(1024, 2)), 1) + " GB"; } rowMeta.InnerHtml.AppendHtml($"<div class='size'>{sizeString}</div>"); fileRow.InnerHtml.AppendHtml(rowMeta); //Action var rowAction = new TagBuilder("div"); rowAction.AddCssClass("action remove"); rowAction.InnerHtml.AppendHtml($"<a class='link' href='#'><i class='fa fa-times-circle'></i></a>"); //rowAction.InnerHtml.AppendHtml($"<span class='progress d-none'>0%</span>"); //rowAction.InnerHtml.AppendHtml($"<span class='error go-red d-none'><i class='fas fa-exclamation-circle'></i></span>"); fileRow.InnerHtml.AppendHtml(rowAction); filesListEl.InnerHtml.AppendHtml(fileRow); } output.Content.AppendHtml(filesListEl); #endregion var jsCompressor = new JavaScriptCompressor(); #region << Init Scripts >> var tagHelperInitialized = false; var fileName = "form"; if (ViewContext.HttpContext.Items.ContainsKey(typeof(WvFieldUserFileMultiple) + fileName)) { var tagHelperContext = (WvTagHelperContext)ViewContext.HttpContext.Items[typeof(WvFieldUserFileMultiple) + fileName]; tagHelperInitialized = tagHelperContext.Initialized; } if (!tagHelperInitialized) { var scriptContent = FileService.GetEmbeddedTextResource("form.js", "WebVella.Erp.Web.TagHelpers.WvFieldUserFileMultiple"); var scriptEl = new TagBuilder("script"); scriptEl.Attributes.Add("type", "text/javascript"); //scriptEl.InnerHtml.AppendHtml(scriptContent); scriptEl.InnerHtml.AppendHtml(jsCompressor.Compress(scriptContent)); output.PostContent.AppendHtml(scriptEl); ViewContext.HttpContext.Items[typeof(WvFieldUserFileMultiple) + fileName] = new WvTagHelperContext() { Initialized = true }; } #endregion #region << Add Inline Init Script for this instance >> var initScript = new TagBuilder("script"); initScript.Attributes.Add("type", "text/javascript"); var scriptTemplate = @" $(function(){ FieldUserMultiFileFormInit(""{{FieldId}}"",{{ConfigJson}}); });" ; scriptTemplate = scriptTemplate.Replace("{{FieldId}}", (FieldId ?? null).ToString()); var fieldConfig = new WvFieldFileConfig() { ApiUrl = ApiUrl, CanAddValues = Access == FieldAccess.FullAndCreate ? true : false, Accept = Accept }; scriptTemplate = scriptTemplate.Replace("{{ConfigJson}}", JsonConvert.SerializeObject(fieldConfig)); initScript.InnerHtml.AppendHtml(jsCompressor.Compress(scriptTemplate)); output.PostContent.AppendHtml(initScript); #endregion } else if (Access == FieldAccess.ReadOnly) { //if (!String.IsNullOrWhiteSpace(Value)) //{ // var inputGroupEl = new TagBuilder("div"); // inputGroupEl.AddCssClass("input-group"); // var prependEl = new TagBuilder("span"); // prependEl.AddCssClass($"input-group-prepend icon-addon {(String.IsNullOrWhiteSpace(Value) ? "d-none" : "")} {(ValidationErrors.Count > 0 ? "is-invalid" : "")}"); // prependEl.Attributes.Add("title", $"/fs{Value}"); // var prependText = new TagBuilder("span"); // prependText.AddCssClass("input-group-text"); // var prependIcon = new TagBuilder("span"); // prependIcon.AddCssClass($"fa fa-fw type-icon {PathTypeIcon}"); // prependText.InnerHtml.AppendHtml(prependIcon); // prependEl.InnerHtml.AppendHtml(prependText); // inputGroupEl.InnerHtml.AppendHtml(prependEl); // var inputEl = new TagBuilder("div"); // inputEl.AddCssClass("form-control erp-file disabled"); // var inputElLink = new TagBuilder("a"); // inputElLink.Attributes.Add("href", $"/fs{Value}"); // inputElLink.Attributes.Add("target", "_blank"); // inputElLink.Attributes.Add("title", $"/fs{Value}"); // inputElLink.InnerHtml.Append(FileName); // inputEl.InnerHtml.AppendHtml(inputElLink); // inputGroupEl.InnerHtml.AppendHtml(inputEl); // output.Content.AppendHtml(inputGroupEl); // //Hidden input with the value // var hiddenInput = new TagBuilder("input"); // hiddenInput.Attributes.Add("type", "hidden"); // hiddenInput.Attributes.Add("id", $"input-{FieldId}"); // hiddenInput.Attributes.Add("name", Name); // hiddenInput.Attributes.Add("value", (Value ?? "").ToString()); // output.Content.AppendHtml(hiddenInput); //} //else { // var inputEl = new TagBuilder("input"); // inputEl.Attributes.Add("readonly", null); // inputEl.AddCssClass("form-control erp-file"); // inputEl.Attributes.Add("value",""); // inputEl.Attributes.Add("name", Name); // output.Content.AppendHtml(inputEl); //} } } else if (Mode == FieldRenderMode.Display) { output.Content.AppendHtml("Not implemented yet"); //if (!String.IsNullOrWhiteSpace(Value)) //{ // var divEl = new TagBuilder("div"); // divEl.Attributes.Add("id", $"input-{FieldId}"); // divEl.AddCssClass("form-control-plaintext erp-file"); // var iconEl = new TagBuilder("span"); // iconEl.AddCssClass($"fa fa-fw {PathTypeIcon}"); // divEl.InnerHtml.AppendHtml(iconEl); // var linkEl = new TagBuilder("a"); // linkEl.Attributes.Add("href", $"/fs{Value}"); // linkEl.Attributes.Add("target", $"_blank"); // linkEl.InnerHtml.Append(FileName); // divEl.InnerHtml.AppendHtml(linkEl); // output.Content.AppendHtml(divEl); //} //else //{ // output.Content.AppendHtml(EmptyValEl); //} } else if (Mode == FieldRenderMode.Simple) { output.Content.AppendHtml("Not implemented yet"); //output.SuppressOutput(); //var linkEl = new TagBuilder("a"); //linkEl.Attributes.Add("href", $"/fs{Value}"); //linkEl.Attributes.Add("target", $"_blank"); //linkEl.InnerHtml.Append(FileName); //output.Content.AppendHtml(linkEl); //return Task.CompletedTask; } else if (Mode == FieldRenderMode.InlineEdit) { output.Content.AppendHtml("Not implemented yet"); //if (Access == FieldAccess.Full || Access == FieldAccess.FullAndCreate) //{ // #region << View Wrapper >> // { // var viewWrapperEl = new TagBuilder("div"); // viewWrapperEl.AddCssClass("input-group view-wrapper"); // viewWrapperEl.Attributes.Add("title", "double click to edit"); // viewWrapperEl.Attributes.Add("id", $"view-{FieldId}"); // var viewInputPrepend = new TagBuilder("span"); // viewInputPrepend.AddCssClass($"input-group-prepend icon-addon {(String.IsNullOrWhiteSpace(Value) ? "d-none" : "")}"); // viewInputPrepend.Attributes.Add("title", $"/fs{Value}"); // var viewInputPrependText = new TagBuilder("span"); // viewInputPrependText.AddCssClass("input-group-text"); // var prependIcon = new TagBuilder("span"); // prependIcon.AddCssClass($"fa fa-fw type-icon {PathTypeIcon}"); // viewInputPrependText.InnerHtml.AppendHtml(prependIcon); // viewInputPrepend.InnerHtml.AppendHtml(viewInputPrependText); // viewWrapperEl.InnerHtml.AppendHtml(viewInputPrepend); // var viewFormControlEl = new TagBuilder("div"); // viewFormControlEl.AddCssClass("form-control erp-file"); // var viewFormControlLinkEl = new TagBuilder("a"); // viewFormControlLinkEl.Attributes.Add("href", $"/fs{Value}"); // viewFormControlLinkEl.Attributes.Add("target", "_blank"); // viewFormControlLinkEl.Attributes.Add("title", $"/fs{Value}"); // viewFormControlLinkEl.InnerHtml.Append(FileName); // viewFormControlEl.InnerHtml.AppendHtml(viewFormControlLinkEl); // viewWrapperEl.InnerHtml.AppendHtml(viewFormControlEl); // var viewInputActionEl = new TagBuilder("span"); // viewInputActionEl.AddCssClass("input-group-append action"); // viewInputActionEl.Attributes.Add("title", "edit"); // var viewInputActionLinkEl = new TagBuilder("button"); // viewInputActionLinkEl.Attributes.Add("type", "button"); // viewInputActionLinkEl.AddCssClass("btn btn-white"); // var viewInputActionIconEl = new TagBuilder("span"); // viewInputActionIconEl.AddCssClass("fa fa-fw fa-pencil-alt"); // viewInputActionLinkEl.InnerHtml.AppendHtml(viewInputActionIconEl); // viewInputActionEl.InnerHtml.AppendHtml(viewInputActionLinkEl); // viewWrapperEl.InnerHtml.AppendHtml(viewInputActionEl); // output.Content.AppendHtml(viewWrapperEl); // } // #endregion // #region << Edit Wrapper>> // { // var editWrapperEl = new TagBuilder("div"); // editWrapperEl.Attributes.Add("id", $"edit-{FieldId}"); // editWrapperEl.Attributes.Add("style", $"display:none;"); // editWrapperEl.AddCssClass("edit-wrapper"); // var editInputGroupEl = new TagBuilder("div"); // editInputGroupEl.AddCssClass("input-group"); // var editWrapperPrependEl = new TagBuilder("span"); // editWrapperPrependEl.AddCssClass($"input-group-prepend icon-addon {(String.IsNullOrWhiteSpace(Value) ? "d-none" : "")} {(ValidationErrors.Count > 0 ? "is-invalid" : "")}"); // editWrapperPrependEl.Attributes.Add("title", $"/fs{Value}"); // var editWrapperPrependText = new TagBuilder("span"); // editWrapperPrependText.AddCssClass("input-group-text"); // var editWrapperPrependIcon = new TagBuilder("span"); // editWrapperPrependIcon.AddCssClass($"fa fa-fw type-icon {PathTypeIcon}"); // editWrapperPrependText.InnerHtml.AppendHtml(editWrapperPrependIcon); // editWrapperPrependEl.InnerHtml.AppendHtml(editWrapperPrependText); // editInputGroupEl.InnerHtml.AppendHtml(editWrapperPrependEl); // var fakeInputEl = new TagBuilder("div"); // var inputElCssClassList = new List<string>(); // inputElCssClassList.Add("form-control erp-file with-progress "); // fakeInputEl.Attributes.Add("id", $"fake-{FieldId}"); // if (ValidationErrors.Count > 0) // { // inputElCssClassList.Add("is-invalid"); // } // fakeInputEl.Attributes.Add("class", String.Join(' ', inputElCssClassList)); // var fakeInputFileLinkEl = new TagBuilder("a"); // fakeInputFileLinkEl.Attributes.Add("href", $"/fs{Value}"); // fakeInputFileLinkEl.Attributes.Add("target", "_blank"); // fakeInputFileLinkEl.Attributes.Add("title", $"/fs{Value}"); // fakeInputFileLinkEl.InnerHtml.Append(FileName); // fakeInputEl.InnerHtml.AppendHtml(fakeInputFileLinkEl); // var fakeInputProgress = new TagBuilder("div"); // fakeInputProgress.AddCssClass("form-control-progress"); // fakeInputEl.InnerHtml.AppendHtml(fakeInputProgress); // editInputGroupEl.InnerHtml.AppendHtml(fakeInputEl); // var editInputGroupAppendEl = new TagBuilder("span"); // editInputGroupAppendEl.AddCssClass("input-group-append"); // if (!Required) // { // var appendDeleteLink = new TagBuilder("button"); // appendDeleteLink.Attributes.Add("type", $"button"); // appendDeleteLink.Attributes.Add("id", $"remove-{FieldId}"); // appendDeleteLink.AddCssClass($"btn btn-white remove {(String.IsNullOrWhiteSpace(Value) ? "d-none" : "")}"); // appendDeleteLink.Attributes.Add("title", "select as undefined"); // var appendDeleteLinkIcon = new TagBuilder("span"); // appendDeleteLinkIcon.AddCssClass("fa fa-fw fa-trash go-red"); // appendDeleteLink.InnerHtml.AppendHtml(appendDeleteLinkIcon); // editInputGroupAppendEl.InnerHtml.AppendHtml(appendDeleteLink); // } // var selectFileLink = new TagBuilder("button"); // selectFileLink.Attributes.Add("type", $"button"); // selectFileLink.AddCssClass("btn btn-white"); // selectFileLink.Attributes.Add("onclick", $"document.getElementById('file-{FieldId}').click();"); // selectFileLink.InnerHtml.AppendHtml("select"); // editInputGroupAppendEl.InnerHtml.AppendHtml(selectFileLink); // var editSaveBtnEl = new TagBuilder("button"); // editSaveBtnEl.Attributes.Add("type", "submit"); // editSaveBtnEl.AddCssClass("btn btn-white save"); // editSaveBtnEl.Attributes.Add("title", "save"); // var editSaveIconEl = new TagBuilder("span"); // editSaveIconEl.AddCssClass("fa fa-fw fa-check go-green"); // editSaveBtnEl.InnerHtml.AppendHtml(editSaveIconEl); // editInputGroupAppendEl.InnerHtml.AppendHtml(editSaveBtnEl); // var editCancelBtnEl = new TagBuilder("button"); // editCancelBtnEl.Attributes.Add("type", "submit"); // editCancelBtnEl.AddCssClass("btn btn-white cancel"); // editCancelBtnEl.Attributes.Add("title", "cancel"); // var editCancelIconEl = new TagBuilder("span"); // editCancelIconEl.AddCssClass("fa fa-fw fa-times go-gray"); // editCancelBtnEl.InnerHtml.AppendHtml(editCancelIconEl); // editInputGroupAppendEl.InnerHtml.AppendHtml(editCancelBtnEl); // editInputGroupEl.InnerHtml.AppendHtml(editInputGroupAppendEl); // editWrapperEl.InnerHtml.AppendHtml(editInputGroupEl); // output.Content.AppendHtml(editWrapperEl); // var realHiddenFileInput = new TagBuilder("input"); // realHiddenFileInput.Attributes.Add("id", $"file-{FieldId}"); // realHiddenFileInput.Attributes.Add("type", $"file"); // realHiddenFileInput.AddCssClass("d-none"); // realHiddenFileInput.Attributes.Add("value", $""); // if (!String.IsNullOrWhiteSpace(Accept)) // { // realHiddenFileInput.Attributes.Add("accept", $"{Accept}"); // } // output.Content.AppendHtml(realHiddenFileInput); // var realSubmitInput = new TagBuilder("input"); // realSubmitInput.Attributes.Add("id", $"input-{FieldId}"); // realSubmitInput.Attributes.Add("type", $"hidden"); // realSubmitInput.Attributes.Add("value", $"{Value}"); // realSubmitInput.Attributes.Add("data-newfilepath", $"{Value}"); // realSubmitInput.Attributes.Add("data-filename", $"{FileName}"); // realSubmitInput.Attributes.Add("data-newfilename", $"{FileName}"); // output.Content.AppendHtml(realSubmitInput); // } // #endregion // var jsCompressor = new JavaScriptCompressor(); // #region << Init Scripts >> // var tagHelperInitialized = false; // if (ViewContext.HttpContext.Items.ContainsKey(typeof(WvFieldFile) + "-inline-edit")) // { // var tagHelperContext = (WvTagHelperContext)ViewContext.HttpContext.Items[typeof(WvFieldFile) + "-inline-edit"]; // tagHelperInitialized = tagHelperContext.Initialized; // } // if (!tagHelperInitialized) // { // var scriptContent = FileService.GetEmbeddedTextResource("inline-edit.js", "WebVella.Erp.Web.TagHelpers.WvFieldFile"); // var scriptEl = new TagBuilder("script"); // scriptEl.Attributes.Add("type", "text/javascript"); // scriptEl.InnerHtml.AppendHtml(jsCompressor.Compress(scriptContent)); // output.PostContent.AppendHtml(scriptEl); // ViewContext.HttpContext.Items[typeof(WvFieldFile) + "-inline-edit"] = new WvTagHelperContext() // { // Initialized = true // }; // } // #endregion // #region << Add Inline Init Script for this instance >> // var initScript = new TagBuilder("script"); // initScript.Attributes.Add("type", "text/javascript"); // var scriptTemplate = @" // $(function(){ // FileInlineEditInit(""{{FieldId}}"",""{{Name}}"",""{{EntityName}}"",""{{RecordId}}"",{{ConfigJson}}); // });"; // scriptTemplate = scriptTemplate.Replace("{{FieldId}}", (FieldId ?? null).ToString()); // scriptTemplate = scriptTemplate.Replace("{{Name}}", Name); // scriptTemplate = scriptTemplate.Replace("{{EntityName}}", EntityName); // scriptTemplate = scriptTemplate.Replace("{{RecordId}}", (RecordId ?? null).ToString()); // var fieldConfig = new WvFieldFileConfig() // { // ApiUrl = ApiUrl, // CanAddValues = Access == FieldAccess.FullAndCreate ? true : false, // Accept = Accept // }; // scriptTemplate = scriptTemplate.Replace("{{ConfigJson}}", JsonConvert.SerializeObject(fieldConfig)); // initScript.InnerHtml.AppendHtml(jsCompressor.Compress(scriptTemplate)); // output.PostContent.AppendHtml(initScript); // #endregion //} //else if (Access == FieldAccess.ReadOnly) //{ // var divEl = new TagBuilder("div"); // divEl.AddCssClass("input-group"); // var prependEl = new TagBuilder("span"); // prependEl.AddCssClass($"input-group-prepend icon-addon {(String.IsNullOrWhiteSpace(Value) ? "d-none" : "")} {(ValidationErrors.Count > 0 ? "is-invalid" : "")}"); // prependEl.Attributes.Add("title", $"/fs{Value}"); // var prependText = new TagBuilder("span"); // prependText.AddCssClass("input-group-text"); // var prependIcon = new TagBuilder("span"); // prependIcon.AddCssClass($"fa fa-fw type-icon {PathTypeIcon}"); // prependText.InnerHtml.AppendHtml(prependIcon); // prependEl.InnerHtml.AppendHtml(prependText); // divEl.InnerHtml.AppendHtml(prependEl); // var inputEl = new TagBuilder("div"); // inputEl.AddCssClass("form-control erp-file disabled"); // var inputElLink = new TagBuilder("a"); // inputElLink.Attributes.Add("href", $"/fs{Value}"); // inputElLink.Attributes.Add("target", "_blank"); // inputElLink.Attributes.Add("title", $"/fs{Value}"); // inputElLink.InnerHtml.Append(FileName); // inputEl.InnerHtml.AppendHtml(inputElLink); // divEl.InnerHtml.AppendHtml(inputEl); // var appendActionSpan = new TagBuilder("span"); // appendActionSpan.AddCssClass("input-group-append"); // appendActionSpan.AddCssClass("action"); // var appendTextSpan = new TagBuilder("span"); // appendTextSpan.AddCssClass("input-group-text"); // var appendIconSpan = new TagBuilder("span"); // appendIconSpan.AddCssClass("fa fa-fw fa-lock"); // appendTextSpan.InnerHtml.AppendHtml(appendIconSpan); // appendActionSpan.InnerHtml.AppendHtml(appendTextSpan); // divEl.InnerHtml.AppendHtml(appendActionSpan); // output.Content.AppendHtml(divEl); //} } #endregion //Finally if (SubInputEl != null) { output.PostContent.AppendHtml(SubInputEl); } return(Task.CompletedTask); }
/// <summary> /// Get IEnumerable File Lines (IEnumerable<string>) /// </summary> /// <param name="fileRecords">File Records of File to build</param> /// <param name="globalFieldBuilder">The Function that will be applied to all field values</param> /// <returns>Ienumerable<string> of file lines</returns> public static IEnumerable <string> GetFileLines(this FileRecords fileRecords, Func <Field, string> globalFieldBuilder = null) => FileLines(fileRecords, globalFieldBuilder);
/// <summary> /// Writes file to specified path /// </summary> /// <param name="fileRecords">File records object for file</param> /// <param name="pathToWrite">Full Path of file to write</param> /// <param name="globalFieldBuilder">The Function that will be applied to all field values</param> public static void WriteFile(this FileRecords fileRecords, string pathToWrite, Func <Field, string> globalFieldBuilder = null) { IEnumerable <string> fileLines = FileLines(fileRecords, globalFieldBuilder); File.WriteAllLines(pathToWrite, fileLines); }