public ActionResult Save(GridConfigViewModel viewModel) { //check if gird not have Mandatory columns are selected anymore if (viewModel.ViewColumns.Where(o => !o.Mandatory).Count(o => (!o.HideColumn)) <= 0) { return (Json( new { Error = SystemMessageLookup.GetMessage("HideAllColumn"), }, JsonRequestBehavior.AllowGet)); } var gridConfig = _gridConfigService.FirstOrDefault(x => x.Id == viewModel.Id); if (gridConfig != null && gridConfig.UserId == 0) { gridConfig = null; viewModel.Id = 0; } gridConfig = viewModel.MapPropertiesToInstance(gridConfig); _gridConfigService.InsertOrUpdate(gridConfig); return (Json( new { Error = string.Empty, Data = new { gridConfig.Id } }, JsonRequestBehavior.AllowGet)); }