示例#1
0
    private void ReadConclusionRelations(string xmlFileAsText)
    {
        XDocument xmlDoc = XDocument.Parse(xmlFileAsText);

        IEnumerable <XElement> conclusionRelations = xmlDoc.Root.Element("ConclusionPairs").Elements("ConclusionPair").ToList();

        foreach (var conclsionRelationXelement in conclusionRelations)
        {
            int id = Convert.ToInt32(conclsionRelationXelement.Attribute("ID").Value);
            int conclusionInput1Id  = Convert.ToInt32(conclsionRelationXelement.Attribute("input1ID").Value);
            int conclusionInput2Id  = Convert.ToInt32(conclsionRelationXelement.Attribute("input2ID").Value);
            int motivationOutput1Id = Convert.ToInt32(conclsionRelationXelement.Attribute("output1ID").Value);

            InvestigationItem conclusionInput1  = Data.Conclusions.Find(conclusion => conclusion.Id == conclusionInput1Id);
            InvestigationItem conclusionInput2  = Data.Conclusions.Find(conclusion => conclusion.Id == conclusionInput2Id);
            InvestigationItem motivationOutput1 = Data.Motivations.Find(motivation => motivation.Id == motivationOutput1Id);

            InvestigationItem selectedOutput    = null;
            InvestigationItem motivationOutput2 = null;

            if (conclsionRelationXelement.Attribute("output2ID") != null)
            {
                int motivationOutput2Id = Convert.ToInt32(conclsionRelationXelement.Attribute("output2ID").Value);
                motivationOutput2 = Data.Motivations.Find(motivation => motivation.Id == motivationOutput2Id);
            }
            else
            {
                selectedOutput = motivationOutput1;
            }

            Relation conclusionRelation = new Relation(id, conclusionInput1, conclusionInput2, motivationOutput1, motivationOutput2, selectedOutput);
            Data.ConclusionRelations.Add(conclusionRelation);
        }
    }
示例#2
0
        public void InvestigationUpdateAsync(InvestigationItem investigationItem)
        {
            Task   task = new Task(investigationUpdateAction, investigationItem);
            String key  = "UpdateInvestigationRecord:" + investigationItem.id.ToString();

            TaskPool.AddToQueue(key, task);
        }
示例#3
0
    private void HandleChoosenConclusion(Relation relation, InvestigationItem investigationItem)
    {
        // ugyan azt választotta, mint a múltkor?
        if (relation.SelectedOutput == investigationItem)
        {
            SetChoosingCanvas(false);
            return;
        }

        // a másikat választotta a múltkor?
        if (relation.SelectedOutput != null)
        {
            if (investigationItem is Conclusion)
            {
                ClearConsequencesOfSelectedConclusion(relation);
            }
            else
            {
                ClearConsequencesOfSelectedMotivation(relation);
            }
        }

        relation.SelectedOutput = investigationItem;
        if (investigationItem is Conclusion)
        {
            HandleConsequencesOfSelectedConclusion(relation);
        }
        else
        {
            HandleConsequencesOfSelectedMotivation(relation);
        }

        SetChoosingCanvas(false);
        Awake();
    }
示例#4
0
 public Relation(int id, InvestigationItem input1, InvestigationItem input2, InvestigationItem output1, InvestigationItem output2 = null, InvestigationItem selectedOutput = null)
 {
     Id             = id;
     Input1         = input1;
     Input2         = input2;
     Output1        = output1;
     Output2        = output2;
     SelectedOutput = selectedOutput;
 }
示例#5
0
        private void buttonAddRow_Click(object sender, EventArgs e)
        {
            DBReader          dBReader          = new DBReader();
            InvestigationItem investigationItem = dBReader.InvestigationAdd();

            if (investigationItem != null)
            {
                this.investigationsBindingSource.Add(investigationItem);

                dataGridViewInvestigations.Invalidate();
            }
        }
示例#6
0
 private void SaveInvestigationRow()
 {
     if (rowModifiedIndex >= 0)
     {
         InvestigationItem investigationItem = dataGridViewInvestigations.Rows[rowModifiedIndex]?.DataBoundItem as InvestigationItem;
         if (investigationItem != null)
         {
             (new DBReader()).InvestigationUpdateAsync((InvestigationItem)investigationItem.Clone());
         }
         rowModifiedIndex = -1;
     }
     ;
 }
示例#7
0
        private static bool InvestigationReadItems(Object obj, SqlDataReader sqlDataReader)
        {
            List <InvestigationItem> investigations = obj as List <InvestigationItem>;
            int      id           = sqlDataReader.GetInt32(0);  // id
            String   Name         = sqlDataReader.GetString(1); // Name
            DateTime CreationDate = sqlDataReader.GetDateTime(2);
            var      item         = new InvestigationItem()
            {
                id = id, Name = Name, CreationDate = CreationDate
            };

            investigations.Add(item);
            return(true);
        }
        public static Json.Entities.InvestigationItem Translate(this InvestigationItem investigationItem)
        {
            if (investigationItem == null)
            {
                return(null);
            }

            return(new Json.Entities.InvestigationItem
            {
                Id = investigationItem.Id,
                Name = investigationItem.Name,
                MeasurementUnit = investigationItem.MeasurementUnit,
                MinValue = investigationItem.MinValue,
                MaxValue = investigationItem.MaxValue
            });
        }
示例#9
0
    private void ReadFinalDeductionConclusionRelations(string xmlFileAsText)
    {
        XDocument xmlDoc = XDocument.Parse(xmlFileAsText);

        IEnumerable <XElement> finalDeductionConclusionRelations = xmlDoc.Root.Element("FinalDeductionConclusionPairs").Elements("FinalDeductionGuiltyPerson").ToList();

        foreach (var finalDeductionConclusionRelationsXelement in finalDeductionConclusionRelations)
        {
            int id            = Convert.ToInt32(finalDeductionConclusionRelationsXelement.Attribute("ID").Value);
            int guiltInput1Id = Convert.ToInt32(finalDeductionConclusionRelationsXelement.Attribute("input1ID").Value);
            int guiltInput2Id = Convert.ToInt32(finalDeductionConclusionRelationsXelement.Attribute("input2ID").Value);
            int guiltOutputId = Convert.ToInt32(finalDeductionConclusionRelationsXelement.Attribute("output1ID").Value);

            InvestigationItem guiltInput1 = Data.Conclusions.Find(conclusion => conclusion.Id == guiltInput1Id);
            InvestigationItem guiltInput2 = Data.Conclusions.Find(conclusion => conclusion.Id == guiltInput2Id);
            InvestigationItem guiltOutput = Data.FinalDeductions.Find(finalDeduction => finalDeduction.Id == guiltOutputId);

            Relation finalDeductionConclusionRelation = new Relation(id, guiltInput1, guiltInput2, guiltOutput);
            Data.ConclusionToFinalDeductionRelations.Add(finalDeductionConclusionRelation);
        }
    }
示例#10
0
    private void ReadFinalDeductionConclusionAndMotivationRelations(string xmlFileAsText)
    {
        XDocument xmlDoc = XDocument.Parse(xmlFileAsText);

        IEnumerable <XElement> finalDeductionConclusionAndMotivationRelations = xmlDoc.Root.Element("FinalDeductionClueAndMotivationPairs").Elements("ClueAndMotivationPair").ToList();

        foreach (var finalDeductionConclusionAndMotivationRelationsXelement in finalDeductionConclusionAndMotivationRelations)
        {
            int id = Convert.ToInt32(finalDeductionConclusionAndMotivationRelationsXelement.Attribute("ID").Value);
            int conclusionInputId      = Convert.ToInt32(finalDeductionConclusionAndMotivationRelationsXelement.Attribute("inputConclusionId").Value);
            int motivationInputId      = Convert.ToInt32(finalDeductionConclusionAndMotivationRelationsXelement.Attribute("inputMotivationId").Value);
            int finalDeductionOutputId = Convert.ToInt32(finalDeductionConclusionAndMotivationRelationsXelement.Attribute("output1ID").Value);

            InvestigationItem conclusionInput      = Data.Conclusions.Find(conclusion => conclusion.Id == conclusionInputId);
            InvestigationItem motivationInput      = Data.Motivations.Find(motivation => motivation.Id == motivationInputId);
            InvestigationItem finalDeductionOutput = Data.FinalDeductions.Find(finalDeduction => finalDeduction.Id == finalDeductionOutputId);

            Relation conclusionAndMotivationToFinalDeductionRelation = new Relation(id, conclusionInput, motivationInput, finalDeductionOutput);
            Data.ConclusionAndMotivationToFinalDeductionRelations.Add(conclusionAndMotivationToFinalDeductionRelation);
        }
    }
示例#11
0
        private void UpdateInvestigationChooser()
        {
            var dbReader           = new DBReader();
            var investigationItems = dbReader.InvestigationGetItems();

            var list = investigationItems.OrderBy(x => x.Name).ToList();

            var itemSelect = new InvestigationItem()
            {
                id = -1, Name = "Please Select", CreationDate = DateTime.Now
            };

            list.Insert(0, itemSelect);


            comboBoxInvestigationChooser.DisplayMember = "Name";
            comboBoxInvestigationChooser.ValueMember   = "id";
            comboBoxInvestigationChooser.DataSource    = list;

            if (list.Count > 0)
            {
                comboBoxInvestigationChooser.SelectedIndex = 0;
            }
        }