Пример #1
0
        public async Task <int> Edit(EditShareClassInputModel model)
        {
            ShareClassPostDto        dto           = AutoMapperConfig.MapperInstance.Map <ShareClassPostDto>(model);
            ShareClassForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <ShareClassForeignKeysDto>(model);

            await this.SetForeignKeys(dto, dtoForeignKey);

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

            // Assign particular parameters
            command.Parameters.AddRange(new[]
            {
                new SqlParameter("@sc_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("@sc_shortShareClassName", SqlDbType.NVarChar)
                {
                    Value = dto.ShareClassName
                },
            });

            await this.sqlManager.ExecuteProcedure(command);

            return(dto.Id);
        }
Пример #2
0
        public async Task <int> Edit(EditShareClassInputModel model)
        {
            ShareClassPostDto        dto           = AutoMapperConfig.MapperInstance.Map <ShareClassPostDto>(model);
            ShareClassForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <ShareClassForeignKeysDto>(model);

            await this.SetForeignKeys(dto, dtoForeignKey);

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

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

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

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

            await this.sqlManager.ExecuteProcedure(command);

            return(dto.Id);
        }
Пример #3
0
        private async Task SetForeignKeys(ShareClassPostDto dto, ShareClassForeignKeysDto dtoForeignKey)
        {
            dto.Status = await this.repositorySelectList.ByIdStatus(dtoForeignKey.Status);

            dto.ShareType = await this.repositorySelectList.ByIdShareType(dtoForeignKey.ShareType);

            dto.InvestorType = await this.repositorySelectList.ByIdInvestorType(dtoForeignKey.InvestorType);

            dto.CountryIssue = await this.repositorySelectList.ByNameCountry(dtoForeignKey.CountryIssue);

            dto.CountryRisk = await this.repositorySelectList.ByNameCountry(dtoForeignKey.CountryRisk);
        }
Пример #4
0
        public async Task <int> Create(CreateShareClassInputModel model)
        {
            ShareClassPostDto        dto           = AutoMapperConfig.MapperInstance.Map <ShareClassPostDto>(model);
            ShareClassForeignKeysDto dtoForeignKey = AutoMapperConfig.MapperInstance.Map <ShareClassForeignKeysDto>(model);

            dto.EndDate     = DateTimeExtensions.ToSqlFormat(model.EndDate);
            dto.ContainerId = await this.repositoryContainer.All()
                              .Where(f => f.SfOfficialSubFundName == model.SubFundContainer)
                              .Select(fc => fc.SfId)
                              .FirstOrDefaultAsync();

            await this.SetForeignKeys(dto, dtoForeignKey);

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

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

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

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

            await this.sqlManager.ExecuteProcedure(command);

            var subFundId = this.repository.All()
                            .Where(sf => sf.ScOfficialShareClassName == dto.ShareClassName)
                            .Select(sf => sf.ScId)
                            .FirstOrDefault();

            return(subFundId);
        }
Пример #5
0
        private SqlCommand AssignBaseParameters(ShareClassPostDto dto, string procedure)
        {
            SqlCommand command = new SqlCommand(procedure);

            command.Parameters.AddRange(new[]
            {
                new SqlParameter("@sc_initialDate", SqlDbType.NVarChar)
                {
                    Value = dto.InitialDate
                },
                new SqlParameter("@sc_officialShareClassName", SqlDbType.NVarChar)
                {
                    Value = dto.ShareClassName
                },
                new SqlParameter("@sc_investorType", SqlDbType.Int)
                {
                    Value = dto.InvestorType
                },
                new SqlParameter("@sc_shareType", SqlDbType.Int)
                {
                    Value = dto.ShareType
                },
                new SqlParameter("@sc_currency", SqlDbType.NChar)
                {
                    Value = dto.CurrencyCode
                },
                new SqlParameter("@sc_countryIssue", SqlDbType.NChar)
                {
                    Value = dto.CountryIssue
                },
                new SqlParameter("@sc_ultimateParentCountryRisk", SqlDbType.NChar)
                {
                    Value = dto.CountryRisk
                },
                new SqlParameter("@sc_emissionDate", SqlDbType.NVarChar)
                {
                    Value = dto.EmissionDate
                },
                new SqlParameter("@sc_inceptionDate", SqlDbType.NVarChar)
                {
                    Value = dto.InceptionDate
                },
                new SqlParameter("@sc_lastNav", SqlDbType.NVarChar)
                {
                    Value = dto.LastNavDate
                },
                new SqlParameter("@sc_expiryDate", SqlDbType.NVarChar)
                {
                    Value = dto.ExpiryDate
                },
                new SqlParameter("@sc_status", SqlDbType.Int)
                {
                    Value = dto.Status
                },
                new SqlParameter("@sc_initialPrice", SqlDbType.Float)
                {
                    Value = dto.InitialPrice
                },
                new SqlParameter("@sc_accountingCode", SqlDbType.NVarChar)
                {
                    Value = dto.AccountingCode
                },
                new SqlParameter("@sc_hedged", SqlDbType.Bit)
                {
                    Value = dto.IsHedged
                },
                new SqlParameter("@sc_listed", SqlDbType.Bit)
                {
                    Value = dto.IsListed
                },
                new SqlParameter("@sc_bloomberMarket", SqlDbType.NVarChar)
                {
                    Value = dto.BloombergMarket
                },
                new SqlParameter("@sc_bloomberCode", SqlDbType.NVarChar)
                {
                    Value = dto.BloombergCode
                },
                new SqlParameter("@sc_bloomberId", SqlDbType.NVarChar)
                {
                    Value = dto.BloombergId
                },
                new SqlParameter("@sc_isinCode", SqlDbType.NChar, 12)
                {
                    Value = dto.ISINCode
                },
                new SqlParameter("@sc_valorCode", SqlDbType.NVarChar)
                {
                    Value = dto.ValorCode
                },
                new SqlParameter("@sc_faCode", SqlDbType.NVarChar)
                {
                    Value = dto.FACode
                },
                new SqlParameter("@sc_taCode", SqlDbType.NVarChar)
                {
                    Value = dto.TACode
                },
                new SqlParameter("@sc_WKN", SqlDbType.NVarChar)
                {
                    Value = dto.WKN
                },
                new SqlParameter("@sc_date_business_year", SqlDbType.NVarChar, 100)
                {
                    Value = dto.DateBusinessYear
                },
                new SqlParameter("@sc_prospectus_code", SqlDbType.NVarChar, 100)
                {
                    Value = dto.ProspectusCode
                },
            });
            return(command);
        }
Пример #6
0
        private SqlCommand AssignBaseParameters(ShareClassPostDto 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.ShareClassName
                },
                new SqlParameter(parameters[2].Name, SqlDbType.Int)
                {
                    Value = dto.InvestorType
                },
                new SqlParameter(parameters[3].Name, SqlDbType.Int)
                {
                    Value = dto.ShareType
                },
                new SqlParameter(parameters[4].Name, SqlDbType.NChar)
                {
                    Value = dto.CurrencyCode
                },
                new SqlParameter(parameters[5].Name, SqlDbType.NChar)
                {
                    Value = dto.CountryIssue
                },
                new SqlParameter(parameters[6].Name, SqlDbType.NChar)
                {
                    Value = dto.CountryRisk
                },
                new SqlParameter(parameters[7].Name, SqlDbType.NVarChar)
                {
                    Value = dto.EmissionDate
                },
                new SqlParameter(parameters[8].Name, SqlDbType.NVarChar)
                {
                    Value = dto.InceptionDate
                },
                new SqlParameter(parameters[9].Name, SqlDbType.NVarChar)
                {
                    Value = dto.LastNavDate
                },
                new SqlParameter(parameters[10].Name, SqlDbType.NVarChar)
                {
                    Value = dto.ExpiryDate
                },
                new SqlParameter(parameters[11].Name, SqlDbType.Int)
                {
                    Value = dto.Status
                },
                new SqlParameter(parameters[12].Name, SqlDbType.Float)
                {
                    Value = dto.InitialPrice
                },
                new SqlParameter(parameters[13].Name, SqlDbType.NVarChar)
                {
                    Value = dto.AccountingCode
                },
                new SqlParameter(parameters[14].Name, SqlDbType.Bit)
                {
                    Value = dto.IsHedged
                },
                new SqlParameter(parameters[15].Name, SqlDbType.Bit)
                {
                    Value = dto.IsListed
                },
                new SqlParameter(parameters[16].Name, SqlDbType.NVarChar)
                {
                    Value = dto.BloombergMarket
                },
                new SqlParameter(parameters[17].Name, SqlDbType.NVarChar)
                {
                    Value = dto.BloombergCode
                },
                new SqlParameter(parameters[18].Name, SqlDbType.NVarChar)
                {
                    Value = dto.BloombergId
                },
                new SqlParameter(parameters[19].Name, SqlDbType.NChar, 12)
                {
                    Value = dto.ISINCode
                },
                new SqlParameter(parameters[20].Name, SqlDbType.NVarChar)
                {
                    Value = dto.ValorCode
                },
                new SqlParameter(parameters[21].Name, SqlDbType.NVarChar)
                {
                    Value = dto.FACode
                },
                new SqlParameter(parameters[22].Name, SqlDbType.NVarChar)
                {
                    Value = dto.TACode
                },
                new SqlParameter(parameters[23].Name, SqlDbType.NVarChar)
                {
                    Value = dto.WKN
                },
                new SqlParameter(parameters[24].Name, SqlDbType.NVarChar, 100)
                {
                    Value = dto.DateBusinessYear
                },
                new SqlParameter(parameters[25].Name, SqlDbType.NVarChar, 100)
                {
                    Value = dto.ProspectusCode
                },
            });
            return(command);
        }