private void btnConfirmCreate_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtNewName.Text)) { MessageBox.Show("Please provide a name you want to use for the new Crool project."); return; } using (var context = new CroolContext(Config.ConnectionString)) { if (!context.CroolProjects.Where(c => c.Name == this.txtNewName.Text).Any()) { this.CreateCroolProject(this.txtNewName.Text); this.ToggleCreateMode(); this.LoadCroolProjectsCombo(); this.LoadCroolProject(); } else { MessageBox.Show("Crool project with the same name already exists. Please use another name."); } } }
private void LoadCroolProjectsCombo() { using (var context = new CroolContext(Config.ConnectionString)) { this.cmbProjects.DataSource = context.CroolProjects.ToList(); this.cmbProjects.DisplayMember = "Name"; this.cmbProjects.ValueMember = "Id"; } }
private void LoadCroolProject() { if (this.cmbProjects.SelectedValue == null) { MessageBox.Show("Please select the Crool project you wish to load."); return; } using (var context = new CroolContext(Config.ConnectionString)) { int croolProjectId = (int)this.cmbProjects.SelectedValue; this.ActiveCroolProject = context.CroolProjects.Where(p => p.Id == croolProjectId).FirstOrDefault(); } }
private Business.Entities.File GetLinkedFile(Document document) { if (this.cmbProjects.SelectedValue != null) { var project = document.ProjectItem.ContainingProject; string pathToProject = project.FullName.Substring(0, project.FullName.LastIndexOf('\\')); var path = GetRelativeFilePath(pathToProject, document.FullName); using (var context = new CroolContext(Config.ConnectionString)) { var file = context.Files.Where( f => f.Project.CroolProject_Id == (int)this.cmbProjects.SelectedValue && f.FileName == path).FirstOrDefault(); return file; } } return null; }
private void CreateCroolProject(string friendlyName) { try { var croolProject = new Business.Entities.CroolProject { Name = friendlyName }; foreach (Project p in this.Application.Solution.Projects) { this.AddProjectToCroolProject(croolProject, p); } using (var context = new CroolContext(Config.ConnectionString)) { context.CroolProjects.Add(croolProject); context.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Something went wrong.\nException message:" + ex.Message); } }
private void btnSaveReview_Click(object sender, EventArgs e) { if (this.Application.ActiveDocument != null) { dynamic selection = this.Application.ActiveDocument.Selection; var file = GetLinkedFile(this.Application.ActiveDocument); using (var context = new CroolContext(Config.ConnectionString)) { var review = new Business.Entities.Review { Text = this.txtReviewText.Text, From = this.txtFrom.Text, To = this.txtTo.Text, StartLine = selection.CurrentLine, EndLine = selection.BottomLine, File_Id = file.Id }; context.Reviews.Add(review); context.SaveChanges(); } this.tabControl1.SelectTab(0); this.LoadReviews(file); } }