Пример #1
0
        public void CreateDeploymentIssue(IList<Issue> issues)
        {
            var status = RedmineService.GetTotalObjectList<IssueStatus>(new NameValueCollection())
                .First(s => string.Equals(s.Name, "New", StringComparison.InvariantCultureIgnoreCase));

            var tracker = RedmineService.GetTotalObjectList<Redmine.Net.Api.Types.Tracker>(new NameValueCollection())
                .First(s => string.Equals(s.Name, "Salon", StringComparison.InvariantCultureIgnoreCase));

            foreach (var issue in issues)
            {
                issue.Status = status;

                var name = new IdentifiableName();
                name.Id = tracker.Id;
                name.Name = tracker.Name;
                issue.Tracker = name;
                var customField = new CustomFieldValue();
                customField.Info = "AppointmentBook";
                issue.CustomFields[1].Values.Add(new CustomFieldValue());
                RedmineService.CreateObject(issue);
            }
        }
Пример #2
0
        private void updateIssue(object sender, EventArgs e) {
        	this.Enabled = false;
        	try {
        		var upload = Program.redmine.uploadFile(this.filesource.Text);

        		if (upload == null) {
        			throw new Exception("Tracker, Upload and Project needs to be set!");
        		}
        		
        		upload.FileName = this.filename.Text;
        		upload.ContentType = "application/octet-stream";
        		upload.Description = this.description.Text;
        		   	
        		var updateIssue = Program.redmine.getIssue(this.getSelectedIssueId(this.oldIssue));
        		
        		if (updateIssue.Uploads == null) {
        			updateIssue.Uploads = new List<Upload>();
        		} 
        		updateIssue.Uploads.Add(upload);
        		if (this.issueNote.Text.Length > 0) {
        			updateIssue.Notes = this.issueNote.Text;
        		}

        		if (oldissuePriority.SelectedValue != null && (int)oldissuePriority.SelectedValue != 0 ) {
        			updateIssue.Priority = new IdentifiableName{Id = (int)oldissuePriority.SelectedValue};	
        		}
        		if (oldissueAssignee.SelectedValue != null && (int)oldissueAssignee.SelectedValue != 0 ) {
        			updateIssue.AssignedTo = new IdentifiableName{Id = (int)oldissueAssignee.SelectedValue};
        		}
        		if (oldissueStatus.SelectedValue != null && (int)oldissueStatus.SelectedValue != 0 ) {
        			updateIssue.Status = new IdentifiableName{Id = (int)oldissueStatus.SelectedValue};
        		}
        		if (oldIssueCategory.SelectedValue != null && (int)oldIssueCategory.SelectedValue != 0) {
        			updateIssue.Category = new IdentifiableName{Id = (int)oldIssueCategory.SelectedValue};	
        		}
        		if (oldIssueVersion.SelectedValue != null && (int)oldIssueVersion.SelectedValue != 0) {
        			updateIssue.FixedVersion = new IdentifiableName{Id = (int)oldIssueVersion.SelectedValue};	
        		}
        		if (oldIssueTracker.SelectedValue != null && (int)oldIssueTracker.SelectedValue != 0) {
        			updateIssue.Tracker = new IdentifiableName{Id = (int)oldIssueTracker.SelectedValue};	
        		}
        		
        		if (updateIssue.CustomFields == null) {
        			updateIssue.CustomFields = new List<CustomField>();
        		}
        		
        		for (int i = 0;i < customFieldsUpdate.Length;i++) {
        			CustomField item = new CustomField();
        			item.Id = customFieldDefinitions[i].id;
        			item.Multiple = false;
        			item.Name = customFieldDefinitions[i].name;
        			
        			for (int y = 0;y < updateIssue.CustomFields.Count;y++) {
        				if (updateIssue.CustomFields[y].Id == item.Id) {
        					updateIssue.CustomFields.Remove(updateIssue.CustomFields[y]);
        					break;
        				}
        			}
        			
        			CustomFieldValue customFieldValue = new CustomFieldValue();
        			customFieldValue.Info = customFieldsUpdate[i].Text;
        			item.Values = new List<CustomFieldValue>();
        			item.Values.Add(customFieldValue);
        			updateIssue.CustomFields.Add(item);
				}

        		Program.redmine.updateIssue(updateIssue); 
				
				DialogResult messageBoxResult = 
					MessageBox.Show(
						String.Concat("Issue #",updateIssue.Id," succesfully updated.\nOpen Issue now?"), 
						"Success!", 
						MessageBoxButtons.YesNo
					);
				if (messageBoxResult.ToString() == "Yes") {
					String uri = new UriBuilder(Program.redmine.buffer.host).Uri.ToString();
					System.Diagnostics.Process.Start(String.Concat(uri ,"issues/",updateIssue.Id));
				}
				
				if (Program.redmine.buffer.closeAfterUpload) {
					Application.Exit();
				}
				
        	} catch (Exception ex) {
        		System.Windows.Forms.MessageBox.Show(ex.Message,"Error while updating issue.");
        	}
        	this.Enabled = true;
        }     
Пример #3
0
        private void newIssue(object sender, EventArgs e) {
        	this.Enabled = false;
        	try {
        		var upload = Program.redmine.uploadFile(this.filesource.Text);

        		//Create a issue.
        		if (issueTracker.SelectedValue == null ||
        		    upload == null ||
        		    projectList.SelectedValue == null) {
        			throw new Exception("Tracker, Upload and Project needs to be set!");
        		}
        		
        		upload.FileName = this.filename.Text;
        		upload.ContentType = "application/octet-stream";
        		upload.Description = this.description.Text;
        		IList<Upload> uploads = new List<Upload>();
        		uploads.Add(upload);
        		
        		
            	var newIssue = new Issue { Subject = this.issueSubject.Text,         						
        									Project = new IdentifiableName{Id =  (int)projectList.SelectedValue},
        									Tracker = new IdentifiableName{Id =  (int)issueTracker.SelectedValue},        									
        									Description = this.issueDescription.Text,        									
        									Uploads = uploads
        								};
        		
        		string parentIssue = this.getSelectedIssueId(this.parentIssue);
        		if (parentIssue != "") {
        			newIssue.ParentIssue = new IdentifiableName{Id = int.Parse(parentIssue)};
        		}
        		if (issuePriority.SelectedValue != null && (int)issuePriority.SelectedValue != 0 ) {
        			newIssue.Priority = new IdentifiableName{Id = (int)issuePriority.SelectedValue};	
        		}
        		if (issueAssignee.SelectedValue != null && (int)issueAssignee.SelectedValue != 0 ) {
        			newIssue.AssignedTo = new IdentifiableName{Id = (int)issueAssignee.SelectedValue};
        		}
        		if (issueCategory.SelectedValue != null && (int)issueCategory.SelectedValue != 0) {
        			newIssue.Category = new IdentifiableName{Id = (int)issueCategory.SelectedValue};	
        		}
        		if (issueVersion.SelectedValue != null && (int)issueVersion.SelectedValue != 0) {
        			newIssue.FixedVersion = new IdentifiableName{Id = (int)issueVersion.SelectedValue};
        		}
        		
        		for (int i = 0;i < customFieldsNew.Length;i++) {
        			CustomField item = new CustomField();
        			item.Id = customFieldDefinitions[i].id;
        			item.Multiple = false;
        			item.Name = customFieldDefinitions[i].name;
        			
        			CustomFieldValue customFieldValue = new CustomFieldValue();
        			customFieldValue.Info = customFieldsNew[i].Text;
        			item.Values = new List<CustomFieldValue>();
        			item.Values.Add(customFieldValue);
        			newIssue.CustomFields = new List<CustomField>();
        			newIssue.CustomFields.Add(item);
				}
        		
        		newIssue = Program.redmine.createIssue(newIssue); 

				DialogResult messageBoxResult = 
					MessageBox.Show(
						String.Concat("Issue #",newIssue.Id," succesfully created.\nOpen Issue now?"), 
						"Success!", 
						MessageBoxButtons.YesNo
					);
				if (messageBoxResult.ToString() == "Yes") {
					String uri = new UriBuilder(Program.redmine.buffer.host).Uri.ToString();
					System.Diagnostics.Process.Start(String.Concat(uri ,"issues/",newIssue.Id));
				}    
				
				if (Program.redmine.buffer.closeAfterUpload) {
					Application.Exit();
				}
				
        	} catch (Exception ex) {
        		System.Windows.Forms.MessageBox.Show(ex.Message,"Error while creating issue.");
        	}
        	this.Enabled = true;
        }