Example #1
0
        public CommittedProjects(ICommitted committedRepo, ISections sectionsRepo)
        {
            this.committedRepo = committedRepo;
            this.sectionsRepo  = sectionsRepo;

            List <CommittedEntity> GetAnyProjects(int id, BridgeCareContext db, UserInformationModel userInformation) =>
            committedRepo.GetCommittedProjects(id, db);
            List <CommittedEntity> GetPermittedProjects(int id, BridgeCareContext db, UserInformationModel userInformation) =>
            committedRepo.GetPermittedCommittedProjects(id, db, userInformation.Name);

            void SaveAnyProjects(List <CommittedProjectModel> models, BridgeCareContext db, UserInformationModel userInformation) =>
            committedRepo.SaveCommittedProjects(models, db);
            void SavePermittedProjects(List <CommittedProjectModel> models, BridgeCareContext db, UserInformationModel userInformation) =>
            committedRepo.SavePermittedCommittedProjects(models, db, userInformation.Name);

            CommittedProjectsGetMethods = new Dictionary <string, CommittedProjectsGetMethod>
            {
                [Role.ADMINISTRATOR]     = GetAnyProjects,
                [Role.DISTRICT_ENGINEER] = GetPermittedProjects,
                [Role.CWOPA]             = GetPermittedProjects,
                [Role.PLANNING_PARTNER]  = GetPermittedProjects
            };
            CommittedProjectsSaveMethods = new Dictionary <string, CommittedProjectsSaveMethod>
            {
                [Role.ADMINISTRATOR]     = SaveAnyProjects,
                [Role.DISTRICT_ENGINEER] = SavePermittedProjects,
                [Role.CWOPA]             = SavePermittedProjects,
                [Role.PLANNING_PARTNER]  = SavePermittedProjects
            };
        }
Example #2
0
        /// Gathers commitments and sum them.
        public static Commitment sum_commitments(this ICommitted committed, Secp256K1 secp)
        {
            // first, verify each range proof

            foreach (var output in committed.outputs_committed())
            {
                output.Verify_proof(secp);
            }

            // then gather the commitments

            var inputCommits = new List <Commitment>();


            foreach (var input in committed.inputs_commited())
            {
                inputCommits.Add(input.Commitment);
            }
            var outputCommits = new List <Commitment>();

            foreach (var output in committed.outputs_committed())
            {
                outputCommits.Add(output.Commit);
            }


            // add the overage as output commitment if positive, as an input commitment if
            // negative

            if (committed.Overage() != 0)
            {
                var overCommit = secp.commit_value((ulong)Math.Abs(committed.Overage()));
                if (committed.Overage() < 0)
                {
                    inputCommits.Add(overCommit);
                }
                else
                {
                    outputCommits.Add(overCommit);
                }
            }

            // sum all that stuff
            return(secp.commit_sum(outputCommits.ToArray(), inputCommits.ToArray()));
        }
Example #3
0
 public void UpdateCommit(ICommitted committed, CatalogCommit commit)
 {
     committed.CommitId        = commit.Id;
     committed.CommitTimestamp = commit.Timestamp;
 }
Example #4
0
 public CommittedProjects(ICommitted committedRepo, ISections sectionsRepo)
 {
     this.committedRepo = committedRepo;
     this.sectionsRepo  = sectionsRepo;
 }