Example #1
0
        /// <summary>
        /// Adds reference to the project. It is assumed
        /// that the original reference has been removed
        /// earlier.
        /// </summary>
        ///
        /// <param name="unevaluatedInclude">
        /// Must contain the assembly
        /// name or the absolute path
        /// to the project or Package
        /// Id.
        /// </param>
        ///
        /// <exception cref="SwitcherException"/>
        ///
        /// <returns>
        /// Returns false for duplicate <paramref name="unevaluatedInclude"/> values.
        /// </returns>
        protected virtual bool AddReference(ProjectReference reference, ReferenceType type, string unevaluatedInclude, Dictionary <string, string> metadata)
        {
            bool output = true;

            switch (type)
            {
            case ReferenceType.ProjectReference:
            case ReferenceType.PackageReference:
            case ReferenceType.Reference:
                if (reference.MsbProject.GetItemsByEvaluatedInclude(unevaluatedInclude).Any())
                {
                    output = false;
                }
                else
                {
                    reference.MsbProject.AddItem(type.ToString(), unevaluatedInclude, AdaptMetadata(unevaluatedInclude, metadata));
                }
                break;

            default:
                throw new SwitcherException(reference.MsbProject, $"Reference type not supported: { type }");
            }

            if (output)
            {
                MessageHelper.AddMessage(reference.DteProject.UniqueName, $"Dependency: { Path.GetFileName(unevaluatedInclude) } has been added. Type: { type }", TaskErrorCategory.Message);
            }

            return(output);
        }
Example #2
0
        private void RemoveOldIndexItems(LoginUser loginUser, string indexPath, Organization organization, ReferenceType referenceType, string deletedIndexItemsFileName)
        {
            LogVerbose("Removing deleted items:  " + referenceType.ToString());
            if (!Directory.Exists(indexPath))
            {
                Logs.WriteEvent("Path does not exist:  " + indexPath);
                return;
            }
            DeletedIndexItems items = new DeletedIndexItems(loginUser);

            LogVerbose(string.Format("Retrieving deleted items:  RefType: {0}, OrgID: {1}", referenceType.ToString(), organization.OrganizationID.ToString()));
            items.LoadByReferenceType(referenceType, organization.OrganizationID);
            if (items.IsEmpty)
            {
                LogVerbose("No Items to delete");
                return;
            }


            StringBuilder builder = new StringBuilder();

            foreach (DeletedIndexItem item in items)
            {
                builder.AppendLine(item.RefID.ToString());
            }

            string fileName = Path.Combine(indexPath, deletedIndexItemsFileName);

            if (File.Exists(fileName))
            {
                File.Delete(fileName);
            }
            using (StreamWriter writer = new StreamWriter(fileName))
            {
                LogVerbose("Adding IDs to delete file: " + builder.ToString());
                writer.Write(builder.ToString());
            }


            LogVerbose("Deleting Items");
            using (IndexJob job = new IndexJob())
            {
                job.IndexPath           = indexPath;
                job.ActionCreate        = false;
                job.ActionAdd           = false;
                job.ActionRemoveListed  = true;
                job.ToRemoveListName    = fileName;
                job.CreateRelativePaths = false;
                job.Execute();
            }

            LogVerbose("Items deleted");
            UpdateHealth();
            items.DeleteAll();
            items.Save();
            LogVerbose("Finished Removing Old Indexes - OrgID = " + organization.OrganizationID + " - " + referenceType.ToString());
        }
		public void MakeReference(AssemblyName asmName, string fullPath)
		{
			_refType = ReferenceType.Reference;
			_item.Name = _refType.ToString();
			this.Assembly = asmName;
			this.HintPath = fullPath;
			_item.RemoveMetadata("Name");
			_item.RemoveMetadata("Project");
			_item.RemoveMetadata("Package");
		}
Example #4
0
 public void MakeReference(AssemblyName asmName, string fullPath)
 {
     _refType      = ReferenceType.Reference;
     _item.Name    = _refType.ToString();
     this.Assembly = asmName;
     this.HintPath = fullPath;
     _item.RemoveMetadata("Name");
     _item.RemoveMetadata("Project");
     _item.RemoveMetadata("Package");
 }
Example #5
0
        public override void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            if (info == null)
            {
                throw new ArgumentNullException("info");
            }

            base.GetObjectData(info, context);
            info.AddValue("name", m_name);
            info.AddValue("type", m_type.ToString());
        }
Example #6
0
        private async Task DrawEdgeLabel(RenderEdge edge, ReferenceType types)
        {
            var typeLabels = types.ToString().Split(", ");
            var position   = edge.Label.Position + new Position(0, edge.Label.Dimensions.Height);
            var label      = typeLabels[0];

            if (typeLabels.Length != 1)
            {
                label = $"{label} +{typeLabels.Length - 1}";
            }

            await DrawText(label, position, edge.Label.Dimensions.Width, _config.EdgeFont);
        }
        public List <ExecutionError> GetByReferenceType(ReferenceType referenceType)
        {
            List <ExecutionError> result = null;

            using (var connection = _sqlConnectionFactory.CreateConnection())
            {
                result = SqlMapper.Query <ExecutionError>(connection, GetByTypeSql, new
                {
                    ReferenceType = referenceType.ToString(),
                }).ToList();
            }

            return(result);
        }
Example #8
0
        private async Task <object> UploadAsync(string path)
        {
            var uri = new Uri(@"https://localhost:44342/api/dokumentumok/feltoltes");

            using (var fileStream = File.Open(path, FileMode.Open))
            {
                var client  = new RestClient(uri);
                var request = new RestRequest(Method.POST);
                using (MemoryStream memoryStream = new MemoryStream())
                {
                    request.AddFile(Path.GetFileNameWithoutExtension(fullFileName), filepath);
                    request.AddParameter("ReferenceType", ReferenceType.ToString());
                    request.AddParameter("RefId", StudioEventEntryId.ToString());

                    request.AlwaysMultipartFormData = true;

                    IRestResponse response = client.Execute(request);
                }
            }
        }
        public void AddReference(ReferenceType referenceType, string referenceName, string referenceLocation, object tag)
        {
            foreach (ListViewItem item in referencesListView.Items)
            {
                if (referenceLocation == item.SubItems[2].Text && referenceName == item.Text)
                {
                    return;
                }
            }

            ListViewItem newItem = new ListViewItem(new string[] { referenceName, referenceType.ToString(), referenceLocation });

            switch (referenceType)
            {
            case ReferenceType.Typelib:
                newItem.Tag = new ComReferenceProjectItem(configureProject, (TypeLibrary)tag);
                break;

            case ReferenceType.Project:
                newItem.Tag = new ProjectReferenceProjectItem(configureProject, (IProject)tag);
                break;

            case ReferenceType.Gac:
                newItem.Tag = new ReferenceProjectItem(configureProject, referenceLocation);
                break;

            case ReferenceType.Assembly:
                ReferenceProjectItem assemblyReference = new ReferenceProjectItem(configureProject);
                assemblyReference.Include         = Path.GetFileNameWithoutExtension(referenceLocation);
                assemblyReference.HintPath        = FileUtility.GetRelativePath(configureProject.Directory, referenceLocation);
                assemblyReference.SpecificVersion = false;
                newItem.Tag = assemblyReference;
                break;

            default:
                throw new System.NotSupportedException("Unknown reference type:" + referenceType);
            }

            referencesListView.Items.Add(newItem);
        }
            /// <summary>
            /// The text to display in the control.
            /// </summary>
            public override string ToString()
            {
                if (ReferenceType == null)
                {
                    return("<None>");
                }

                StringBuilder text = new StringBuilder();

                GetPrefix(text);

                if (text.Length > 0)
                {
                    text.Append("> ");
                }

                if (ReferenceType != null)
                {
                    text.Append(ReferenceType.ToString());
                }

                return(text.ToString());
            }
Example #11
0
 /// <summary>
 /// Returns references with the
 /// passed type and marked with
 /// the Temp attribute.
 /// </summary>
 public virtual IReadOnlyList <ProjectItem> GetTempItem(ProjectReference reference, ReferenceType type)
 {
     return(reference.MsbProject.GetItems(type.ToString()).Where(i => i.HasMetadata("Temp")).ToImmutableList());
 }
Example #12
0
        private void ProcessIndex(Organization organization, ReferenceType referenceType, bool isRebuilder)
        {
            if (IsStopped)
            {
                return;
            }
            string indexPath = string.Empty;
            string deletedIndexItemsFileName = string.Empty;
            string storedFields   = string.Empty;
            string tableName      = string.Empty;
            string primaryKeyName = string.Empty;

            IndexDataSource indexDataSource = null;
            int             maxRecords      = Settings.ReadInt("Max Records", 1000);

            switch (referenceType)
            {
            case ReferenceType.Tickets:
                indexPath = "\\Tickets";
                deletedIndexItemsFileName = "DeletedTickets.txt";
                storedFields    = "TicketID OrganizationID TicketNumber Name IsKnowledgeBase Status Severity DateModified DateCreated DateClosed SlaViolationDate SlaWarningDate";
                tableName       = "Tickets";
                primaryKeyName  = "TicketID";
                indexDataSource = new TicketIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Wikis:
                indexPath = "\\Wikis";
                deletedIndexItemsFileName = "DeletedWikis.txt";
                storedFields    = "OrganizationID Creator Modifier";
                tableName       = "WikiArticles";
                primaryKeyName  = "ArticleID";
                indexDataSource = new WikiIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Notes:
                indexPath = "\\Notes";
                deletedIndexItemsFileName = "DeletedNotes.txt";
                tableName       = "Notes";
                primaryKeyName  = "NoteID";
                indexDataSource = new NoteIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.ProductVersions:
                indexPath = "\\ProductVersions";
                deletedIndexItemsFileName = "DeletedProductVersions.txt";
                tableName       = "ProductVersions";
                primaryKeyName  = "ProductVersionID";
                indexDataSource = new ProductVersionIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.WaterCooler:
                indexPath = "\\WaterCooler";
                deletedIndexItemsFileName = "DeletedWaterCoolerMessages.txt";
                tableName       = "WatercoolerMsg";
                primaryKeyName  = "MessageID";
                indexDataSource = new WaterCoolerIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Organizations:
                indexPath = "\\Customers";
                deletedIndexItemsFileName = "DeletedCustomers.txt";
                storedFields    = "Name JSON";
                tableName       = "Organizations";
                primaryKeyName  = "OrganizationID";
                indexDataSource = new CustomerIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Contacts:
                indexPath = "\\Contacts";
                deletedIndexItemsFileName = "DeletedContacts.txt";
                storedFields    = "Name JSON";
                tableName       = "Users";
                primaryKeyName  = "UserID";
                indexDataSource = new ContactIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Assets:
                indexPath = "\\Assets";
                deletedIndexItemsFileName = "DeletedAssets.txt";
                storedFields    = "Name JSON";
                tableName       = "Assets";
                primaryKeyName  = "AssetID";
                indexDataSource = new AssetIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Products:
                indexPath = "\\Products";
                deletedIndexItemsFileName = "DeletedProducts.txt";
                storedFields    = "Name JSON";
                tableName       = "Products";
                primaryKeyName  = "ProductID";
                indexDataSource = new ProductIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            case ReferenceType.Tasks:
                indexPath = "\\Tasks";
                deletedIndexItemsFileName = "DeletedTasks.txt";
                storedFields    = "Name JSON";
                tableName       = "Tasks";
                primaryKeyName  = "TaskID";
                indexDataSource = new TaskIndexDataSource(LoginUser, maxRecords, organization.OrganizationID, tableName, isRebuilder, Logs);
                break;

            default:
                throw new System.ArgumentException("ReferenceType " + referenceType.ToString() + " is not supported by indexer.");
            }
            string root          = Settings.ReadString("Tickets Index Path", "c:\\Indexes");
            string mainIndexPath = Path.Combine(root, organization.OrganizationID.ToString() + indexPath);

            if (isRebuilder)
            {
                indexPath = "\\Rebuild" + indexPath;
            }
            string path = Path.Combine(Settings.ReadString("Tickets Index Path", "c:\\Indexes"), organization.OrganizationID.ToString() + indexPath);

            LogVerbose("Path: " + path);

            bool isNew = !System.IO.Directory.Exists(path);

            if (isNew)
            {
                Directory.CreateDirectory(path);
                LogVerbose("Creating path: " + path);
            }

            if (isRebuilder)
            {
                DeleteIndex(path);
            }

            try
            {
                if (!isRebuilder && !organization.IsRebuildingIndex)
                {
                    RemoveOldIndexItems(LoginUser, path, organization, referenceType, deletedIndexItemsFileName);
                }
            }
            catch (Exception ex)
            {
                Logs.WriteException(ex);
                ExceptionLogs.LogException(LoginUser, ex, "Indexer.RemoveOldIndexItems - " + referenceType.ToString() + " - " + organization.OrganizationID.ToString());
            }

            string noiseFile = Path.Combine(root, "noise.dat");

            if (!File.Exists(noiseFile))
            {
                File.Create(noiseFile).Dispose();
            }

            Options options = new Options();

            options.TextFlags     = TextFlags.dtsoTfRecognizeDates;
            options.NoiseWordFile = noiseFile;
            options.Save();
            LogVerbose("Processing " + tableName);
            using (IndexJob job = new IndexJob())
            {
                job.DataSourceToIndex = indexDataSource;

                job.IndexPath           = path;
                job.ActionCreate        = isNew || isRebuilder;
                job.ActionAdd           = true;
                job.CreateRelativePaths = false;
                job.StoredFields        = Server.Tokenize(storedFields);
                job.IndexingFlags       = IndexingFlags.dtsAlwaysAdd;
                //string tempPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "TempIndexFiles" + indexPath);
                //if (!Directory.Exists(tempPath)) Directory.CreateDirectory(tempPath);
                //job.TempFileDir = tempPath;
                bool doCompress = false;
                if (_threadPosition % 2 == 0 && (DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday))
                {
                    IndexInfo info = new IndexInfo();
                    info = IndexJob.GetIndexInfo(path);
                    LogVerbose("Info - Doc Count:" + info.DocCount.ToString());
                    LogVerbose("Info - Obsolete:" + info.ObsoleteCount.ToString());

                    doCompress = (info.ObsoleteCount / info.DocCount) > 0.2;
                    if (doCompress)
                    {
                        job.ActionCompress = true;
                        job.ActionVerify   = true;
                        LogVerbose("Compressing");
                    }
                }

                try
                {
                    job.ExecuteInThread();

                    // Monitor the job execution thread as it progresses
                    IndexProgressInfo status = new IndexProgressInfo();
                    while (job.IsThreadDone(1000, status) == false)
                    {
                        if (IsStopped)
                        {
                            job.AbortThread();
                        }
                    }
                }
                catch (Exception ex)
                {
                    ExceptionLogs.LogException(LoginUser, ex, "Index Job Processor - " + referenceType.ToString() + " - " + organization.OrganizationID.ToString());
                    Logs.WriteException(ex);
                    throw;
                }

                if (doCompress)
                {
                    IndexInfo info = new IndexInfo();
                    info = IndexJob.GetIndexInfo(path);
                    LogVerbose("Compressed");
                    LogVerbose("Info - Doc Count:" + info.DocCount.ToString());
                    LogVerbose("Info - Obsolete:" + info.ObsoleteCount.ToString());
                }

                if (!IsStopped)
                {
                    if (!isRebuilder)
                    {
                        Organization tempOrg = Organizations.GetOrganization(_loginUser, organization.OrganizationID);
                        if (!tempOrg.IsRebuildingIndex)
                        {
                            UpdateItems(indexDataSource, tableName, primaryKeyName);
                        }
                    }
                    else
                    {
                        MoveRebuiltIndex(organization.OrganizationID, mainIndexPath, path);
                    }
                }
            }
        }
 /// <summary>
 /// Gets appropriate path for reference mark files.
 /// </summary>
 private static string GetEndPath(ReferenceType referenceType, string referencesDirectory)
 {
     return(Path.Combine(referencesDirectory, referenceType.ToString()));
 }
 public void RunOnClass() =>
 ReferenceType.ToString();
		public void AddReference(ReferenceType referenceType, string referenceName, string referenceLocation, object tag)
		{
			foreach (ListViewItem item in referencesListView.Items) {
				if (referenceLocation == item.SubItems[2].Text && referenceName == item.Text ) {
					return;
				}
			}
			
			ListViewItem newItem = new ListViewItem(new string[] {referenceName, referenceType.ToString(), referenceLocation});
			switch (referenceType) {
				case ReferenceType.Typelib:
					newItem.Tag = new ComReferenceProjectItem(configureProject, (TypeLibrary)tag);
					break;
				case ReferenceType.Project:
					newItem.Tag = new ProjectReferenceProjectItem(configureProject, (IProject)tag);
					break;
				case ReferenceType.Gac:
					newItem.Tag = new ReferenceProjectItem(configureProject, referenceLocation);
					break;
				case ReferenceType.Assembly:
					ReferenceProjectItem assemblyReference = new ReferenceProjectItem(configureProject);
					assemblyReference.Include = Path.GetFileNameWithoutExtension(referenceLocation);
					assemblyReference.HintPath = FileUtility.GetRelativePath(configureProject.Directory, referenceLocation);
					assemblyReference.SpecificVersion = false;
					newItem.Tag = assemblyReference;
					break;
				default:
					throw new System.NotSupportedException("Unknown reference type:" + referenceType);
			}
			
			referencesListView.Items.Add(newItem);
		}
        public void AddReference(ReferenceType referenceType, string referenceName, string referenceLocation)
        {
            TreeIter looping_iter;
            if (refTreeStore.GetIterFirst (out looping_iter)) {
                do {
                    try {
                        if (referenceLocation == (string)refTreeStore.GetValue (looping_iter, 2) && referenceName == (string)refTreeStore.GetValue (looping_iter, 0)) {
                            return;
                        }
                    } catch {
                    }
                } while (refTreeStore.IterNext (ref looping_iter));
            }

            ProjectReference tag;
            switch (referenceType) {
                case ReferenceType.Typelib:
                    tag = new ProjectReference(referenceType, referenceName + "|" + referenceLocation);
                    break;
                case ReferenceType.Project:
                    tag = new ProjectReference(referenceType, referenceName);
                    break;
                default:
                    tag = new ProjectReference(referenceType, referenceLocation);
                    break;

            }
            TreeIter ni = refTreeStore.AppendValues (referenceName, referenceType.ToString (), referenceLocation, tag);
            ReferencesTreeView.ScrollToCell (refTreeStore.GetPath (ni), null, false, 0, 0);
        }
		/// <summary>
		/// Gets appropriate path for reference mark files.
		/// </summary>
		private static string GetEndPath(ReferenceType referenceType, string referencesDirectory)
		{
			return Path.Combine(referencesDirectory, referenceType.ToString());
		}