Example #1
0
        public async Task <ActionResult> Edit(int?id)
        {
            var vm = new InstituteIM
            {
                Active     = true,
                Importance = 0
            };

            if (id > 0)
            {
                var vCase = await _db.Institutes.FindAsync(id);

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

                vm = _mapper.Map <Institute, InstituteIM>(vCase);

                var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == (short)ModelType.INSTITUTE && d.ObjectId == vm.Id.ToString());

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

            var dics = await _db.Dictionaries.Where(d => d.TypeId == 1).OrderByDescending(m => m.Importance).ToListAsync();

            var lDic = new SelectList(dics, "Id", "Title");

            ViewBag.Dictionaries = lDic;

            return(View(vm));
        }
Example #2
0
        public async Task <JsonResult> Edit(InstituteIM vm)
        {
            if (!ModelState.IsValid)
            {
                AR.Setfailure(GetModelErrorMessage());
                return(Json(AR, JsonRequestBehavior.DenyGet));
            }

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

                    editCase             = _mapper.Map(vm, editCase);
                    editCase.UpdatedDate = DateTime.Now;
                    editCase.UpdatedBy   = Site.CurrentUserName;

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

                    var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == (short)ModelType.INSTITUTE && 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   = (short)ModelType.INSTITUTE;

                    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.Institute));
                    return(Json(AR, JsonRequestBehavior.DenyGet));
                }
                else
                {
                    var newCase = _mapper.Map <InstituteIM, Institute>(vm);
                    newCase.CreatedDate = DateTime.Now;
                    newCase.CreatedBy   = Site.CurrentUserName;

                    newCase = _db.Institutes.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   = (short)ModelType.INSTITUTE,
                                ObjectId    = newCase.Id.ToString()
                            };
                            _db.PageMetas.Add(pm);
                            await _db.SaveChangesAsync();
                        }
                    }

                    AR.SetSuccess(String.Format(Messages.AlertCreateSuccess, EntityNames.Institute));
                    return(Json(AR, JsonRequestBehavior.DenyGet));
                }
            }
            catch (Exception er)
            {
                AR.Setfailure(er.Message);
                return(Json(AR, JsonRequestBehavior.DenyGet));
            }
        }