예제 #1
0
        public ResultViewModel <JobEditViewModel> Post(JobEditViewModel model)
        {
            ResultViewModel <JobEditViewModel> result
                = new ResultViewModel <JobEditViewModel>();

            try
            {
                if (!ModelState.IsValid)
                {
                    result.Message = "In Valid Model State";
                }
                else
                {
                    JobEditViewModel selectedUser
                        = JobService.Add(model);
                    result.Successed = true;
                    result.Data      = selectedUser;
                }
            }
            catch (Exception ex)
            {
                result.Successed = false;
                result.Message   = "حدث خطأ ما";
            }
            return(result);
        }
예제 #2
0
        public async Task <ActionResult> CreateJob(int planid, JobEditViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(View(model));
            }

            var plan = await this.planManager.FindByIdAsync(planid);

            if (plan == null)
            {
                return(HttpNotFound());
            }

            var job = new Job
            {
                Name         = model.Name,
                Description  = model.Description,
                WorkLocation = model.WorkLocation,
                EducationBackgroundRequirement = model.EducationBakcgroundRequirement,
                DegreeRequirement = model.DegreeRequirement,
                MajorRequirement  = model.MajorRequirement,
            };

            plan.Jobs.Add(job);
            await this.planManager.UpdateAsync(plan);

            return(RedirectToAction("Detail", new { id = plan.Id }));
        }
예제 #3
0
        public async Task <ActionResult> EditJob(int planid, int id)
        {
            var plan = await this.planManager.FindByIdAsync(planid);

            if (plan == null)
            {
                return(HttpNotFound());
            }
            var job = plan.Jobs.FirstOrDefault(j => j.Id == id);

            if (job == null)
            {
                return(HttpNotFound());
            }

            var model = new JobEditViewModel
            {
                Name         = job.Name,
                Description  = job.Description,
                WorkLocation = job.WorkLocation,
                EducationBakcgroundRequirement = job.EducationBackgroundRequirement,
                DegreeRequirement = job.DegreeRequirement,
                MajorRequirement  = job.MajorRequirement,
            };

            return(View(model));
        }
예제 #4
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Title,Description,IsDraft,MinSalary,MaxSalary,WorkingHoursStart,WorkingHoursEnd,HoursPerWeek,HolidayEntitlement,ClosingDate,PublishDate,Id,CreatedDate,UpdatedDate,IsActive,JobBenefitsIds,JobTypeId")] JobEditViewModel jobVM)
        {
            if (id != jobVM.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var job = _mapper.Map <Job>(jobVM);
                    var currentJobBenefits = await _jobBenefitsService.GetJobBenefitsForJobId(job.Id);

                    // Update JobBenefits:
                    await _jobBenefitsService.CreateOrUpdateJobBenefitsForJob(job.Id, currentJobBenefits, jobVM.JobBenefitsIds);

                    await _service.Put(job);

                    return(RedirectToAction(nameof(Index)).WithSuccess("Success", "Job Updated Sucessfully!"));
                }
                catch (Exception ex)
                {
                    return(View(jobVM).WithDanger("Error", ex.Message));
                }
            }
            return(View(jobVM).WithDanger("Error", "Some Errors Occured"));
        }
        public JobEditViewModel Update(JobEditViewModel JobEditViewModel)
        {
            Job Job = JobRepo.Update(JobEditViewModel.ToModel());

            unitOfWork.commit();
            return(Job.ToEditableViewModel());
        }
예제 #6
0
        public ActionResult EditJob(JobModel job)
        {
            if (job.id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (job == null)
            {
                return(HttpNotFound());
            }
            JobEditViewModel model = new JobEditViewModel()
            {
                JobEditid         = job.id,
                TitleJob          = job.Title,
                Coordinate        = job.Coordinate,
                DescriptionJob    = job.Description,
                TypeContractJob   = job.TypeContract,
                TownJob           = job.Town,
                PriceJob          = job.Price,
                StreetJob         = job.Street,
                ActivitySectorJob = job.ActivitySector,
                DateAddJob        = DateTime.Now,
                SearchOrAskJobJob = job.SearchOrAskJob,
                listeImageJob     = job.Images
            };

            return(PartialView(model));
        }
예제 #7
0
        public async Task <ActionResult> EditJob(int planid, int id, JobEditViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(View(model));
            }

            var plan = await this.planManager.FindByIdAsync(planid);

            if (plan == null)
            {
                return(HttpNotFound());
            }

            var job = plan.Jobs.FirstOrDefault(j => j.Id == id);

            if (job == null)
            {
                return(HttpNotFound());
            }

            job.Name         = model.Name;
            job.Description  = model.Description;
            job.WorkLocation = model.WorkLocation;
            job.EducationBackgroundRequirement = model.EducationBakcgroundRequirement;
            job.DegreeRequirement = model.DegreeRequirement;
            job.MajorRequirement  = model.MajorRequirement;

            await this.planManager.UpdateAsync(plan);

            return(RedirectToAction("Detail", new { id = planid }));
        }
 public JobEditWindow(JobDTO job)
 {
     JEViewModel = new JobEditViewModel {
         OriginalJob = job
     };
     InitializeComponent();
     this.DataContext = JEViewModel.EditedJob;
 }
예제 #9
0
        public async Task <ActionResult> EditJob(JobEditViewModel job, ImageModelView userImage)
        {
            if (ModelState.IsValid)
            {
                ProductCoordinateModel coordinate = dal.GetListProduct().FirstOrDefault(m => m.id == job.JobEditid).Coordinate;

                string          userId = User.Identity.GetUserId();
                ApplicationUser user   = dal.GetUserByStrId(userId);
                JobModel        model  = new JobModel()
                {
                    id             = job.JobEditid,
                    Title          = job.TitleJob,
                    Description    = job.DescriptionJob,
                    TypeContract   = job.TypeContractJob,
                    Coordinate     = coordinate,
                    Town           = job.TownJob,
                    Price          = job.PriceJob,
                    Street         = job.StreetJob,
                    ActivitySector = job.ActivitySectorJob,
                    DateAdd        = DateTime.Now,
                    SearchOrAskJob = job.SearchOrAskJobJob,
                    Category       = new CategoryModel {
                        CategoryName = "Emploi"
                    },
                    User = user
                };

                using (var httpClient = new HttpClient())
                {
                    var fullAddress = $"{model.Street}";
                    var response    = await httpClient.GetAsync("https://api.opencagedata.com/geocode/v1/json?q=" + fullAddress + "&key=a196040df44a4a41a471173aed07635c");

                    if (response.IsSuccessStatusCode)
                    {
                        var jsonn = await response.Content.ReadAsStringAsync();

                        var joo  = JObject.Parse(jsonn);
                        var latt = (string)joo["results"][0]["geometry"]["lat"];
                        var lonn = (string)joo["results"][0]["geometry"]["lng"];

                        List <ImageProcductModel> images = ImageEdit(userImage, model);

                        model.Images = images;

                        dal.EditJob(model, latt, lonn);


                        return(RedirectToAction("GetListProductByUser_PartialView", "User"));
                    }
                }
            }
            return(View(job));
        }
예제 #10
0
        public ActionResult Edit(Guid id)
        {
            var job       = _jobService.GetJob(id);
            var viewModel = new JobEditViewModel
            {
                Id           = job.Id,
                OrderNumber  = job.OrderNo,
                AdviceNumber = job.AdviceNo,
                Contact      = job.Contact,
                Instructions = job.Instructions,
                Notes        = job.Notes
            };

            return(View(viewModel));
        }
예제 #11
0
        public ViewResult Edit(int id)
        {
            Job job = _jobRepository.GetJob(id);
            JobEditViewModel jobEditViewModel = new JobEditViewModel

            {
                Id          = job.Id,
                Description = job.Description,
                CompanyName = job.CompanyName,
                Comments    = job.Comments,
                Rating      = job.Rating,
                Title       = job.Title
            };

            return(View(jobEditViewModel));
        }
예제 #12
0
        public async Task <IActionResult> Create(JobEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var jobPosition = new JobPositionModel
            {
                PositionName = model.PositionName,
                PositionCode = model.PositionCode
            };

            await _jobPositionService.AddAsync(jobPosition);

            return(RedirectToAction(nameof(Index)));
        }
예제 #13
0
        public IActionResult Edit(JobEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                Job job = _jobRepository.GetJob(model.Id);
                job.CompanyName = model.CompanyName;
                job.Description = model.Description;
                job.Title       = model.Title;
                job.Rating      = model.Rating;

                _jobRepository.Update(job);
                //add the employee
                //Job newJob = _jobRepository.Update(job);
                return(RedirectToAction("index"));
            }
            return(View());
        }
예제 #14
0
        public IActionResult Create(JobEditViewModel model)
        {
            if (ModelState.IsValid == false)
            {
                return(View(model));
            }

            Job newJob = new Job {
                JobTitle = model.JobTitle, CompanyAppliedTo = model.CompanyAppliedTo, StatusId = model.StatusId, SourceId = model.SourceId, HaveTheyContactedMe = model.HaveTheyContactedMe, URL = model.URL, Skills = model.Skills, DateApplied = model.DateApplied
            };

            unitOfWork.Repository <Job>().Add(newJob);
            unitOfWork.SaveChanges();

            return(RedirectToAction("Details", new { Id = newJob.Id }));
            //return View();
        }
예제 #15
0
        public async Task <IActionResult> Edit(int id)
        {
            var jobPosition = await _jobPositionService.GetByIdAsync(id);

            if (jobPosition == null)
            {
                return(NotFound());
            }

            var editViewModel = new JobEditViewModel
            {
                PositionId   = jobPosition.PositionId,
                PositionName = jobPosition.PositionName,
                PositionCode = jobPosition.PositionCode
            };

            return(View(editViewModel));
        }
예제 #16
0
        public IActionResult Create()
        {
            var sources = unitOfWork.Repository <Source>().GetAll().Select(u => new SelectListItem
            {
                Text  = u.Description,
                Value = u.Id.ToString()
            });

            var statuses = unitOfWork.Repository <Status>().GetAll().Select(u => new SelectListItem
            {
                Text  = u.Description,
                Value = u.Id.ToString()
            });
            var model = new JobEditViewModel {
                Statuses = statuses, Sources = sources, DateApplied = DateTime.Now
            };

            return(View(model));
        }
예제 #17
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="planid">Recruitment plan id.</param>
        /// <returns></returns>
        public async Task <ActionResult> CreateJob(int planid)
        {
            var plan = await this.planManager.FindByIdAsync(planid);

            if (plan == null)
            {
                return(HttpNotFound());
            }

            var model = new JobEditViewModel
            {
                WorkLocation = "聘用时分配",
                EducationBakcgroundRequirement = "本科\r\n硕士研究生\r\n博士研究生",
                DegreeRequirement = "学士\r\n硕士\r\n博士\r\n",
                MajorRequirement  = "不限",
            };

            return(View(model));
        }
        public async Task <IActionResult> Update(JobEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            // TODO: add converters
            var job = new Job
            {
                JobId               = model.JobId,
                CompanyName         = model.CompanyName,
                Description         = model.Description,
                KMWebLink           = model.KMWebLink,
                OfficialSiteWebLink = model.OfficialSiteWebLink,
                IsActive            = model.IsActive
            };
            await jobRepository.Update(job);

            return(Ok(model));
        }
예제 #19
0
        public IActionResult Edit(int Id)
        {
            var job = unitOfWork.Repository <Job>().Get(x => x.Id == Id);

            var sources = unitOfWork.Repository <Source>().GetAll().Select(u => new SelectListItem
            {
                Text  = u.Description,
                Value = u.Id.ToString()
            });

            var statuses = unitOfWork.Repository <Status>().GetAll().Select(u => new SelectListItem
            {
                Text  = u.Description,
                Value = u.Id.ToString()
            });
            var model = new JobEditViewModel {
                Statuses = statuses, Sources = sources, Id = job.Id, JobTitle = job.JobTitle, StatusId = job.StatusId, SourceId = job.SourceId, HaveTheyContactedMe = job.HaveTheyContactedMe, CompanyAppliedTo = job.CompanyAppliedTo, URL = job.URL, DateApplied = job.DateApplied == null?Convert.ToDateTime(job.DateApplied) : DateTime.Now
            };

            return(View(model));
        }
        public ActionResult CreateJobPosting(JobEditViewModel jevm)
        {
            JobPosting jobPosting = jevm.Item;

            if (ModelState.IsValid)
            {
                if (jevm.JobPostFile != null && jevm.JobPostFile.ContentLength > 0)
                {
                    var jobFolder = "/Content/JobPostings/";
                    var filename  = DateTime.Now.ToBinary().ToString("X") + Path.GetFileName(jevm.JobPostFile.FileName);
                    var path      = Path.Combine(Server.MapPath("~" + jobFolder), filename);
                    jevm.JobPostFile.SaveAs(path);
                    jevm.Item.JobPostingFileName = jobFolder + filename;
                }
                db.JobPostings.Add(jobPosting);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Index"));
        }
예제 #21
0
        // GET: Jobs/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var Job = await _context.Job.FindAsync(id);

            if (Job == null)
            {
                return(NotFound());
            }
            //ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUser, "Id", "Id", Job.ApplicationUserId);

            JobEditViewModel JobEditViewModel = new JobEditViewModel(_context);

            JobEditViewModel.Job = Job;
            return(View(JobEditViewModel));

            //ViewData["CompanyId"] = new SelectList(_context.Company, "CompanyId", "Location", job.CompanyId);
            //ViewData["StatusId"] = new SelectList(_context.Status, "StatusId", "Name", job.StatusId);
            //return View(JobCreateViewModel);
        }
예제 #22
0
        public IActionResult Edit(JobEditViewModel model)
        {
            if (ModelState.IsValid == false)
            {
                return(View(model));
            }

            var job = unitOfWork.Repository <Job>().Get(x => x.Id == model.Id);

            job.JobTitle            = model.JobTitle;
            job.CompanyAppliedTo    = model.CompanyAppliedTo;
            job.SourceId            = model.SourceId;
            job.StatusId            = model.StatusId;
            job.HaveTheyContactedMe = model.HaveTheyContactedMe;
            job.URL         = model.URL;
            job.Skills      = model.Skills;
            job.DateApplied = model.DateApplied;

            unitOfWork.Repository <Job>().Update(job);
            unitOfWork.SaveChanges();

            return(RedirectToAction("Details", new { Id = job.Id }));
            //return View();
        }
예제 #23
0
 public ActionResult Edit(JobEditViewModel model)
 {
     _jobService.Edit(model.Id, model.OrderNumber, model.AdviceNumber, model.Contact, model.Notes, model.Instructions);
     return(RedirectToAction("Details", new { id = model.Id }));
 }
예제 #24
0
        public ViewResult Edit(string id)
        {
            int decryptedId = 0;
            Job job         = null;

            try
            {
                decryptedId = Convert.ToInt32(protector.Unprotect(id));
            }
            catch (Exception)
            {
                Response.StatusCode = 404;
                return(View("JobNotFound", decryptedId));
            }

            if (decryptedId != 0)
            {
                job = _jobRepository.GetJob(decryptedId);

                if (job == null)
                {
                    Response.StatusCode = 404;
                    return(View("JobNotFound", decryptedId));
                }
            }

            JobEditViewModel jobEditViewModel = new JobEditViewModel
            {
                Id             = job.Id,
                EncryptedId    = id,
                Company        = job.Company,
                JobPosition    = job.JobPosition,
                AnnualRate     = job.AnnualRate,
                CommuteCost    = job.CommuteCost,
                Bonus          = job.Bonus,
                JobLink        = job.JobLink,
                Location       = job.Location,
                ContactEmail   = job.ContactEmail,
                ContactName    = job.ContactName,
                ContactPhone   = job.ContactPhone,
                AppliedDate    = job.AppliedDate,
                CloseDate      = job.CloseDate,
                InterviewDate  = job.InterviewDate,
                InterviewDate2 = job.InterviewDate2,
                JobStatus      = job.JobStatus,
                NextStep       = (JobStatus)job.NextStep,
                JobDescription = job.JobDescription,
                Notes          = job.Notes,
                CoverLetter    = job.CoverLetter,
                Feedback       = job.Feedback,
                Expectation    = job.Expectation,
                IsAgency       = job.IsAgency,
                IsHomeOffice   = job.IsHomeOffice,
                IsApprentice   = job.IsApprentice,
                IsPartTime     = job.IsPartTime
            };

            switch (job.JobStatus)
            {
            case JobStatus.None:
                jobEditViewModel.Applied       = false;
                jobEditViewModel.Researched    = false;
                jobEditViewModel.FollowUpSent  = false;
                jobEditViewModel.Interviewed   = false;
                jobEditViewModel.FollowUp2Sent = false;
                jobEditViewModel.Finished      = false;
                break;

            case JobStatus.Applied:
                jobEditViewModel.Applied       = true;
                jobEditViewModel.Researched    = false;
                jobEditViewModel.FollowUpSent  = false;
                jobEditViewModel.Interviewed   = false;
                jobEditViewModel.FollowUp2Sent = false;
                jobEditViewModel.Finished      = false;
                break;

            case JobStatus.Researched:
                jobEditViewModel.Applied       = true;
                jobEditViewModel.Researched    = true;
                jobEditViewModel.FollowUpSent  = false;
                jobEditViewModel.Interviewed   = false;
                jobEditViewModel.FollowUp2Sent = false;
                jobEditViewModel.Finished      = false;
                break;

            case JobStatus.FollowUpSent:
                jobEditViewModel.Applied       = true;
                jobEditViewModel.Researched    = true;
                jobEditViewModel.FollowUpSent  = true;
                jobEditViewModel.Interviewed   = false;
                jobEditViewModel.FollowUp2Sent = false;
                jobEditViewModel.Finished      = false;
                break;

            case JobStatus.Interviewed:
                jobEditViewModel.Applied       = true;
                jobEditViewModel.Researched    = true;
                jobEditViewModel.FollowUpSent  = true;
                jobEditViewModel.Interviewed   = true;
                jobEditViewModel.FollowUp2Sent = false;
                jobEditViewModel.Finished      = false;
                break;

            case JobStatus.FollowUp2Sent:
                jobEditViewModel.Applied       = true;
                jobEditViewModel.Researched    = true;
                jobEditViewModel.FollowUpSent  = true;
                jobEditViewModel.Interviewed   = true;
                jobEditViewModel.FollowUp2Sent = true;
                jobEditViewModel.Finished      = false;
                break;

            case JobStatus.Finished:
                jobEditViewModel.Applied       = true;
                jobEditViewModel.Researched    = true;
                jobEditViewModel.FollowUpSent  = true;
                jobEditViewModel.Interviewed   = true;
                jobEditViewModel.FollowUp2Sent = true;
                jobEditViewModel.Finished      = true;
                break;

            default:
                break;
            }

            return(View(jobEditViewModel));
        }
예제 #25
0
        public void Post(JobEditViewModel model, ApiCall call)
        {
            //JobEditViewModel model = call.Context.Request.Model as JobEditViewModel;

            Job newjob = new Job();

            newjob.Description = model.Description;
            newjob.JobName     = model.Name;
            newjob.WebSiteId   = call.Context.WebSite.Id;
            newjob.Script      = model.Script;
            newjob.CodeId      = model.CodeId;

            // add a new job.
            if (model.IsRepeat)
            {
                RepeatItem <Job> repeatjob = new RepeatItem <Job>();
                repeatjob.Item          = newjob;
                repeatjob.StartTime     = model.StartTime;
                repeatjob.FrequenceUnit = model.FrequenceUnit;

                switch (model.Frequence.ToLower())
                {
                case "month":
                {
                    repeatjob.Frequence = RepeatFrequence.Month;
                    break;
                }

                case "day":
                {
                    repeatjob.Frequence = RepeatFrequence.Day;
                    break;
                }

                case "minutes":
                {
                    repeatjob.Frequence = RepeatFrequence.Minutes;
                    break;
                }

                case "minute":
                {
                    repeatjob.Frequence = RepeatFrequence.Minutes;
                    break;
                }

                case "second":
                {
                    repeatjob.Frequence = RepeatFrequence.Second;
                    break;
                }

                case "week":
                {
                    repeatjob.Frequence = RepeatFrequence.Week;
                    break;
                }

                case "hour":
                {
                    repeatjob.Frequence = RepeatFrequence.Hour;
                    break;
                }

                default:
                    break;
                }

                GlobalDb.RepeatingJob().Add(repeatjob);
                GlobalDb.RepeatingJob().Close();
            }
            else
            {
                GlobalDb.ScheduleJob().Add(newjob, model.StartTime);
                GlobalDb.ScheduleJob().Close();
            }
        }
예제 #26
0
        public IActionResult Edit(JobEditViewModel model)
        {
            Job job = _jobRepository.GetJob(model.Id);

            string EncryptedId = protector.Protect(model.Id.ToString());

            model.EncryptedId = EncryptedId;

            if (ModelState.IsValid)
            {
                job.EncryptedId    = EncryptedId;
                job.Company        = model.Company;
                job.JobPosition    = model.JobPosition;
                job.AnnualRate     = model.AnnualRate;
                job.Bonus          = model.Bonus;
                job.CommuteCost    = model.CommuteCost;
                job.JobLink        = model.JobLink;
                job.Location       = model.Location;
                job.ContactEmail   = model.ContactEmail;
                job.ContactName    = model.ContactName;
                job.ContactPhone   = model.ContactPhone;
                job.AppliedDate    = model.AppliedDate;
                job.CloseDate      = model.CloseDate;
                job.InterviewDate  = model.InterviewDate;
                job.InterviewDate2 = model.InterviewDate2;
                job.JobDescription = model.JobDescription;
                job.Notes          = model.Notes;
                job.CoverLetter    = model.CoverLetter;
                job.Feedback       = model.Feedback;
                job.JobStatus      = model.JobStatus;
                job.Expectation    = model.Expectation;
                job.IsAgency       = model.IsAgency;
                job.IsHomeOffice   = model.IsHomeOffice;
                job.IsApprentice   = model.IsApprentice;
                job.IsPartTime     = model.IsPartTime;

                if (model.Applied == true)
                {
                    job.JobStatus = JobStatus.Applied;
                    job.NextStep  = JobStatus.Research;

                    if (model.Researched == true)
                    {
                        job.JobStatus = JobStatus.Researched;
                        job.NextStep  = JobStatus.SendFollowUPEmail;

                        if (model.FollowUpSent == true)
                        {
                            job.JobStatus = JobStatus.FollowUpSent;
                            job.NextStep  = JobStatus.Interview;

                            if (model.Interviewed == true)
                            {
                                job.JobStatus = JobStatus.Interviewed;
                                job.NextStep  = JobStatus.SendFollowUP2;

                                if (model.FollowUp2Sent == true)
                                {
                                    job.JobStatus = JobStatus.FollowUp2Sent;
                                    job.NextStep  = JobStatus.Finished;

                                    if (model.Finished == true)
                                    {
                                        job.JobStatus = JobStatus.Finished;
                                        job.NextStep  = JobStatus.None;
                                    }
                                }
                            }
                        }
                    }
                }
                if (model.Applied == false)
                {
                    job.JobStatus = JobStatus.None;
                    job.NextStep  = JobStatus.Apply;
                }

                _jobRepository.UpdateJob(job);

                return(RedirectToAction("Details", new { id = EncryptedId }));
            }

            return(View());
        }