示例#1
0
        public void ApplyResponse(User user, FundResponseCopyFields fundResponseCopyFields)
        {
            ClientVisit lastClientVisit = clientBusinessLogic.ClientVisit_GetLastClientVisitInGroup(fundResponseCopyFields.ClientVisitGroupId);

            if (lastClientVisit.Status.Id == ClientVisitStatuses.FundError.Id ||
                lastClientVisit.Status.Id == ClientVisitStatuses.Processed.Id ||
                lastClientVisit.Status.Id == ClientVisitStatuses.AnswerPending.Id)
            {
                clientBusinessLogic.ClientVisit_SetStatus(user, lastClientVisit.Id, ClientVisitStatuses.Reconciliation.Id, true);
                lastClientVisit = clientBusinessLogic.ClientVisit_GetLastClientVisitInGroup(fundResponseCopyFields.ClientVisitGroupId);
            }
            else if (lastClientVisit.Status.Id != ClientVisitStatuses.Reconciliation.Id)
            {
                ClientVisit.SaveData newClientVisitData = new ClientVisit.SaveData(lastClientVisit);
                newClientVisitData.Status   = ClientVisitStatuses.Reconciliation.Id;
                newClientVisitData.IsActual = true;
                var saveResult = clientBusinessLogic.ClientVisit_Save(user, newClientVisitData, DateTime.Now);
                lastClientVisit = clientBusinessLogic.ClientVisit_GetLastClientVisitInGroup(fundResponseCopyFields.ClientVisitGroupId);
            }

            if (lastClientVisit.Status.Id == ClientVisitStatuses.Reconciliation.Id)
            {
                FundResponse         response = FundProcessingDao.Instance.FundResponse_Get(fundResponseCopyFields.ResponseId);
                ClientVisit.SaveData data     = ClientVisit.SaveData.BuildSaveData(lastClientVisit);
                response.Apply(data, fundResponseCopyFields.NewFields, fundResponseCopyFields.OldFields);
                clientBusinessLogic.ClientVisit_Save(user, data);
            }
        }
示例#2
0
        public FundResponse AvailableQuote(decimal fundPercentage, decimal availableQuote, int precision)
        {
            var result = new FundResponse();

            if (fundPercentage > 0 && fundPercentage < 100)
            {
                result.QuoteAssetToTrade = decimal.Round(availableQuote * fundPercentage / 100, precision);
            }
            else
            {
                result.QuoteAssetToTrade = decimal.Round(availableQuote, precision);
            }

            return(result);
        }
示例#3
0
        public FundsControllerTest()
        {
            serviceMock = new Mock <IFundsService>();
            mapperMock  = new Mock <IMapper>();
            _controller = new FundsController(serviceMock.Object, mapperMock.Object);

            fundReponseNotFound = new FundResponse("Fund not found");
            fund = new Fund {
                Id = 1, Name = "Fund1", Description = "Description fund 1"
            };
            fundResource = new FundsResource {
                Id = 1, Name = "Fund1", Description = "Description fund 1"
            };
            saveFundResource = new SaveFundsResource {
                Name = "Fund1", Description = "Description fund 1"
            };
            id = 1L;
        }
示例#4
0
        public ValueFundControllerTest()
        {
            serviceMock = new Mock <IValueFundService>();
            mapperMock  = new Mock <IMapper>();
            fundService = new Mock <IFundsService>();
            _controller = new ValueFundController(serviceMock.Object, mapperMock.Object, fundService.Object);

            fund = new Fund {
                Id = 1, Name = "Fund1", Description = "Description fund 1"
            };
            fundReponseNotFound       = new FundResponse("Fund not found");
            valueFundResponseNotFound = new ValueFundResponse("Value fund not found");
            valueFund = new ValueFund {
                Id = 1, DateFund = DateTime.UtcNow, Value = 100, FundId = 1
            };
            valueFundResource = new ValueFundResource {
                Id = 1, DateFund = DateTime.UtcNow, Value = 100, FundId = 1
            };
            id = 1L;
        }