private async Task SetForeignKeys(SubFundPostDto dto, SubFundForeignKeysDto dtoForeignKey)
        {
            dto.Status = await this.repositorySelectList.ByIdST(dtoForeignKey.Status);

            dto.CesrClass = await this.repositorySelectList.ByIdCC(dtoForeignKey.CesrClass);

            dto.GeographicalFocus = await this.repositorySelectList.ByIdGF(dtoForeignKey.GeographicalFocus);

            dto.GlobalExposure = await this.repositorySelectList.ByIdGE(dtoForeignKey.GlobalExposure);

            dto.NavFrequency = await this.repositorySelectList.ByIdNF(dtoForeignKey.NavFrequency);

            dto.ValuationDate = await this.repositorySelectList.ByIdVD(dtoForeignKey.ValuationDate);

            dto.CalculationDate = await this.repositorySelectList.ByIdCD(dtoForeignKey.CalculationDate);

            dto.DerivMarket = await this.repositorySelectList.ByIdDM(dtoForeignKey.DerivMarket);

            dto.DerivPurpose = await this.repositorySelectList.ByIdDP(dtoForeignKey.DerivPurpose);

            dto.PrincipalAssetClass = await this.repositorySelectList.ByIdPAC(dtoForeignKey.PrincipalAssetClass);

            dto.TypeOfMarket = await this.repositorySelectList.ByIdTM(dtoForeignKey.TypeOfMarket);

            dto.PrincipalInvestmentStrategy = await this.repositorySelectList.ByIdPIS(dtoForeignKey.PrincipalInvestmentStrategy);

            dto.SfCatMorningStar = await this.repositorySelectList.ByIdCM(dtoForeignKey.SfCatMorningStar);

            dto.SfCatSix = await this.repositorySelectList.ByIdCS(dtoForeignKey.SfCatSix);

            dto.SfCatBloomberg = await this.repositorySelectList.ByIdCB(dtoForeignKey.SfCatBloomberg);
        }
        public async Task <int> Edit(EditSubFundInputModel model)
        {
            SubFundPostDto dto = AutoMapperConfig.MapperInstance.Map <SubFundPostDto>(model);

            SubFundForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <SubFundForeignKeysDto>(model);

            await this.SetForeignKeys(dto, dtoForeignKey);

            SqlCommand command = this.AssignBaseParameters(dto, SqlProcedureDictionary.EditSubFund);

            // Assign particular parameters
            command.Parameters.AddRange(new[]
            {
                new SqlParameter("@sf_id", SqlDbType.Int)
                {
                    Value = dto.Id
                },
                new SqlParameter("@comment", SqlDbType.NVarChar)
                {
                    Value = dto.CommentArea
                },
                new SqlParameter("@comment_title", SqlDbType.NVarChar)
                {
                    Value = dto.CommentTitle
                },
                new SqlParameter("@sf_shortSubFundName ", SqlDbType.NVarChar)
                {
                    Value = dto.SubFundName
                },
            });

            await this.sqlManager.ExecuteProcedure(command);

            return(dto.Id);
        }
示例#3
0
        public async Task <int> Create(CreateSubFundInputModel model)
        {
            SubFundPostDto dto = AutoMapperConfig.MapperInstance.Map <SubFundPostDto>(model);

            SubFundForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <SubFundForeignKeysDto>(model);

            dto.EndDate     = DateTimeExtensions.ToSqlFormat(model.EndDate);
            dto.ContainerId = await this.repositoryContainer.All()
                              .Where(f => f.FOfficialFundName == model.FundContainer)
                              .Select(fc => fc.FId)
                              .FirstOrDefaultAsync();

            await this.SetForeignKeys(dto, dtoForeignKey);

            var parameters = Deserializer.ImportParameters(
                EndpointsConstants.DisplaySub + EndpointsConstants.FundArea + EndpointsConstants.ActionCreate);

            var procedure = StringExtensions.BuildProcedure(
                SqlProcedureDictionary.CreateSubFund, parameters);

            SqlCommand command = this.AssignBaseParameters(dto, procedure, parameters);

            // Assign particular parameters
            command.Parameters.AddRange(new[]
            {
                new SqlParameter(parameters[29].Name, SqlDbType.Int)
                {
                    Value = dto.ContainerId
                },
                new SqlParameter(parameters[30].Name, SqlDbType.NVarChar)
                {
                    Value = dto.EndDate
                },
            });

            await this.sqlManager.ExecuteProcedure(command);

            var subFundId = this.repository.All()
                            .Where(sf => sf.SfOfficialSubFundName == dto.SubFundName)
                            .Select(sf => sf.SfId)
                            .FirstOrDefault();

            return(subFundId);
        }
        public async Task <int> Create(CreateSubFundInputModel model)
        {
            SubFundPostDto dto = AutoMapperConfig.MapperInstance.Map <SubFundPostDto>(model);

            SubFundForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <SubFundForeignKeysDto>(model);

            dto.EndDate     = DateTimeParser.ToSqlFormat(model.EndDate);
            dto.ContainerId = await this.repositoryContainer.All()
                              .Where(f => f.FOfficialFundName == model.FundContainer)
                              .Select(fc => fc.FId)
                              .FirstOrDefaultAsync();

            await this.SetForeignKeys(dto, dtoForeignKey);

            SqlCommand command = this.AssignBaseParameters(dto, SqlProcedureDictionary.CreateSubFund);

            // Assign particular parameters
            // Assign particular parameters
            command.Parameters.AddRange(new[]
            {
                new SqlParameter("@fundcontainer", SqlDbType.Int)
                {
                    Value = dto.ContainerId
                },
                new SqlParameter("@sf_endDate", SqlDbType.NVarChar)
                {
                    Value = dto.EndDate
                },
            });

            await this.sqlManager.ExecuteProcedure(command);

            var subFundId = this.repository.All()
                            .Where(sf => sf.SfOfficialSubFundName == dto.SubFundName)
                            .Select(sf => sf.SfId)
                            .FirstOrDefault();

            return(subFundId);
        }
示例#5
0
        public async Task <int> Edit(EditSubFundInputModel model)
        {
            SubFundPostDto dto = AutoMapperConfig.MapperInstance.Map <SubFundPostDto>(model);

            SubFundForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <SubFundForeignKeysDto>(model);

            await this.SetForeignKeys(dto, dtoForeignKey);

            var parameters = Deserializer.ImportParameters(
                EndpointsConstants.DisplaySub + EndpointsConstants.FundArea + EndpointsConstants.ActionEdit);

            var procedure = StringExtensions.BuildProcedure(
                SqlProcedureDictionary.EditSubFund, parameters);

            SqlCommand command = this.AssignBaseParameters(dto, procedure, parameters);

            // Assign particular parameters
            command.Parameters.AddRange(new[]
            {
                new SqlParameter(parameters[29].Name, SqlDbType.Int)
                {
                    Value = dto.Id
                },
                new SqlParameter(parameters[30].Name, SqlDbType.NVarChar)
                {
                    Value = dto.CommentArea
                },
                new SqlParameter(parameters[31].Name, SqlDbType.NVarChar)
                {
                    Value = dto.CommentTitle
                },
            });

            await this.sqlManager.ExecuteProcedure(command);

            return(dto.Id);
        }
        private SqlCommand AssignBaseParameters(SubFundPostDto dto, string procedure)
        {
            SqlCommand command = new SqlCommand(procedure);

            command.Parameters.AddRange(new[]
            {
                new SqlParameter("@sf_initialDate", SqlDbType.NVarChar)
                {
                    Value = dto.InitialDate
                },
                new SqlParameter("@sf_officialSubFundName", SqlDbType.NVarChar)
                {
                    Value = dto.SubFundName
                },
                new SqlParameter("@sf_cssfCode", SqlDbType.NVarChar)
                {
                    Value = dto.CSSFCode
                },
                new SqlParameter("@sf_faCode", SqlDbType.NVarChar)
                {
                    Value = dto.FACode
                },
                new SqlParameter("@sf_taCode", SqlDbType.NVarChar)
                {
                    Value = dto.TACode
                },
                new SqlParameter("@sf_depCode", SqlDbType.NVarChar)
                {
                    Value = dto.DBCode
                },
                new SqlParameter("@sf_firstNavDate", SqlDbType.NVarChar)
                {
                    Value = dto.FirstNavDate
                },
                new SqlParameter("@sf_lastNavDate", SqlDbType.NVarChar)
                {
                    Value = dto.LastNavDate
                },
                new SqlParameter("@sf_cssfAuthDate", SqlDbType.NVarChar)
                {
                    Value = dto.CSSFAuthDate
                },
                new SqlParameter("@sf_expDate", SqlDbType.NVarChar)
                {
                    Value = dto.ExpiryDate
                },
                new SqlParameter("@sf_status", SqlDbType.Int)
                {
                    Value = dto.Status
                },
                new SqlParameter("@sf_leiCode", SqlDbType.NVarChar)
                {
                    Value = dto.LEICode
                },
                new SqlParameter("@sf_cesrClass", SqlDbType.Int)
                {
                    Value = dto.CesrClass
                },
                new SqlParameter("@sf_cssf_geographical_focus", SqlDbType.Int)
                {
                    Value = dto.GeographicalFocus
                },
                new SqlParameter("@sf_globalExposure", SqlDbType.Int)
                {
                    Value = dto.GlobalExposure
                },
                new SqlParameter("@sf_currency", SqlDbType.NChar)
                {
                    Value = dto.CurrencyCode
                },
                new SqlParameter("@sf_navFrequency", SqlDbType.Int)
                {
                    Value = dto.NavFrequency
                },
                new SqlParameter("@sf_valutationDate", SqlDbType.Int)
                {
                    Value = dto.ValuationDate
                },
                new SqlParameter("@sf_calculationDate", SqlDbType.Int)
                {
                    Value = dto.CalculationDate
                },
                new SqlParameter("@sf_derivatives", SqlDbType.Bit)
                {
                    Value = dto.AreDerivatives
                },
                new SqlParameter("@sf_derivMarket", SqlDbType.Int)
                {
                    Value = dto.DerivMarket
                },
                new SqlParameter("@sf_derivPurpose", SqlDbType.Int)
                {
                    Value = dto.DerivPurpose
                },
                new SqlParameter("@sf_principal_asset_class", SqlDbType.Int)
                {
                    Value = dto.PrincipalAssetClass
                },
                new SqlParameter("@sf_type_of_market", SqlDbType.Int)
                {
                    Value = dto.TypeOfMarket
                },
                new SqlParameter("@sf_principal_investment_strategy", SqlDbType.Int)
                {
                    Value = dto.PrincipalInvestmentStrategy
                },
                new SqlParameter("@sf_clearing_code", SqlDbType.NVarChar)
                {
                    Value = dto.ClearingCode
                },
                new SqlParameter("@sf_cat_morningstar", SqlDbType.Int)
                {
                    Value = dto.SfCatMorningStar
                },
                new SqlParameter("@sf_category_six", SqlDbType.Int)
                {
                    Value = dto.SfCatSix
                },
                new SqlParameter("@sf_category_bloomberg", SqlDbType.Int)
                {
                    Value = dto.SfCatBloomberg
                },
            });
            return(command);
        }
示例#7
0
        private SqlCommand AssignBaseParameters(SubFundPostDto dto, string procedure, List <Parameter> parameters)
        {
            SqlCommand command = new SqlCommand(procedure);

            command.Parameters.AddRange(new[]
            {
                new SqlParameter(parameters[0].Name, SqlDbType.NVarChar)
                {
                    Value = dto.InitialDate
                },
                new SqlParameter(parameters[1].Name, SqlDbType.NVarChar)
                {
                    Value = dto.SubFundName
                },
                new SqlParameter(parameters[2].Name, SqlDbType.NVarChar)
                {
                    Value = dto.CSSFCode
                },
                new SqlParameter(parameters[3].Name, SqlDbType.NVarChar)
                {
                    Value = dto.FACode
                },
                new SqlParameter(parameters[4].Name, SqlDbType.NVarChar)
                {
                    Value = dto.TACode
                },
                new SqlParameter(parameters[5].Name, SqlDbType.NVarChar)
                {
                    Value = dto.DBCode
                },
                new SqlParameter(parameters[6].Name, SqlDbType.NVarChar)
                {
                    Value = dto.FirstNavDate
                },
                new SqlParameter(parameters[7].Name, SqlDbType.NVarChar)
                {
                    Value = dto.LastNavDate
                },
                new SqlParameter(parameters[8].Name, SqlDbType.NVarChar)
                {
                    Value = dto.CSSFAuthDate
                },
                new SqlParameter(parameters[9].Name, SqlDbType.NVarChar)
                {
                    Value = dto.ExpiryDate
                },
                new SqlParameter(parameters[10].Name, SqlDbType.Int)
                {
                    Value = dto.Status
                },
                new SqlParameter(parameters[11].Name, SqlDbType.NVarChar)
                {
                    Value = dto.LEICode
                },
                new SqlParameter(parameters[12].Name, SqlDbType.Int)
                {
                    Value = dto.CesrClass
                },
                new SqlParameter(parameters[13].Name, SqlDbType.Int)
                {
                    Value = dto.GeographicalFocus
                },
                new SqlParameter(parameters[14].Name, SqlDbType.Int)
                {
                    Value = dto.GlobalExposure
                },
                new SqlParameter(parameters[15].Name, SqlDbType.NChar)
                {
                    Value = dto.CurrencyCode
                },
                new SqlParameter(parameters[16].Name, SqlDbType.Int)
                {
                    Value = dto.NavFrequency
                },
                new SqlParameter(parameters[17].Name, SqlDbType.Int)
                {
                    Value = dto.ValuationDate
                },
                new SqlParameter(parameters[18].Name, SqlDbType.Int)
                {
                    Value = dto.CalculationDate
                },
                new SqlParameter(parameters[19].Name, SqlDbType.Bit)
                {
                    Value = dto.AreDerivatives
                },
                new SqlParameter(parameters[20].Name, SqlDbType.Int)
                {
                    Value = dto.DerivMarket
                },
                new SqlParameter(parameters[21].Name, SqlDbType.Int)
                {
                    Value = dto.DerivPurpose
                },
                new SqlParameter(parameters[22].Name, SqlDbType.Int)
                {
                    Value = dto.PrincipalAssetClass
                },
                new SqlParameter(parameters[23].Name, SqlDbType.Int)
                {
                    Value = dto.TypeOfMarket
                },
                new SqlParameter(parameters[24].Name, SqlDbType.Int)
                {
                    Value = dto.PrincipalInvestmentStrategy
                },
                new SqlParameter(parameters[25].Name, SqlDbType.NVarChar)
                {
                    Value = dto.ClearingCode
                },
                new SqlParameter(parameters[26].Name, SqlDbType.Int)
                {
                    Value = dto.SfCatMorningStar
                },
                new SqlParameter(parameters[27].Name, SqlDbType.Int)
                {
                    Value = dto.SfCatSix
                },
                new SqlParameter(parameters[28].Name, SqlDbType.Int)
                {
                    Value = dto.SfCatBloomberg
                },
            });
            return(command);
        }