Ejemplo n.º 1
0
        public async Task <ActionResult> ContractDetails(string transactionHash, string fromAddress)
        {
            var ipcClient = new Nethereum.JsonRpc.IpcClient.IpcClient(_getAddress);
            var web3      = new Web3(ipcClient);
            var reciept   = await web3.Eth.Transactions.GetTransactionReceipt.SendRequestAsync(transactionHash);

            var contractAddress = "Contract Creation Transaction not mined yet.";

            if (reciept != null)
            {
                contractAddress = reciept.ContractAddress;
                //var contract = web3.Eth.GetContract(_abi, contractAddress);
                //reciept.
            }

            var model = new ContractDetailsModel()
            {
                TransactionHash = transactionHash,
                ContractAddress = contractAddress,
                //ContractBalance = "0",
                //ContractPrice = "10",
                //DestinationAddress = "0xblahblah",
                State       = "Created",
                FromAddress = fromAddress
            };

            return(View(model));
        }
        public async Task <ApiResponse> Handle(GetContractDetailsByIdQuery request, CancellationToken cancellationToken)
        {
            ApiResponse          response        = new ApiResponse();
            ContractDetailsModel contractDetails = new ContractDetailsModel();

            try
            {
                var ContractDetail = await _dbContext.ContractDetails.AsNoTracking().AsQueryable().Where(x => x.IsDeleted == false && x.ContractId == request.contractId).SingleAsync();

                contractDetails.ActivityTypeId     = ContractDetail.ActivityTypeId;
                contractDetails.ClientName         = ContractDetail.ClientName;
                contractDetails.ContractCode       = ContractDetail.ContractCode;
                contractDetails.ContractId         = ContractDetail.ContractId;
                contractDetails.CurrencyId         = ContractDetail.CurrencyId;
                contractDetails.EndDate            = ContractDetail.EndDate;
                contractDetails.LanguageId         = ContractDetail.LanguageId;
                contractDetails.MediaCategoryId    = ContractDetail.MediaCategoryId;
                contractDetails.MediumId           = ContractDetail.MediumId;
                contractDetails.UnitRateId         = ContractDetail.UnitRateId;
                contractDetails.ClientId           = ContractDetail.ClientId;
                contractDetails.NatureId           = ContractDetail.NatureId;
                contractDetails.QualityId          = ContractDetail.QualityId;
                contractDetails.StartDate          = ContractDetail.StartDate;
                contractDetails.TimeCategoryId     = ContractDetail.TimeCategoryId;
                contractDetails.UnitRate           = ContractDetail.UnitRate;
                contractDetails.IsApproved         = ContractDetail.IsApproved;
                contractDetails.IsDeclined         = ContractDetail.IsDeclined;
                response.data.contractDetailsModel = contractDetails;
                response.StatusCode = 200;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = StaticResource.SomethingWrong + ex.Message;
            }
            return(response);
        }
Ejemplo n.º 3
0
        public async Task <ApiResponse> Handle(AddEditContractDetailCommand request, CancellationToken cancellationToken)
        {
            ApiResponse     response         = new ApiResponse();
            ContractDetails contractDetails  = new ContractDetails();
            long            LatestContractId = 0;
            var             contractcode     = string.Empty;
            ClientDetails   client           = await _dbContext.ClientDetails.FirstOrDefaultAsync(x => x.ClientId == request.ClientId && x.IsDeleted == false);

            request.ClientName = client.ClientName;
            ContractDetailsModel conDetails = new ContractDetailsModel();

            try
            {
                if (request.ContractId == 0)
                {
                    var ContractDetail = _dbContext.ContractDetails
                                         .OrderByDescending(x => x.ContractId)
                                         .FirstOrDefault();
                    if (ContractDetail == null)
                    {
                        LatestContractId = 1;
                        contractcode     = ProjectUtility.GetContractCode(LatestContractId.ToString());
                    }
                    else
                    {
                        LatestContractId = Convert.ToInt32(ContractDetail.ContractId) + 1;
                        contractcode     = ProjectUtility.GetContractCode(LatestContractId.ToString());
                    }
                    ContractDetails obj = new ContractDetails();
                    obj.ContractId      = request.ContractId;
                    obj.ActivityTypeId  = request.ActivityTypeId;
                    obj.ClientName      = request.ClientName;
                    obj.ContractCode    = contractcode;
                    obj.IsDeleted       = false;
                    obj.CreatedById     = request.CreatedById;
                    obj.UnitRateId      = request.UnitRateId == 0 ? null : request.UnitRateId;
                    obj.UnitRate        = request.UnitRate;
                    obj.CreatedDate     = DateTime.Now;
                    obj.CurrencyId      = request.CurrencyId;
                    obj.StartDate       = request.StartDate;
                    obj.EndDate         = request.EndDate;
                    obj.IsCompleted     = false;
                    obj.LanguageId      = request.LanguageId;
                    obj.MediaCategoryId = request.MediaCategoryId;
                    obj.MediumId        = request.MediumId;
                    obj.NatureId        = request.NatureId;
                    obj.QualityId       = request.QualityId;
                    obj.TimeCategoryId  = request.TimeCategoryId;
                    _mapper.Map(request, obj);
                    await _dbContext.ContractDetails.AddAsync(obj);

                    await _dbContext.SaveChangesAsync();

                    conDetails.ActivityTypeId  = obj.ActivityTypeId;
                    conDetails.ClientName      = obj.ClientName;
                    conDetails.ContractCode    = obj.ContractCode;
                    conDetails.ContractId      = obj.ContractId;
                    conDetails.CurrencyId      = obj.CurrencyId;
                    conDetails.EndDate         = obj.EndDate;
                    conDetails.LanguageId      = obj.LanguageId;
                    conDetails.MediaCategoryId = obj.MediaCategoryId;
                    conDetails.MediumId        = obj.MediumId;
                    conDetails.NatureId        = obj.NatureId;
                    conDetails.QualityId       = obj.QualityId;
                    conDetails.StartDate       = obj.StartDate;
                    conDetails.TimeCategoryId  = obj.TimeCategoryId;
                    conDetails.UnitRate        = obj.UnitRate;
                    conDetails.IsApproved      = obj.IsApproved;
                    conDetails.Count           = _dbContext.ContractDetails.Count(x => x.IsDeleted == false);
                    if (obj.IsDeclined == true)
                    {
                        conDetails.IsDeclined = obj.IsDeclined;
                    }
                    if (obj.IsApproved == true)
                    {
                        conDetails.IsApproved = obj.IsApproved;
                    }
                    response.data.contractDetailsModel = conDetails;
                    response.StatusCode = StaticResource.successStatusCode;
                    response.Message    = "Contract added successfully";
                }
                else
                {
                    ContractDetails existRecord = await _dbContext.ContractDetails.FirstOrDefaultAsync(x => x.IsDeleted == false && x.ContractId == request.ContractId);

                    if (existRecord != null)
                    {
                        existRecord.IsCompleted  = true;
                        existRecord.IsDeleted    = false;
                        existRecord.UnitRateId   = request.UnitRateId == 0 ? null : request.UnitRateId;
                        existRecord.UnitRate     = request.UnitRate;
                        existRecord.ModifiedById = request.ModifiedById;
                        existRecord.ModifiedDate = request.ModifiedDate;
                        _mapper.Map(request, existRecord);
                        await _dbContext.SaveChangesAsync();

                        response.data.contractDetailsModel = existRecord;
                        response.StatusCode = StaticResource.successStatusCode;
                        response.Message    = "Contract updated successfully";
                    }
                }
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = StaticResource.SomethingWrong + ex.Message;
            }
            return(response);
        }