コード例 #1
0
ファイル: Program.cs プロジェクト: bvanderdrift/Lawsome
        static void Main(string[] args)
        {
            var contract = new Contract();

            contract.InterestedParty.Add(new Party("Party 1"));
            contract.InterestedParty.Add(new Party("Party 2"));

            var arbitraionClause = new ArbitrationClause();

            arbitraionClause.GoverningLaw = GoverningLaw.French;
            arbitraionClause.PlaceOfArbirtration.Country = "Hungary";
            arbitraionClause.PlaceOfArbirtration.City    = "Budapest";
            contract.Clauses.Add(arbitraionClause);

            var nonDisclosureClause = new NonDisclosureClause();

            nonDisclosureClause.OnlyMarked = false;
            nonDisclosureClause.WhoIsBound.Add(contract.InterestedParty[0]);
            contract.Clauses.Add(nonDisclosureClause);

            var evaluator = new Evaluator();
            var result    = evaluator.Evaluate(contract, contract.InterestedParty[0]);

            foreach (var kvp in result)
            {
                Console.WriteLine($"{kvp.Key.GetType()}: {kvp.Value}");
            }
            Console.ReadLine();
        }
コード例 #2
0
ファイル: Evaluator.cs プロジェクト: bvanderdrift/Lawsome
        private EvaluationResult EvaluateNonDiscloseureClause(NonDisclosureClause nonDisclosureClause, Party whoAmI)
        {
            if (nonDisclosureClause.WhoIsBound.Count == 1 && nonDisclosureClause.WhoIsBound[0].Equals(whoAmI))
            {
                return(new EvaluationResult(false, "unilaterally binding to own disadvandtage"));
            }

            if (nonDisclosureClause.OnlyMarked)
            {
                return(new EvaluationResult(false, "Only marked informations are labeld confidential."));
            }
            return(new EvaluationResult(true));
        }