public IDictionary <string, string> Build(DtoResume resume) { var dict = new Dictionary <string, string>(); if (resume.Applicant != null) { var applicantDict = CreateApplicantDictionary(resume.Applicant); foreach (var attr in applicantDict) { dict.TryAdd(attr.Key, attr.Value); } } //TODO образование и опыт dict.Add("Должность", resume.Title); dict.Add("Город", resume.Area?.Name); dict.Add("Специализация", string.Join("; ", resume.Specializations?.Select(x => x.Name))); dict.Add("Дополнительная информация", resume.AdditionalInfo); dict.Add("Готовность к командировкам", resume.BusinessTripReadiness?.Name); dict.Add("Гражданство", string.Join("; ", resume.Citizenship?.Select(x => x.Name))); dict.Add("Категории водительских прав", string.Join("; ", resume.DrivingLicenseTypes?.Select(x => x.Name))); dict.Add("Наличие транспорта", resume.HasVehicle ? "+" : "-"); dict.Add("Владение языками", string.Join("; ", resume.Languages?.Select(x => $"{x.Language.Name}: {x.Level.Name}"))); dict.Add("Тип занятости", string.Join("; ", resume.Employments?.Select(x => x.Name))); dict.Add("Возможность переезда", string.Join("; ", resume.RelocationPossibility?.Select(x => $"{x.Area.Name}: {x.RelocationType.Name}"))); dict.Add("Заработная плата", resume.Salary == null ? string.Empty : $"{resume.Salary.From} - {resume.Salary.To}"); dict.Add("Валюта", resume.Salary?.Currency?.Name); dict.Add("Расписание", string.Join("; ", resume.Schedules?.Select(x => x.Name))); dict.Add("Навыки", string.Join("; ", resume.Skills?.Select(x => x.Name))); dict.Add("Разрешение на работу", string.Join("; ", resume.WorkTicket?.Select(x => x.Name))); dict.Add("Время проезда до работы", resume.TravelTime?.Name); return(dict); }
public IDictionary <string, string> Build(DtoResume resume) { var dict = new Dictionary <string, string>(); dict.Add("Должность", "Должность"); dict.Add("Город", "Город"); dict.Add("Специализация", "Специализация"); dict.Add("ФИО", "ФИО"); dict.Add("Дата рождения", "Дата рождения"); dict.Add("Пол", "Пол"); dict.Add("Email", "Email"); return(dict); }
public async Task <IActionResult> Post([FromBody] DtoResume dto) { var entity = Mapper.Map <Resume>(dto); entity.CreatedAt = DateTime.UtcNow; entity.IsPremium = false; _context.Resumes.Add(entity); await _context .SaveChangesAsync() .ConfigureAwait(false); return(Ok(entity.Id)); }
public async Task <IActionResult> Update([FromBody] DtoResume dto, [FromRoute] long id) { var template = Mapper.Map <Resume>(dto); template.UpdatedAt = DateTime.UtcNow; template.CreatedAt = DateTime.UtcNow; template.IsPremium = false; template.Id = id; await _context.Resumes .Where(x => x.Id == id) .UpdateFromQueryAsync(_ => template) .ConfigureAwait(false); return(Ok(id)); }
public async Task <Stream> ExportAsync(DtoResume resume) { var dict = _modelBuilder.Build(resume); 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); }