예제 #1
0
        public async Task <int> Edit(EditFundInputModel model)
        {
            FundPostDto dto = AutoMapperConfig.MapperInstance.Map <FundPostDto>(model);

            await this.SetForeignKeys(dto, model.Status, model.LegalForm, model.LegalVehicle,
                                      model.LegalType, model.CompanyTypeDesc);

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

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

            await this.sqlManager.ExecuteProcedure(command);

            return(dto.Id);
        }
예제 #2
0
        public async Task <int> Create(CreateFundInputModel model)
        {
            FundPostDto dto = AutoMapperConfig.MapperInstance.Map <FundPostDto>(model);

            dto.EndDate = DateTimeParser.ToSqlFormat(model.EndDate);

            await this.SetForeignKeys(dto, model.Status, model.LegalForm, model.LegalVehicle,
                                      model.LegalType, model.CompanyTypeDesc);

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

            // Assign particular parameters
            command.Parameters.Add(new SqlParameter("@f_endDate", SqlDbType.NVarChar)
            {
                Value = dto.EndDate
            });

            await this.sqlManager.ExecuteProcedure(command);

            var fundId = this.repository.All()
                         .Where(f => f.FOfficialFundName == dto.FundName)
                         .Select(f => f.FId)
                         .FirstOrDefault();

            return(fundId);
        }
예제 #3
0
        public async Task <int> Edit(EditFundInputModel model)
        {
            FundPostDto dto = AutoMapperConfig.MapperInstance.Map <FundPostDto>(model);

            await this.SetForeignKeys(dto, model.Status, model.LegalForm, model.LegalVehicle,
                                      model.LegalType, model.CompanyTypeDesc);

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

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

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

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

            await this.sqlManager.ExecuteProcedure(command);

            return(dto.Id);
        }
예제 #4
0
        private async Task SetForeignKeys(FundPostDto dto, string status,
                                          string legalform, string legalVehicle,
                                          string legalType, string companyType)
        {
            dto.Status = await this.service.GetByIdStatus(status);

            dto.LegalForm = await this.service.GetByIdLegalForm(legalform);

            dto.LegalVehicle = await this.service.GetByIdLegalVehicle(legalVehicle);

            dto.LegalType = await this.service.GetByIdLegalType(legalType);

            dto.CompanyTypeDesc = await this.service.GetByIdCompanyType(companyType);
        }
예제 #5
0
        private SqlCommand AssignBaseParameters(FundPostDto dto, string procedure)
        {
            SqlCommand command = new SqlCommand(procedure);

            command.Parameters.AddRange(new[]
            {
                new SqlParameter("@f_initialDate", SqlDbType.NVarChar)
                {
                    Value = dto.InitialDate
                },
                new SqlParameter("@f_status", SqlDbType.Int)
                {
                    Value = dto.Status
                },
                new SqlParameter("@f_registrationNumber", SqlDbType.NVarChar)
                {
                    Value = dto.RegNumber
                },
                new SqlParameter("@f_officialFundName", SqlDbType.NVarChar)
                {
                    Value = dto.FundName
                },
                new SqlParameter("@f_leiCode", SqlDbType.NVarChar)
                {
                    Value = dto.LEICode
                },
                new SqlParameter("@f_cssfCode", SqlDbType.NVarChar)
                {
                    Value = dto.CSSFCode
                },
                new SqlParameter("@f_faCode", SqlDbType.NVarChar)
                {
                    Value = dto.FACode
                },
                new SqlParameter("@f_depCode", SqlDbType.NVarChar)
                {
                    Value = dto.DEPCode
                },
                new SqlParameter("@f_taCode", SqlDbType.NVarChar)
                {
                    Value = dto.TACode
                },
                new SqlParameter("@f_legalForm", SqlDbType.Int)
                {
                    Value = dto.LegalForm
                },
                new SqlParameter("@f_legalType", SqlDbType.Int)
                {
                    Value = dto.LegalType
                },
                new SqlParameter("@f_legal_vehicle", SqlDbType.Int)
                {
                    Value = dto.LegalVehicle
                },
                new SqlParameter("@f_companyType", SqlDbType.Int)
                {
                    Value = dto.CompanyTypeDesc
                },
                new SqlParameter("@f_tinNumber", SqlDbType.NVarChar)
                {
                    Value = dto.TinNumber
                },
            });
            return(command);
        }
예제 #6
0
        private SqlCommand AssignBaseParameters(FundPostDto 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.Int)
                {
                    Value = dto.Status
                },
                new SqlParameter(parameters[2].Name, SqlDbType.NVarChar)
                {
                    Value = dto.RegNumber
                },
                new SqlParameter(parameters[3].Name, SqlDbType.NVarChar)
                {
                    Value = dto.FundName
                },
                new SqlParameter(parameters[4].Name, SqlDbType.NVarChar)
                {
                    Value = dto.LEICode
                },
                new SqlParameter(parameters[5].Name, SqlDbType.NVarChar)
                {
                    Value = dto.CSSFCode
                },
                new SqlParameter(parameters[6].Name, SqlDbType.NVarChar)
                {
                    Value = dto.FACode
                },
                new SqlParameter(parameters[7].Name, SqlDbType.NVarChar)
                {
                    Value = dto.DEPCode
                },
                new SqlParameter(parameters[8].Name, SqlDbType.NVarChar)
                {
                    Value = dto.TACode
                },
                new SqlParameter(parameters[9].Name, SqlDbType.Int)
                {
                    Value = dto.LegalForm
                },
                new SqlParameter(parameters[10].Name, SqlDbType.Int)
                {
                    Value = dto.LegalType
                },
                new SqlParameter(parameters[11].Name, SqlDbType.Int)
                {
                    Value = dto.LegalVehicle
                },
                new SqlParameter(parameters[12].Name, SqlDbType.Int)
                {
                    Value = dto.CompanyTypeDesc
                },
                new SqlParameter(parameters[13].Name, SqlDbType.NVarChar)
                {
                    Value = dto.TinNumber
                },
                new SqlParameter(parameters[14].Name, SqlDbType.NVarChar)
                {
                    Value = dto.VATRegNumber
                },
                new SqlParameter(parameters[15].Name, SqlDbType.NVarChar)
                {
                    Value = dto.VATIdentificationNumber
                },
                new SqlParameter(parameters[16].Name, SqlDbType.NVarChar)
                {
                    Value = dto.IBICNumber
                },
            });
            return(command);
        }