public ActionResult VacancyCreate(CreateVacancyViewModel model) { using (var context = new ApplicationDbContext()) { if (ModelState.IsValid) { Vacancy vacancy = new Vacancy(); //string userId = System.Web.HttpContext.Current.User.Identity.GetUserId(); //vacancy.UserID = userId; vacancy.Name = model.Name; vacancy.Description = model.Description; context.Vacancies.Add(vacancy); context.SaveChanges(); } } ViewBag.ResultMessage = "Vacancy created successfully !"; return(RedirectToAction("VacancyIndex", "Vacancy")); }
public ActionResult Create() { var cities = dbContext.Cities.Select(city => new CityViewModel() { CityName = city.Name, Id = city.Id }).ToList(); var fieldsActivity = dbContext.FieldActivities.Select(field => new FieldActivityViewModel() { Name = field.Name, Id = field.Id }).ToList(); var employments = dbContext.Employments.Include(v => v.Vacancies).Select(field => new EmploymentViewModel() { Id = field.Id, NameField = field.Name }).ToList(); var listExpOfWork = dbContext.ExperienceOfWorks.Include(v => v.Vacancies).Select(field => new ExperienceOfWorkViewModel() { Id = field.Id, NameField = field.NameField }).ToList(); var model = new CreateVacancyViewModel() { Cities = cities, Fields = fieldsActivity, Employments = employments, ExperienceOfWorks = listExpOfWork, // EmployerId = employer.Id }; return(View("/Arrea/Employer/Views/Vacancy/CreateVacancy.cshtml", model)); }
public ActionResult Create(CreateVacancyViewModel model) { // Employer IDENTITY var userName = this.HttpContext.User.Identity.Name; var employer = dbContext.Employers.Include(e => e.AccountUser) .Include(e => e.Contact) .Include(e => e.Company) .Include(e => e.Vacancies).FirstOrDefault(x => x.AccountUser.UserName == userName); // ---------------- Company data ---------------------- //var company = repoComp.GetAll().Include(c => c.Employers).ThenInclude(c => c.Vacancies) // .ThenInclude(c => c.Employer) // .FirstOrDefault(comp => comp.Id == employer.CompanyId); var city = dbContext.Cities.Include(i => i.Vacancies) .Include(i => i.Companies) .Include(i => i.Candidates).FirstOrDefault(c => c.Id == model.CityId); var fieldActivity = dbContext.FieldActivities.Include(f => f.Vacancies) .Include(f => f.Resumes).FirstOrDefault(x => x.Id == model.FieldActivityId); var employment = dbContext.Employments.Include(e => e.Vacancies) .FirstOrDefault(e => e.Vacancies.Select(i => i.Id == model.EmploymentId) != null); var expOfWork = dbContext.ExperienceOfWorks.Include(e => e.Vacancies).FirstOrDefault(ex => ex.Id == model.ExperienceOfWorkId); var newVacancy = new Vacancy(); newVacancy.Id = Guid.NewGuid(); newVacancy.Name = model.Name; newVacancy.Wage = model.Salary; newVacancy.DateCreate = DateTime.Now; // toDo DataPublication if (fieldActivity != null) { newVacancy.FieldActivity = fieldActivity; } if (employer != null) { newVacancy.Employer = employer; } if (city != null) { newVacancy.City = city; } if (employment != null) { newVacancy.TypeEmployment = employment; } if (expOfWork != null) { newVacancy.ExperienceOfWork = expOfWork; } newVacancy.Description = model.Description; newVacancy.Requirement = model.Requirement; newVacancy.Responsibilities = model.Responsibilitie; newVacancy.ForeignLanguages = model.ForeignLanguages; if (model.UseCompanyContact == false && model.UsePersonalContact == false) { newVacancy.EmailPerson = model.EmailContactPerson; newVacancy.PhoneNumberPerson = model.PhoneNumberContactPerson; newVacancy.ContactNamePerson = model.ContactPerson; } else if (model.UsePersonalContact == true) { newVacancy.ContactNamePerson = employer.Contact.Email; newVacancy.PhoneNumberPerson = employer.Contact.Phone; newVacancy.EmailPerson = employer.Contact.Email; newVacancy.IsUsePersonalContact = model.UsePersonalContact; } else if (model.UseCompanyContact == true) { newVacancy.ContactNamePerson = employer.Company.Email; newVacancy.PhoneNumberPerson = employer.Company.PhoneNumber; newVacancy.EmailPerson = employer.Company.Email; newVacancy.IsUseCompanyContact = model.UseCompanyContact; } newVacancy.Status = "Архів"; dbContext.Vacancies.Add(newVacancy); dbContext.SaveChanges(); return(RedirectToAction(nameof(EditVacancy), new { vacancyId = newVacancy.Id })); }