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); }
public override Task <AddProposalResponse> Add( AddProposalRequest request, ServerCallContext context) { return(Task.FromResult(new AddProposalResponse { Proposal = repo.Add(request.Proposal) })); }
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)); } }