コード例 #1
0
ファイル: Resource.cs プロジェクト: cjonasl/Leander
        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);
        }
コード例 #2
0
ファイル: Resource.cs プロジェクト: cjonasl/Leander
        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
        }
コード例 #3
0
        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());
        }