コード例 #1
0
        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"));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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 }));
        }