public static Resource AddResource(Resource resource, out string errorMessage) //resource not complete. newResource will be complete { Resource newResource = null; int nextResourceId; string resourceSerialized, folder, fileNameFullPath, fileText, textExceptFirstRow, firstRow; errorMessage = null; try { nextResourceId = ReturnNextResourceId(); if (!CheckNextResourceId(nextResourceId, out errorMessage)) { return(null); } if (!ValidateResource(resource, out errorMessage)) { return(null); } if (resource.ResourcesType == ResourcesType.Html) { fileText = Utility.ReturnFileContents(_basePath + resource.HtmlFile); textExceptFirstRow = Utility.ReturnTextExceptFirstRow(fileText, out firstRow); Utility.CreateNewFile(_basePath + resource.HtmlFile, "<!DOCTYPE html> <!-- iframe dimension: [1000,600] textarea dimension: [1000px,500px] -->\r\n" + textExceptFirstRow); } newResource = new Resource(nextResourceId, resource.ResourcesType, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), resource.Title, resource.KeyWords, resource.Note, resource.PreviousResource, resource.NextResource, resource.ThumbUpLocation, resource.HtmlFile, resource.FilesFolders, resource.Links); folder = ReturnResourceDirectory(nextResourceId); Directory.CreateDirectory(folder); fileNameFullPath = string.Format("{0}\\R{1}.txt", folder, nextResourceId.ToString()); resourceSerialized = SerializeResource(newResource); Utility.CreateNewFile(fileNameFullPath, resourceSerialized); UpdateNextResourceId(nextResourceId); ResourcePresentationInSearchUtility.AddResource(newResource); if (resource.ResourcesType == ResourcesType.ThumbUpLocation) { fileNameFullPath = string.Format("C:\\git_cjonasl\\Leander\\Solutions\\Nr1\\WebApplication1\\LocationResource\\{0}.txt", resource.ThumbUpLocation); Utility.CreateNewFile(fileNameFullPath, string.Format("{0} {1} {2}", newResource.PreviousResource, newResource.Id, newResource.NextResource)); } } catch (Exception e) { errorMessage = string.Format("ERROR!! An Exception occured in method AddResource! e.Message:\r\n{0}", e.Message); return(null); } return(newResource); }
public static Resource EditResource(Resource resource, out string errorMessage) { string resourceSerialized, folder, fileNameFullPath; errorMessage = null; try { if (!ValidateResource(resource, out errorMessage)) { return(null); } folder = ReturnResourceDirectory(resource.Id); fileNameFullPath = string.Format("{0}\\R{1}.txt", folder, resource.Id.ToString()); if (!File.Exists(fileNameFullPath)) { errorMessage = string.Format("ERROR!! The file R{0}.txt does not exist as expected!", resource.Id.ToString()); return(null); } resourceSerialized = SerializeResource(resource); Utility.CreateNewFile(fileNameFullPath, resourceSerialized); ResourcePresentationInSearchUtility.UpdateResource(resource); if (resource.ResourcesType == ResourcesType.ThumbUpLocation) { fileNameFullPath = string.Format("C:\\git_cjonasl\\Leander\\Solutions\\Nr1\\WebApplication1\\LocationResource\\{0}.txt", resource.ThumbUpLocation); Utility.CreateNewFile(fileNameFullPath, string.Format("{0} {1} {2}", resource.PreviousResource, resource.Id, resource.NextResource)); } } catch (Exception e) { errorMessage = string.Format("ERROR!! An Exception occured in method EditResource! e.Message:\r\n{0}", e.Message); return(null); } return(GetResource(resource.Id, out errorMessage)); //Return the newly updated resource }
public static List <ResourcePresentationInSearch> GetResourcePresentationInSearchList(string searchTerm) { int index1, index2; string[] u; ArrayList v; List <ResourcePresentationInSearch> list = ResourcePresentationInSearchUtility.ReturnListWithAllResourcePresentationInSearch(); if (searchTerm == "a asc") { return(list); } else if (searchTerm == "a") { return(list.OrderByDescending(x => x.Id).ToList()); } else { index1 = searchTerm.IndexOf("ka("); if (index1 >= 0) { index2 = searchTerm.IndexOf(')', 3 + index1); v = new ArrayList(searchTerm.Substring(3 + index1, index2 - index1 - 3).Split(',')); list = list.Where(x => Utility.PhrasesInArrayListAreAllPresentInCommaSeparatedListWithPhrases(v, x.KeyWords)).ToList(); } index1 = searchTerm.IndexOf("ko("); if (index1 >= 0) { index2 = searchTerm.IndexOf(')', 3 + index1); v = new ArrayList(searchTerm.Substring(3 + index1, index2 - index1 - 3).Split(',')); list = list.Where(x => Utility.AtLeastOnePhraseInArrayListIsPresentInCommaSeparatedListWithPhrases(v, x.KeyWords)).ToList(); } index1 = searchTerm.IndexOf("ta("); if (index1 >= 0) { index2 = searchTerm.IndexOf(')', 3 + index1); v = new ArrayList(searchTerm.Substring(3 + index1, index2 - index1 - 3).Split(',')); list = list.Where(x => Utility.PhrasesInArrayListAreAllPresentInString(v, x.Title)).ToList(); } index1 = searchTerm.IndexOf("to("); if (index1 >= 0) { index2 = searchTerm.IndexOf(')', 3 + index1); v = new ArrayList(searchTerm.Substring(3 + index1, index2 - index1 - 3).Split(',')); list = list.Where(x => Utility.AtLeastOnePhraseInArrayListIsPresentInString(v, x.Title)).ToList(); } index1 = searchTerm.IndexOf("c("); if (index1 >= 0) { index2 = searchTerm.IndexOf(')', 2 + index1); u = searchTerm.Substring(2 + index1, index2 - index1 - 2).Split(','); list = list.Where(x => Utility.DateTimeFulfillRequirement(u[0], u[1], x.Created)).ToList(); } } return(list.OrderByDescending(x => x.Id).ToList()); }