コード例 #1
0
        public async Task <IActionResult> Update([FromBody] DtoVacancy dto, [FromRoute] long id)
        {
            var template = Mapper.Map <Vacancy>(dto);

            template.Id = id;

            await _context.Vacancies
            .Where(x => x.Id == id)
            .UpdateFromQueryAsync(_ => template)
            .ConfigureAwait(false);

            return(Ok(id));
        }
コード例 #2
0
        public async Task <IActionResult> Post([FromBody] DtoVacancy dto)
        {
            var entity = Mapper.Map <Vacancy>(dto);

            entity.PublishedAt = DateTime.UtcNow;

            _context.Vacancies.Add(entity);

            await _context
            .SaveChangesAsync()
            .ConfigureAwait(false);

            return(Ok(entity.Id));
        }
コード例 #3
0
        public async Task <Stream> ExportAsync(DtoVacancy vacancy)
        {
            var dict = _modelBuilder.Build(vacancy);

            var result = await _engine.CompileRenderAsync(_viewPath, dict);

            var report = await _reportMVCService.RenderAsync(new RenderRequest()
            {
                Template = new Template
                {
                    Content = result,
                    Engine  = Engine.None,
                    Recipe  = Recipe.ChromePdf
                }
            });

            return(report.Content);
        }
コード例 #4
0
        public IDictionary <string, string> Build(DtoVacancy vacancy)
        {
            var dict = new Dictionary <string, string>();

            dict.Add("Должность", vacancy.Title);
            dict.Add("Город", vacancy.Address?.Area?.Name);
            dict.Add("Улица", vacancy.Address?.Street);
            dict.Add("Номер здания", vacancy.Address?.Building);
            dict.Add("Специализация", string.Join("; ", vacancy.Specializations?.Select(x => x.Name)));
            dict.Add("Дополнительная информация", vacancy.Description);
            dict.Add("Категории водительских прав", string.Join("; ", vacancy.DrivingLicenseTypes?.Select(x => x.Name)));
            dict.Add("Наличие транспорта", vacancy.RequiredVehicle ? "+" : "-");
            dict.Add("Владение языками", string.Join("; ", vacancy.Languages?.Select(x => $"{x.Language.Name}: {x.Level.Name}")));
            dict.Add("Тип занятости", vacancy.Employment?.Name);
            dict.Add("Заработная плата", vacancy.Salary == null ? string.Empty : $"{vacancy.Salary.From} - {vacancy.Salary.To}");
            dict.Add("Валюта", vacancy.Salary?.Currency?.Name);
            dict.Add("Расписание", vacancy.Schedule?.Name);
            dict.Add("Навыки", string.Join("; ", vacancy.KeySkills?.Select(x => x.Name)));
            dict.Add("Работодатель", vacancy.Employer?.Name);
            dict.Add("Сфера деятельности", vacancy.Industry?.Name);

            return(dict);
        }
コード例 #5
0
        public IDictionary <string, string> Build(DtoVacancy vacancy)
        {
            var dict = new Dictionary <string, string>();

            dict.Add("Должность", "Ведущий разработчик");
            dict.Add("Город", "Томск");
            dict.Add("Улица", "Советская");
            dict.Add("Номер здания", "84/3");
            dict.Add("Специализация", "Программирование; Интернет-технологии");
            dict.Add("Дополнительная информация", "");
            dict.Add("Категории водительских прав", "");
            dict.Add("Наличие транспорта", "Нет");
            dict.Add("Владение языками", "Английский: intermediate");
            dict.Add("Тип занятости", "Полная занятость");
            dict.Add("Заработная плата", "100000-150000");
            dict.Add("Валюта", "руб");
            dict.Add("Расписание", "Полный день");
            dict.Add("Навыки", "Asp; .Net; Js; React");
            dict.Add("Работодатель", "Отдел разработки ТПУ");
            dict.Add("Сфера деятельности", "IT");

            return(dict);
        }