public async Task CreateNewJob(CreateEditJobParams createEditJobParams) { Utils.CheckNullOrEmpty(new List<string> { "JobName", "JobType", "JobDescription", "EducationLevel", "FieldOfStudy", "Language", "Certification", "MinimumGrade", "IsStartWorkImmediately", "ExperienceLevel", "StartWorkingAt", "EndWorkingAt", "StartDate", "HoursPerDay", "DayPerWeek", "DayPerMonth", "GenderRequired", "MinSalary", "MaxSalary", "IsSalaryIncludeMealAndBreakTime" }, createEditJobParams.JobName, createEditJobParams.JobType, createEditJobParams.JobDescription, createEditJobParams.Location, createEditJobParams.EducationLevel, createEditJobParams.FieldOfStudy, createEditJobParams.Language, createEditJobParams.Certification, createEditJobParams.MinimumGrade, createEditJobParams.IsStartWorkImmediately, createEditJobParams.ExperienceLevel, createEditJobParams.StartWorkingAt, createEditJobParams.EndWorkingAt, createEditJobParams.StartDate, createEditJobParams.HoursPerDay, createEditJobParams.DayPerWeek, createEditJobParams.DayPerMonth, createEditJobParams.GenderRequired, createEditJobParams.MinSalary, createEditJobParams.MaxSalary, createEditJobParams.IsSalaryIncludeMealAndBreakTime); using (AppDbContext context = new AppDbContext()) { User user = await GetCurrentUser(context); if (user.UserType == UserType.Employer) { Job job = new Job { Id = Guid.NewGuid(), EmployerId = _userId, LanguageId = createEditJobParams.Language.Id, JobName = createEditJobParams.JobName, JobType = createEditJobParams.JobType, MinSalary = createEditJobParams.MinSalary, MaxSalary = createEditJobParams.MaxSalary, ExtraSalary = createEditJobParams.ExtraSalary, StartDate = createEditJobParams.StartDate, EndDate = createEditJobParams.EndDate, JobStartDate = createEditJobParams.JobStartDate, JobDescription = createEditJobParams.JobDescription, IsStartWorkImmediately = createEditJobParams.IsStartWorkImmediately, StartWorkingAt = createEditJobParams.StartWorkingAt, EndWorkingAt = createEditJobParams.EndWorkingAt, AvailableDate = DateTime.UtcNow, HoursPerDay = createEditJobParams.HoursPerDay, DayPerWeek = createEditJobParams.DayPerWeek, DayPerMonth = createEditJobParams.DayPerMonth, GenderRequired = createEditJobParams.GenderRequired, IsSalaryIncludeMealAndBreakTime = createEditJobParams.IsSalaryIncludeMealAndBreakTime, CreatedDateUtc = DateTime.UtcNow, UpdatedDateUtc = DateTime.UtcNow, LocationId = createEditJobParams.Location.Id }; context.Jobs.Add(job); Education education = new Education { Id = Guid.NewGuid(), EducationLevel = createEditJobParams.EducationLevel, FieldOfStudyId = createEditJobParams.FieldOfStudy.Id, Certification = createEditJobParams.Certification, MinimumGrade = createEditJobParams.MinimumGrade, ExperienceLevel = createEditJobParams.ExperienceLevel, JobId = job.Id }; context.Educations.Add(education); await context.SaveChangesAsync(); } else { throw new UserException(ErrorCode.NO_PERMISSION.ToString()); } } }
public async Task<ApiJsonResult> UpdateJob(CreateEditJobParams createEditJobParams) { try { await new JobManager(GetCurrentUserId()).UpdateJob(createEditJobParams); return new ApiJsonResult { Success = true }; } catch (Exception ex) { return ProcessException(ex); } }
public async Task UpdateJob(CreateEditJobParams createEditJobParams) { Utils.CheckNullOrEmpty(new List<string> { "JobId", "JobName", "JobType", "JobDescription", "EducationLevel", "FieldOfStudy", "Language", "Certification", "MinimumGrade", "IsStartWorkImmediately", "ExperienceLevel", "StartWorkingAt", "EndWorkingAt", "StartDate", "HoursPerDay", "DayPerWeek", "DayPerMonth", "GenderRequired", "MinSalary", "MaxSalary", "IsSalaryIncludeMealAndBreakTime" }, createEditJobParams.JobID, createEditJobParams.JobName, createEditJobParams.JobType, createEditJobParams.JobDescription, createEditJobParams.Location, createEditJobParams.EducationLevel, createEditJobParams.FieldOfStudy, createEditJobParams.Language, createEditJobParams.Certification, createEditJobParams.MinimumGrade, createEditJobParams.IsStartWorkImmediately, createEditJobParams.ExperienceLevel, createEditJobParams.StartWorkingAt, createEditJobParams.EndWorkingAt, createEditJobParams.StartDate, createEditJobParams.HoursPerDay, createEditJobParams.DayPerWeek, createEditJobParams.DayPerMonth, createEditJobParams.GenderRequired, createEditJobParams.MinSalary, createEditJobParams.MaxSalary, createEditJobParams.IsSalaryIncludeMealAndBreakTime); using (AppDbContext context = new AppDbContext()) { Job job = await context.Jobs.FirstOrDefaultAsync(p => p.Id == createEditJobParams.JobID); Education education = await context.Educations.FirstOrDefaultAsync(p => p.JobId == createEditJobParams.JobID); if (job == null || education == null) { throw new UserException(ErrorCode.INVALID_SESSION.ToString()); } job.LanguageId = createEditJobParams.Language.Id; job.JobName = createEditJobParams.JobName; job.JobType = createEditJobParams.JobType; job.MinSalary = createEditJobParams.MinSalary; job.MaxSalary = createEditJobParams.MaxSalary; job.ExtraSalary = createEditJobParams.ExtraSalary; job.StartDate = createEditJobParams.StartDate; job.EndDate = createEditJobParams.EndDate; job.JobStartDate = createEditJobParams.JobStartDate; job.JobDescription = createEditJobParams.JobDescription; job.IsStartWorkImmediately = createEditJobParams.IsStartWorkImmediately; job.StartWorkingAt = createEditJobParams.StartWorkingAt; job.EndWorkingAt = createEditJobParams.EndWorkingAt; job.HoursPerDay = createEditJobParams.HoursPerDay; job.DayPerWeek = createEditJobParams.DayPerWeek; job.DayPerMonth = createEditJobParams.DayPerMonth; job.GenderRequired = createEditJobParams.GenderRequired; job.IsSalaryIncludeMealAndBreakTime = createEditJobParams.IsSalaryIncludeMealAndBreakTime; job.UpdatedDateUtc = DateTime.UtcNow; job.LocationId = createEditJobParams.Location.Id; education.EducationLevel = createEditJobParams.EducationLevel; education.FieldOfStudyId = createEditJobParams.FieldOfStudy.Id; education.Certification = createEditJobParams.Certification; education.MinimumGrade = createEditJobParams.MinimumGrade; education.ExperienceLevel = createEditJobParams.ExperienceLevel; await context.SaveChangesAsync(); } }