Exemple #1
0
        public ProposerResponse AddProposal(AddProposalRequest request)
        {
            if (Repository.CheckRepeatTarget(request.Target))
            {
                throw new BusinessException(BusinessResultCode.ProposalRepeat, "该合约正在提案中...");
            }
            var           hour   = _configDataLogic.GetByKey(ConfigDataKey.ProposalExpireHour);
            var           iHour  = int.Parse(hour);
            var           time   = DateTime.UtcNow.AddHours(iHour);
            BlackContract entity = new BlackContract()
            {
                ContractId      = _randomIdRepository.GetContractNum(),
                Desc            = request.Desc,
                ExpireTime      = time,
                ExpireTimestamp = time.ToTimestamp(),
                CreateTime      = DateTime.UtcNow,
                Id            = Guid.NewGuid(),
                Initiator     = request.Initiator,
                ProposalState = (int)EnumProposalState.Add,
                State         = (int)EnumState.Normal,
                Target        = request.Target,
                TransferId    = "",
            };

            Create(entity, out var result);
            ProposerResponse response = new ProposerResponse()
            {
                Id              = entity.Id,
                ContractId      = entity.ContractId,
                ExpireTimestamp = entity.ExpireTimestamp
            };

            return(response);
        }
Exemple #2
0
 public override Task <AddProposalResponse> Add(
     AddProposalRequest request, ServerCallContext context)
 {
     return(Task.FromResult(new AddProposalResponse
     {
         Proposal = repo.Add(request.Proposal)
     }));
 }
Exemple #3
0
 public ExcutedResult <ProposerResponse> AddProposal([FromBody] AddProposalRequest request)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(ExcutedResult <ProposerResponse> .FailedResult(BusinessResultCode.ArgumentError, "参数无效"));
         }
         var result = _blackContractLogic.AddProposal(request);
         return(ExcutedResult <ProposerResponse> .SuccessResult(result));
     }
     catch (BusinessException bex)
     {
         return(ExcutedResult <ProposerResponse> .FailedResult(bex.ErrorCode, bex.Message));
     }
 }