// GET: Admin/Jobs/Edit/5 public async Task <IActionResult> Edit(int?id) { var vm = new JobIM(); if (id == null) { vm.Active = true; vm.Number = 1; } else { var article = await _context.Jobs.FindAsync(id); if (article == null) { return(NotFound()); } vm = _mapper.Map <JobIM>(article); var pm = await _context.PageMetas.FirstOrDefaultAsync(d => d.ModuleType == (short)ModuleType.JOB && d.ObjectId == vm.Id.ToString()); if (pm != null) { vm.SEOTitle = pm.Title; vm.SEOKeywords = pm.Keywords; vm.SEODescription = pm.Description; } } var categories = await _context.JobCategories.AsNoTracking() .OrderByDescending(d => d.Importance).ToListAsync(); ViewData["Categories"] = new SelectList(categories, "Id", "Title"); var branches = await _context.Branches.AsNoTracking() .OrderByDescending(d => d.Importance).ToListAsync(); ViewData["Branches"] = new SelectList(branches, "Id", "Name"); return(View(vm)); }
//// GET: Admin/Jobs/Create //public ActionResult Create() //{ // JobIM job = new JobIM() // { // Active = true // }; // return PartialView("_Create", job); //} //[HttpPost] //[ValidateAntiForgeryToken] //[ValidateInput(false)] //public async System.Threading.Tasks.Task<JsonResult> Create(JobIM job) //{ // if (!ModelState.IsValid) // { // AR.Setfailure(GetModelErrorMessage()); // return Json(AR, JsonRequestBehavior.DenyGet); // } // //try // //{ // var newJob = _mapper.Map<JobIM, Job>(job); // var result = _db.Jobs.Add(newJob); // _db.SaveChanges(); // if (result!=null) // { // var pageMeta = new PageMetaSet() // { // ObjectId = result.ToString(), // Title = string.IsNullOrEmpty(job.SEOTitle) ? job.Post : job.SEOTitle, // Keyword = string.IsNullOrEmpty(job.Keywords) ? job.Post : job.Keywords.Replace(',', ','), // Description = job.SEODescription, // ModelType = (short)ModelType.JOB // }; // // _pageMetaServices.Create(pageMeta); // _db.PageMetas.Add(pageMeta); // _db.SaveChanges(); // } // int pageSize = SettingsManager.Job.PageSize; // var list = await _db.Jobs.OrderByDescending(d => d.Importance).Take(pageSize).ProjectTo<JobVM>().ToListAsync(); // //_jobServices.GetJobdElements(0, pageSize, string.Empty, out count); // AR.Data = RenderPartialViewToString("_JobList", list); // AR.SetSuccess(String.Format(Messages.AlertCreateSuccess, EntityNames.Job)); // return Json(AR, JsonRequestBehavior.DenyGet); // //} // //catch (Exception er) // //{ // // AR.Setfailure(er.Message); // // return Json(AR, JsonRequestBehavior.DenyGet); // //} //} // GET: Admin/Jobs/Edit/5 public async Task <ActionResult> Edit(int?id) { var vm = new JobIM { Active = true, Importance = 0 }; if (id > 0) { var vAchi = await _db.Jobs.FindAsync(id); if (vAchi == null) { AR.Setfailure(Messages.HttpNotFound); return(Json(AR, JsonRequestBehavior.AllowGet)); } vm = _mapper.Map <Job, JobIM>(vAchi); //var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == (short)ModelType.JOB && d.ObjectId == editJob.Id.ToString()); // //_pageMetaServices.GetPageMeta(ModelType.JOB, editJob.Id.ToString()); //if (pageMeta != null) //{ // editJob.SEOTitle = pageMeta.Title; // editJob.Keywords = pageMeta.Keyword; // editJob.SEODescription = pageMeta.Description; //} } var dictionaries = await _db.Dictionaries.Where(d => d.TypeId == 2).OrderByDescending(m => m.Importance).ToListAsync(); ViewBag.Categories = new SelectList(dictionaries, "Title", "Title"); return(View(vm)); }
public async Task <ActionResult> Edit(JobIM vm) { if (!ModelState.IsValid) { AR.Setfailure(GetModelErrorMessage()); return(Json(AR, JsonRequestBehavior.DenyGet)); } try { // var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == (short)ModelType.JOB && d.ObjectId == editJob.Id.ToString()); // //_pageMetaServices.GetPageMeta(ModelType.PAGE, editJob.Id.ToString()); // pageMeta = pageMeta ?? new PageMetaSet(); // pageMeta.ObjectId = page.Id.ToString(); // pageMeta.Title = string.IsNullOrEmpty(page.SEOTitle) ? page.Post : page.SEOTitle; // pageMeta.Keyword = string.IsNullOrEmpty(page.Keywords) ? page.Post : page.Keywords.Replace(',', ','); // pageMeta.Description = page.SEODescription; // pageMeta.ModelType = (short)ModelType.JOB; if (vm.Id > 0) { var job = await _db.Jobs.FindAsync(vm.Id); job = _mapper.Map(vm, job); job.UpdatedBy = Site.CurrentUserName; job.UpdatedDate = DateTime.Now; _db.Entry(job).State = EntityState.Modified; //_db.Entry(pageMeta).State = EntityState.Modified; await _db.SaveChangesAsync(); AR.SetSuccess(String.Format(Messages.AlertUpdateSuccess, EntityNames.Job)); return(Json(AR, JsonRequestBehavior.DenyGet)); } else { var newJob = _mapper.Map <JobIM, Job>(vm); newJob.CreatedBy = Site.CurrentUserName; newJob.CreatedDate = DateTime.Now; _db.Jobs.Add(newJob); await _db.SaveChangesAsync(); //_db.PageMetas.Add(pageMeta); //await _db.SaveChangesAsync(); AR.SetSuccess(String.Format(Messages.AlertCreateSuccess, EntityNames.Job)); return(Json(AR, JsonRequestBehavior.DenyGet)); } } catch (Exception er) { AR.Setfailure(er.Message); return(Json(AR, JsonRequestBehavior.DenyGet)); } //if (!ModelState.IsValid) //{ // AR.Setfailure(GetModelErrorMessage()); // return Json(AR, JsonRequestBehavior.DenyGet); //} //try //{ // var old = await _db.Jobs.FindAsync(page.Id); // var editJob = _mapper.Map(page, old); // _db.Entry(editJob).State = EntityState.Modified; // await _db.SaveChangesAsync(); // // _jobServices.Update(editJob); // var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == (short)ModelType.JOB && d.ObjectId == editJob.Id.ToString()); // //_pageMetaServices.GetPageMeta(ModelType.PAGE, editJob.Id.ToString()); // pageMeta = pageMeta ?? new PageMetaSet(); // pageMeta.ObjectId = page.Id.ToString(); // pageMeta.Title = string.IsNullOrEmpty(page.SEOTitle) ? page.Post : page.SEOTitle; // pageMeta.Keyword = string.IsNullOrEmpty(page.Keywords) ? page.Post : page.Keywords.Replace(',', ','); // pageMeta.Description = page.SEODescription; // pageMeta.ModelType = (short)ModelType.JOB; // if (pageMeta.Id > 0) // { // _db.Entry(pageMeta).State = EntityState.Modified; // //_pageMetaServices.Update(pageMeta); // } // else // { // _db.PageMetas.Add(pageMeta); // // _pageMetaServices.Create(pageMeta); // } // await _db.SaveChangesAsync(); // // var pageVM = _mapper.Map<JobVM>(editJob); // AR.Id = page.Id; // AR.Data = RenderPartialViewToString("_JobItem", editJob); // AR.SetSuccess(String.Format(Messages.AlertUpdateSuccess, EntityNames.Job)); // return Json(AR, JsonRequestBehavior.DenyGet); //} //catch (Exception er) //{ // AR.Setfailure(er.Message); // return Json(AR, JsonRequestBehavior.DenyGet); //} }
public async Task <IActionResult> Edit(JobIM article) { if (!ModelState.IsValid) { AR.Setfailure(GetModelErrorMessage()); return(Json(AR)); } try { var pm = new PageMeta { Title = article.SEOTitle, Description = article.SEODescription, Keywords = article.SEOKeywords, ModuleType = (short)ModuleType.JOB }; if (article.Id > 0) { var model = await _context.Jobs.FirstOrDefaultAsync(d => d.Id == article.Id); if (model == null) { AR.Setfailure(Messages.HttpNotFound); return(Json(AR)); } model = _mapper.Map(article, model); model.UpdatedBy = User.Identity.Name; model.UpdatedDate = DateTime.Now; _context.Entry(model).State = EntityState.Modified; await _context.SaveChangesAsync(); AR.SetSuccess(string.Format(Messages.AlertUpdateSuccess, EntityNames.Job)); pm.ObjectId = model.Id.ToString(); } else { var model = _mapper.Map <Job>(article); model.CreatedBy = User.Identity.Name; model.CreatedDate = DateTime.Now; //model.Body = WebUtility.HtmlEncode(page.Body); _context.Add(model); await _context.SaveChangesAsync(); pm.ObjectId = model.Id.ToString(); AR.SetSuccess(string.Format(Messages.AlertCreateSuccess, EntityNames.Job)); } await CreatedUpdatedPageMetaAsync(_context, pm); return(Json(AR)); } catch (DbUpdateConcurrencyException) { if (!JobExists(article.Id)) { AR.Setfailure(Messages.HttpNotFound); return(Json(AR)); } else { throw; } } }