public override bool UpdateITCAP(object clientObj, ITCapQuestion itcapQuestion) { Random rnd = new Random(); CLIENT client = clientObj as CLIENT; COMMENT commentEnt; try { ITCAP itcap = (from ent in client.ITCAP where ent.ITCAPQUESTION.NAME.TrimEnd() == itcapQuestion.Name select ent).Single(); itcap.ASIS = itcapQuestion.AsIsScore; itcap.TOBE = itcapQuestion.ToBeScore; itcap.ASISZEROS = itcapQuestion.AsIsNumZeros; itcap.ASISONES = itcapQuestion.AsIsNumOnes; itcap.ASISTWOS = itcapQuestion.AsIsNumTwos; itcap.ASISTHREES = itcapQuestion.AsIsNumThrees; itcap.ASISFOURS = itcapQuestion.AsIsNumFours; itcap.ASISFIVES = itcapQuestion.AsIsNumFives; itcap.TOBEZEROS = itcapQuestion.TobeNumZeros; itcap.TOBEONES = itcapQuestion.TobeNumOnes; itcap.TOBETWOS = itcapQuestion.TobeNumTwos; itcap.TOBETHREES = itcapQuestion.TobeNumThrees; itcap.TOBEFOURS = itcapQuestion.TobeNumFours; itcap.TOBEFIVES = itcapQuestion.TobeNumFives; List<COMMENT> commentsToDelete = itcap.COMMENT.ToList(); foreach (COMMENT commentEntToDelete in commentsToDelete) { dbo.DeleteObject(commentEntToDelete); } foreach (string comment in itcapQuestion.comment) { commentEnt = new COMMENT(); commentEnt.NAME = comment; commentEnt.ITCAP = itcap; dbo.AddToCOMMENT(commentEnt); } } catch { return false; } return true; }
public override bool LoadITCAP(ref ITCapQuestion question) { ITCAP itcap; CLIENT client = ClientDataControl.Client.EntityObject as CLIENT; if (GetITCAP(question.Name, client, out itcap)) { if (itcap.ASISZEROS.HasValue) { for (int i = 0; i < itcap.ASISZEROS.Value; i++) { question.AddAsIsAnswer(0); } } if (itcap.ASISONES.HasValue) { for (int i = 0; i < itcap.ASISONES.Value; i++) { question.AddAsIsAnswer(1); } } if (itcap.ASISTWOS.HasValue) { for (int i = 0; i < itcap.ASISTWOS.Value; i++) { question.AddAsIsAnswer(2); } } if (itcap.ASISTHREES.HasValue) { for (int i = 0; i < itcap.ASISTHREES.Value; i++) { question.AddAsIsAnswer(3); } } if (itcap.ASISFOURS.HasValue) { for (int i = 0; i < itcap.ASISFOURS.Value; i++) { question.AddAsIsAnswer(4); } } if (itcap.ASISFIVES.HasValue) { for (int i = 0; i < itcap.ASISFIVES.Value; i++) { question.AddAsIsAnswer(5); } } if (itcap.ASIS.HasValue) { question.AsIsScore = itcap.ASIS.Value; } if (itcap.TOBEZEROS.HasValue) { for (int i = 0; i < itcap.TOBEZEROS.Value; i++) { question.AddToBeAnswer(0); } } if (itcap.TOBEONES.HasValue) { for (int i = 0; i < itcap.TOBEONES.Value; i++) { question.AddToBeAnswer(1); } } if (itcap.TOBETWOS.HasValue) { for (int i = 0; i < itcap.TOBETWOS.Value; i++) { question.AddToBeAnswer(2); } } if (itcap.TOBETHREES.HasValue) { for (int i = 0; i < itcap.TOBETHREES.Value; i++) { question.AddToBeAnswer(3); } } if (itcap.TOBEFOURS.HasValue) { for (int i = 0; i < itcap.TOBEFOURS.Value; i++) { question.AddToBeAnswer(4); } } if (itcap.TOBEFIVES.HasValue) { for (int i = 0; i < itcap.TOBEFIVES.Value; i++) { question.AddToBeAnswer(5); } } if (itcap.TOBE.HasValue) { question.ToBeScore = itcap.TOBE.Value; } foreach (COMMENT comment in itcap.COMMENT) { question.AddComment(comment.NAME.TrimEnd()); } } else { return false; } return true; }
public override bool OpenITCAP(ITCapTool itcapForm) { CLIENT client = ClientDataControl.Client.EntityObject as CLIENT; List<ITCAP> itcapList = (from ent in client.ITCAP orderby ent.ITCAPQUESTION.ID select ent).ToList(); ITCAPQUESTION itcqEnt; CAPABILITY capEnt; DOMAIN domEnt; string itcqName; string capName; string domName; foreach (ITCAP itcap in itcapList) { itcqEnt = itcap.ITCAPQUESTION; capEnt = itcqEnt.CAPABILITY; domEnt = capEnt.DOMAIN; itcqName = itcqEnt.NAME.TrimEnd(); capName = capEnt.NAME.TrimEnd(); domName = domEnt.NAME.TrimEnd(); Domain domain; Capability capability; ITCapQuestion itcapQuestion; domain = itcapForm.domains.Find(delegate(Domain dom) { return dom.Name == domName; }); if (domain == null) { domain = new Domain(); domain.Name = domName; domain.IsDefault = domEnt.DEFAULT == "Y"; domain.Type = "domain"; domain.Visible = true; domain.ID = domEnt.ID.TrimEnd(); //itcapForm.LoadCapabilities(dom); itcapForm.domains.Add(domain); } capability = itcapForm.capabilities.Find(delegate(Capability cap) { return cap.CapName == capName; }); if (capability == null) { capability = new Capability(); Capability.AllCapabilities.Add(capability); capability.CapName = capName; capability.IsDefault = capEnt.DEFAULT == "Y"; domain.CapabilitiesOwned.Add(capability); domain.TotalChildren++; capability.Type = "capability"; capability.ID = capEnt.ID.TrimEnd(); itcapForm.capabilities.Add(capability); capability.Owner = domain; //LoadQuestions(cap); } itcapQuestion = new ITCapQuestion(); itcapQuestion.Name = itcqName; itcapQuestion.IsDefault = itcqEnt.DEFAULT == "Y"; itcapQuestion.AsIsScore = itcap.ASIS.HasValue ? itcap.ASIS.Value : 0; itcapQuestion.ToBeScore = itcap.TOBE.HasValue ? itcap.TOBE.Value : 0; //itcapQuestion.AddComment(itcap.COMMENT); itcapQuestion.Type = "attribute"; itcapQuestion.ID = itcqEnt.ID.TrimEnd(); capability.Owner.TotalChildren++; capability.QuestionsOwned.Add(itcapQuestion); itcapQuestion.Owner = capability; } foreach (Domain domain in itcapForm.domains) { itcapForm.entities.Add(domain); foreach (Capability capability in domain.CapabilitiesOwned) { itcapForm.entities.Add(capability); foreach (ITCapQuestion itcapQuestion in capability.QuestionsOwned) { itcapForm.entities.Add(itcapQuestion); } } } return true; }
public abstract bool LoadITCAP(ref ITCapQuestion question);
public abstract bool UpdateITCAP(object clientObj, ITCapQuestion itcapQuestion);
//check if the backcolor of the standard deviation fields needto be updated private void CheckStandardDeviations(ITCapQuestion ent, DataGridViewRow row) { if (ent.AsIsHighStandardDeviation) row.Cells["AsisStandardDeviation"].Style.BackColor = Color.IndianRed; else row.Cells["AsisStandardDeviation"].Style.BackColor = Color.White; if (ent.TobehighStandardDeviation) row.Cells["TobeStandardDeviation"].Style.BackColor = Color.IndianRed; else row.Cells["TobeStandardDeviation"].Style.BackColor = Color.White; }
private ITCapQuestion CreateQuestion(Capability owner) { ITCapQuestion ques = new ITCapQuestion(); owner.Owner.TotalChildren++; ques.Name = questionList.Text; ques.IsDefault = false; owner.QuestionsOwned.Add(ques); ques.Type = "attribute"; ques.Owner = owner; ques.ID = ClientDataControl.db.GetScoringEntityID(ques.Name); return ques; }
//load all the questions ownes by the given paramter capability private void LoadQuestions(Capability cap) { string[] questionInfoArray = ClientDataControl.db.GetDefaultITCAPQuestionNames(cap.CapName, cap.Owner.Name); questionCount = 1; foreach (string questionInfo in questionInfoArray) { ITCapQuestion question = new ITCapQuestion(); question.Name = questionInfo; question.IsDefault = questionInfo.Last() == 'Y'; question.comment = new List<string>(); cap.Owner.TotalChildren++; cap.QuestionsOwned.Add(question); question.Owner = cap; question.Type = "attribute"; question.ID = ClientDataControl.db.GetScoringEntityID(question.Name); entities.Add(question); questionCount++; } }
//check if user has right clicked on a cell, and then give options based on the cell type private void surveryMakerGrid_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { DataGridView.HitTestInfo hit = surveryMakerGrid.HitTest(e.X, e.Y); if (hit.RowIndex >= 0) { surveryMakerGrid.Rows[hit.RowIndex].Selected = true; ScoringEntity ent = surveryMakerGrid.SelectedRows[0].DataBoundItem as ScoringEntity; if (ent.Type == "domain") { ContextMenuStrip strip = new ContextMenuStrip(); ToolStripMenuItem deleteDomain = new ToolStripMenuItem(); deleteDomain.Click += new EventHandler(deleteDomain_Click); deleteDomain.Text = "Delete Domain"; strip.Items.Add(deleteDomain); strip.Show(surveryMakerGrid, e.Location, ToolStripDropDownDirection.BelowRight); } if (ent.Type == "capability") { ContextMenuStrip strip = new ContextMenuStrip(); ToolStripMenuItem deletecapability = new ToolStripMenuItem(); deletecapability.Click += new EventHandler(deleteCapability_Click); deletecapability.Text = "Delete Capability"; strip.Items.Add(deletecapability); strip.Show(surveryMakerGrid, e.Location, ToolStripDropDownDirection.BelowRight); } if (ent.Type == "attribute") { activequestion = (ITCapQuestion)ent; ContextMenuStrip strip = new ContextMenuStrip(); ToolStripMenuItem deletecapability = new ToolStripMenuItem(); //ToolStripMenuItem editQuestionText = new ToolStripMenuItem(); //editQuestionText.Click += new EventHandler(editQuestionText_Click); deletecapability.Click += new EventHandler(deleteAttribute_Click); deletecapability.Text = "Delete Attribute"; //editQuestionText.Text = "Edit Question Text"; strip.Items.Add(deletecapability); //strip.Items.Add(editQuestionText); strip.Show(surveryMakerGrid, e.Location, ToolStripDropDownDirection.BelowRight); } } } }
public bool CreateCommentDoc(List <ScoringEntity> questions) { Word._Document oDoc; try { //Find some stats regarding the Cats, Obj, and Imperatives for later reference. var totalRows = questions.Count + 1; //Creating the document // object oMissing = System.Reflection.Missing.Value; object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */ //Start Word and create a new document. Word._Application oWord; oWord = new Word.Application(); oWord.Visible = false; oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing); //oWord.Activate(); System.Threading.Thread.Sleep(3000); //Insert a paragraph at the beginning of the document. Word.Paragraph oPara1; oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing); oPara1.Range.Text = "IT Capability Assessment Survey Comments"; oPara1.Range.Font.Bold = 1; oPara1.Format.SpaceAfter = 12; //24 pt spacing after paragraph. oPara1.Format.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle; oPara1.Range.InsertParagraphAfter(); //Insert a paragraph at the beginning of the document. Word.Paragraph oPara3; oPara3 = oDoc.Content.Paragraphs.Add(ref oMissing); oPara3.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft; oPara3.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft; oPara3.Format.SpaceAfter = 8; //24 pt spacing after paragraph. oPara3.Range.Font.Size = 8; oPara3.Range.InsertParagraphAfter(); System.Threading.Thread.Sleep(3000); //Create an array for the questions for the formfields string[] FormNames = new string[(totalRows - 1) * 3]; //Add the question text foreach (ScoringEntity question in questions) { if (question.Type != "attribute") { continue; } ITCapQuestion temp = question as ITCapQuestion; oPara3.Range.Text = oPara3.Range.Text + question.Name; foreach (string comment in temp.comment) { oPara3.Range.Text = oPara3.Range.Text + '\t' + comment.ToString(); } } oDoc.Protect(Word.WdProtectionType.wdAllowOnlyFormFields, false, string.Empty, false, false); oWord.Visible = true; } catch (Exception) { return(false); } try { oDoc.SaveAs("ITCap Comments", Word.WdSaveFormat.wdFormatDocument); } catch { } return(true); }
public void ReadSurveyITCap(List <ScoringEntity> questions) { var FD = new System.Windows.Forms.FolderBrowserDialog(); if (FD.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } var files = Directory.EnumerateFiles(FD.SelectedPath); var badFiles = 0; foreach (var file in files) { if (file.Contains("~$")) { badFiles++; continue; } //Start Word and open the word document. Word._Application oWord; Word._Document oDoc; oWord = new Word.Application(); oWord.Visible = false; oDoc = oWord.Documents.Open(file, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //oWord.Activate(); ScoringEntity currentQuestion = null; if (oDoc.Paragraphs.First.Range.Text != "IT Capability Assessment Survey\r") { continue; } int q = 1, c = 1; foreach (Word.FormField form in oDoc.FormFields) { if (form.Name != "Name") { foreach (var f in questions) { var asdfasdfasf = RemoveCharacters(TruncateLongString(f.Name, 19)); } try { currentQuestion = questions.Where(x => RemoveCharacters(TruncateLongString(x.Name, 19)) == form.Name).First(); } catch { continue; } ITCapQuestion temp = (ITCapQuestion)currentQuestion; if (string.IsNullOrEmpty(form.Result) || string.IsNullOrWhiteSpace(form.Result)) { if (c == 1) { c = 2; } else if (c == 2) { c = 3; } else if (c == 3) { c = 1; } continue; } else { if (c == 1) { temp.AddAsIsAnswer(Convert.ToSingle(form.Result.ToString())); c = 2; } else if (c == 2) { temp.AddToBeAnswer(Convert.ToSingle(form.Result.ToString())); c = 3; q++; } else if (c == 3) { temp.AddComment(form.Result.ToString()); c = 1; q++; } } } } oDoc.Close(Word.WdSaveOptions.wdDoNotSaveChanges); } }
public override bool UpdateITCAP(object clientObj, ITCapQuestion itcapQuestion) { Random rnd = new Random(); XElement client = clientObj as XElement; try { XElement itcap = (from ent in client.Element("ITCAPS").Elements("ITCAP") where ent.Element("ITCAPQUESTION").Value == itcapQuestion.Name select ent).Single(); itcap.Element("ASIS").Value = itcapQuestion.AsIsScore.ToString(); itcap.Element("TOBE").Value = itcapQuestion.ToBeScore.ToString(); itcap.Element("ASISZEROS").Value = itcapQuestion.AsIsNumZeros.ToString(); itcap.Element("TOBEZEROS").Value = itcapQuestion.TobeNumZeros.ToString(); itcap.Element("ASISONES").Value = itcapQuestion.AsIsNumOnes.ToString(); itcap.Element("TOBEONES").Value = itcapQuestion.TobeNumOnes.ToString(); itcap.Element("ASISTWOS").Value = itcapQuestion.AsIsNumTwos.ToString(); itcap.Element("TOBETWOS").Value = itcapQuestion.TobeNumTwos.ToString(); itcap.Element("ASISTHREES").Value = itcapQuestion.AsIsNumThrees.ToString(); itcap.Element("TOBETHREES").Value = itcapQuestion.TobeNumThrees.ToString(); itcap.Element("ASISFOURS").Value = itcapQuestion.AsIsNumFours.ToString(); itcap.Element("TOBEFOURS").Value = itcapQuestion.TobeNumFours.ToString(); itcap.Element("ASISFIVES").Value = itcapQuestion.AsIsNumFives.ToString(); itcap.Element("TOBEFIVES").Value = itcapQuestion.TobeNumFives.ToString(); string changeLogString = ("UPDATE ITCAP " + client.Element("NAME").Value.Replace(' ', '~') + " " + itcapQuestion.Name.Replace(' ', '~') + " " + itcapQuestion.AsIsScore + " " + itcapQuestion.ToBeScore + " " + itcapQuestion.AsIsNumZeros + " " + itcapQuestion.TobeNumZeros + " " + itcapQuestion.AsIsNumOnes + " " + itcapQuestion.TobeNumOnes + " " + itcapQuestion.AsIsNumTwos + " " + itcapQuestion.TobeNumTwos + " " + itcapQuestion.AsIsNumThrees + " " + itcapQuestion.TobeNumThrees + " " + itcapQuestion.AsIsNumFours + " " + itcapQuestion.TobeNumFours + " " + itcapQuestion.AsIsNumFives + " " + itcapQuestion.TobeNumFives); XElement commentsElement = itcap.Element("COMMENTS"); commentsElement.RemoveAll(); foreach (string comment in itcapQuestion.comment) { commentsElement.Add(new XElement("COMMENT", comment)); changeLogString += (" " + comment.Replace(' ', '~')); } changeLog.Add(changeLogString); } catch { return false; } return true; }
public override bool OpenITCAP(ITCapTool itcapForm) { if (ClientDataControl.Client.EntityObject == null) { MessageBox.Show("Must choose client before opening ITCAP", "Error"); return false; } List<XElement> itcapList = (ClientDataControl.Client.EntityObject as XElement).Element("ITCAPS").Elements("ITCAP").ToList(); XElement itcqEnt; XElement capEnt; XElement domEnt; string itcqName; string capName; string domName; foreach (XElement itcap in itcapList) { itcqName = itcap.Element("ITCAPQUESTION").Value; capName = itcap.Element("CAPABILITY").Value; domName = itcap.Element("DOMAIN").Value; Domain domain; Capability capability; ITCapQuestion itcapQuestion; domain = itcapForm.domains.Find(delegate(Domain dom) { return dom.Name == domName; }); if (domain == null) { domain = new Domain(); domain.Name = domName; if (!GetDomain(domName, out domEnt)) { MessageBox.Show("Error: Could not find domain related to this ITCAP Entry", "Error"); break; } domain.IsDefault = domEnt.Element("DEFAULT").Value == "Y"; domain.Type = "domain"; domain.Visible = true; itcapForm.domains.Add(domain); domain.ID = domEnt.Element("ID").Value; } capability = itcapForm.capabilities.Find(delegate(Capability cap) { return cap.CapName == capName; }); if (capability == null) { capability = new Capability(); capability.CapName = capName; if(!GetCapability(capName, out capEnt)) { MessageBox.Show("Error: Could not find capability related to this ITCAP Entry", "Error"); break; } capability.IsDefault = capEnt.Element("DEFAULT").Value == "Y"; domain.CapabilitiesOwned.Add(capability); domain.TotalChildren++; capability.Type = "capability"; itcapForm.capabilities.Add(capability); capability.Owner = domain; capability.ID = capEnt.Element("ID").Value; //LoadQuestions(cap); } itcapQuestion = new ITCapQuestion(); itcapQuestion.Name = itcqName; if (!GetITCAPQuestion(itcqName, out itcqEnt)) { MessageBox.Show("Error: Could not find question related to this ITCAP Entry", "Error"); break; } itcapQuestion.IsDefault = itcqEnt.Element("DEFAULT").Value == "Y"; itcapQuestion.AsIsScore = Convert.ToSingle(itcap.Element("ASIS").Value); itcapQuestion.ToBeScore = Convert.ToSingle(itcap.Element("TOBE").Value); capability.Owner.TotalChildren++; itcapQuestion.Type = "attribute"; capability.Owner.TotalChildren++; capability.QuestionsOwned.Add(itcapQuestion); itcapQuestion.Owner = capability; itcapQuestion.ID = itcqEnt.Element("ID").Value; } foreach (Domain domain in itcapForm.domains) { itcapForm.entities.Add(domain); foreach (Capability capability in domain.CapabilitiesOwned) { itcapForm.entities.Add(capability); foreach (ITCapQuestion itcapQuestion in capability.QuestionsOwned) { itcapForm.entities.Add(itcapQuestion); } } } return true; }
public override bool LoadITCAP(ref ITCapQuestion question) { XElement itcap; XElement client = ClientDataControl.Client.EntityObject as XElement; if(GetITCAP(question.Name, client, out itcap)) { if (itcap.Element("ASISZEROS").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("ASISZEROS").Value); i++) { question.AddAsIsAnswer(0); } } if (itcap.Element("ASISONES").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("ASISONES").Value); i++) { question.AddAsIsAnswer(1); } } if (itcap.Element("ASISTWOS").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("ASISTWOS").Value); i++) { question.AddAsIsAnswer(2); } } if (itcap.Element("ASISTHREES").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("ASISTHREES").Value); i++) { question.AddAsIsAnswer(3); } } if (itcap.Element("ASISFOURS").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("ASISFOURS").Value); i++) { question.AddAsIsAnswer(4); } } if (itcap.Element("ASISFIVES").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("ASISFIVES").Value); i++) { question.AddAsIsAnswer(5); } } if (itcap.Element("ASISZEROS").Value != null) { question.AsIsScore = Convert.ToSingle(itcap.Element("ASISZEROS").Value); } if (itcap.Element("TOBEZEROS").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("TOBEZEROS").Value); i++) { question.AddToBeAnswer(0); } } if (itcap.Element("TOBEONES").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("TOBEONES").Value); i++) { question.AddToBeAnswer(1); } } if (itcap.Element("TOBETWOS").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("TOBETWOS").Value); i++) { question.AddToBeAnswer(2); } } if (itcap.Element("TOBETHREES").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("TOBETHREES").Value); i++) { question.AddToBeAnswer(3); } } if (itcap.Element("TOBEFOURS").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("TOBEFOURS").Value); i++) { question.AddToBeAnswer(4); } } if (itcap.Element("TOBEFIVES").Value != null) { for (int i = 0; i < Convert.ToSingle(itcap.Element("TOBEFIVES").Value); i++) { question.AddToBeAnswer(5); } } if (itcap.Element("TOBE").Value != null) { question.ToBeScore = Convert.ToSingle(itcap.Element("TOBE").Value); } foreach (XElement comment in itcap.Element("COMMENTS").Elements("COMMENT")) { question.AddComment(comment.Value); } } else { return false; } return true; }