public static EngineerProfile GetEnginenerInfo(Guid EngineerId) { EngineerProfile engprofile = null; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand("[dbo].[GetEngineerInfo]", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter("@EngID", EngineerId)); command.Connection.Open(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { engprofile = new EngineerProfile(reader.GetGuid(0), reader.GetString(1), reader.GetString(2), reader.GetString(3), reader.GetString(4), reader.GetString(5)); } reader.Close(); command.Dispose(); return(engprofile); } reader.Close(); command.Dispose(); } return(engprofile); }
private static int WriteHeader(EngineerProfile profile, ExcelWorker worker, int row) { foreach (var header in profile.Header.Scales) { worker.SetAValue(row++, header); } return(row); }
private EngineerProfile LoadProfile(string pattern) { EngineerProfile profile = null; string path = ReportConfiguration.Instance.ConfigurationProfileDirectory; pattern = string.Format(Properties.Settings.Default.ProfilePattern, pattern); var configFile = Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly).SingleOrDefault(); if (string.IsNullOrEmpty(configFile)) { System.Windows.Forms.MessageBox.Show(string.Format("Unable to load {0} config file, ensure file exists in {1} ", pattern, path), "Error"); } else { profile = XmlLoader.LoadFromXml <EngineerProfile>(configFile); } return(profile); }
private static EngineerProfile BuildProfile() { EngineerProfile prof = new EngineerProfile(); prof.StartRow = 2; prof.TechnicalAreaText = "Technical Area"; prof.ScaleText = "Scale (0-4)"; prof.Header.Scales.AddRange( new List <string>() { "Scale (0-4)", "0 - No experience.", "1 - Beginner (is able to perform simple task under supervision, usually less than 1 year of experience)", "2 - Autonomous (is able to perform task without supervision but may need support from expert, usually 1-2 year of experience)", "3 - Expert (is able to perform task without supervision, mentor/coach for others, usually 2-5 year of experience)", "4 - Guru" }); return(prof); }
protected abstract List <TechnologyItem> ConvertAssessment(Assessment assessment, EngineerProfile profile);
public List <TechnologyItem> Convert(Assessment assessment, EngineerProfile profile) { return(ConvertAssessment(assessment, profile)); }
public void ConvertAssessment(AssessmentConverter converter) { //verify if sheet exists try { var value = ActiveSheet.Range["A1"].Value2; } catch (Exception) { System.Windows.Forms.MessageBox.Show("Select assessment first before you start using plugin.", "Format error"); return; } LoadAllProfiles(); var techologyGroups = GetTechologyGroups(ProfilesDictionary); Assessment assessment = Assessment.Build(ActiveSheet, techologyGroups); if (assessment == null) { System.Windows.Forms.MessageBox.Show("Unable to convert assessment, unknown format.", "Format error"); return; } EngineerProfile profile = LoadEngineerProfile(assessment); if (profile == null) { System.Windows.Forms.MessageBox.Show("Unable to detect a profile of assessment, ensure please: 1) profile configuration has keywords selected, 2) assessment has keywords.", "Format error"); return; } string workbookName = ActiveWorkbook.Name; var excelRows = converter.Convert(assessment, profile); if (Workbooks == null) { System.Windows.Forms.MessageBox.Show("Plugin requires restart Excel.", "Internal error"); return; } var newWorkBook = Workbooks.Add(); var activeSheet = newWorkBook.ActiveSheet as Excel.Worksheet; //write header var worker = new ExcelWorker(activeSheet); //header section int row = 2; row = WriteHeader(profile, worker, row); //2 rows separation row += 2; // worker.SetAValue(row, profile.TechnicalAreaText).SetBold(true).SetColor(Assessment.OleHeaderColor).SetWidth(60).SetHeight(15); worker.SetValue(row, defaultScaleColumn, profile.ScaleText).SetBold(true).SetColor(Assessment.OleHeaderColor); row++; foreach (var item in excelRows) { worker.SetAValue(row, item.Technology).SetColor(item.Color).SetBold(item.isBold); worker.SetValue(row, defaultScaleColumn, item.Scale).SetColor(item.Color).SetBold(item.isBold); row++; } MsoFileDialogType dlgType = MsoFileDialogType.msoFileDialogSaveAs; Application.FileDialog[dlgType].InitialFileName = string.Format("{0}_{1}", converter.ConverterName, workbookName); Application.FileDialog[dlgType].Show(); if (Application.FileDialog[dlgType].SelectedItems.Count > 0) { ActiveWorkbook.SaveAs(Application.FileDialog[dlgType].SelectedItems.Item(1), Excel.XlFileFormat.xlOpenXMLWorkbook); } }