Beispiel #1
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 protected abstract List <TechnologyItem> ConvertAssessment(Assessment assessment, EngineerProfile profile);
Beispiel #6
0
 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);
            }
        }