Пример #1
0
        public async System.Threading.Tasks.Task <ActionResult> Edit(int?id)
        {
            if (id > 0)
            {
                var vCase = await _db.Cases.FindAsync(id);

                if (vCase == null)
                {
                    AR.Setfailure(Messages.HttpNotFound);
                    return(Json(AR, JsonRequestBehavior.AllowGet));
                }

                var editCase = _mapper.Map <Case, CaseIM>(vCase);

                var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == ModelType.CASE && d.ObjectId == editCase.Id.ToString());

                if (pageMeta != null)
                {
                    editCase.SEOTitle       = pageMeta.Title;
                    editCase.Keywords       = pageMeta.Keyword;
                    editCase.SEODescription = pageMeta.Description;
                }

                return(View(editCase));
            }
            else
            {
                var vm = new CaseIM
                {
                    Active  = true,
                    Pubdate = DateTime.Now
                };
                return(View(vm));
            }
        }
Пример #2
0
        public async System.Threading.Tasks.Task <JsonResult> Edit(CaseIM vm)
        {
            if (!ModelState.IsValid)
            {
                AR.Setfailure(GetModelErrorMessage());
                return(Json(AR, JsonRequestBehavior.DenyGet));
            }

            //try
            //{
            if (vm.Id > 0)
            {
                var editCase = await _db.Cases.FindAsync(vm.Id);

                editCase = _mapper.Map(vm, editCase);

                _db.Entry(editCase).State = EntityState.Modified;
                await _db.SaveChangesAsync();

                var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == ModelType.CASE && d.ObjectId == editCase.Id.ToString());

                pageMeta             = pageMeta ?? new PageMeta();
                pageMeta.ObjectId    = vm.Id.ToString();
                pageMeta.Title       = string.IsNullOrEmpty(vm.Title) ? vm.Title : vm.Title;
                pageMeta.Keyword     = string.IsNullOrEmpty(vm.Keywords) ? vm.Title : vm.Keywords.Replace(',', ',');
                pageMeta.Description = vm.SEODescription;
                pageMeta.ModelType   = ModelType.CASE;

                if (pageMeta.Id > 0)
                {
                    _db.Entry(pageMeta).State = EntityState.Modified;
                }
                else
                {
                    _db.PageMetas.Add(pageMeta);
                }
                await _db.SaveChangesAsync();



                AR.SetSuccess(String.Format(Messages.AlertUpdateSuccess, EntityNames.Case));
                return(Json(AR, JsonRequestBehavior.DenyGet));
            }
            else
            {
                var newCase = _mapper.Map <CaseIM, Case>(vm);

                newCase = _db.Cases.Add(newCase);
                var result = await _db.SaveChangesAsync();

                if (result > 0)
                {
                    if (!string.IsNullOrEmpty(vm.Keywords) || !string.IsNullOrEmpty(vm.SEODescription))
                    {
                        var pm = new PageMeta
                        {
                            Title       = vm.SEOTitle,
                            Description = vm.SEODescription,
                            Keyword     = vm.Keywords,
                            ModelType   = ModelType.CASE,
                            ObjectId    = newCase.Id.ToString()
                        };
                        _db.PageMetas.Add(pm);
                        await _db.SaveChangesAsync();
                    }
                }

                AR.SetSuccess(String.Format(Messages.AlertCreateSuccess, EntityNames.Case));
                return(Json(AR, JsonRequestBehavior.DenyGet));
            }



            //}
            //catch (Exception er)
            //{
            //    AR.Setfailure(er.Message);
            //    return Json(AR, JsonRequestBehavior.DenyGet);
            //}
        }