public static GridColumn_DTO UpdateGridColumn(GridColumn_DTO gridColumn) { try { using (HomesteadViewerContext context = new HomesteadViewerContext()) { var gc = Get(gridColumn.PropertyName); if (gc == null) return null; gc = ReorderGridColumn(gc); Mapper.CreateMap<GridColumn_DTO, GridColumn_DTO>(); Mapper.Map<GridColumn_DTO, GridColumn_DTO>(gridColumn, gc); context.GridColumns.Attach(gc); context.Entry(gc).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); ReorderGridColumns(); return Get(gridColumn.PropertyName); } } catch (Exception ex) { throw ex; } }
public ActionResult Update_GridColumns([DataSourceRequest] DataSourceRequest request, GridColumn_DTO model) { try { model = GridColumn_DTO.UpdateGridColumn(model); UserSession.LogSessionTime(); return Json(new { result = AjaxRequestResults.success.ToString(), message = "Successfully Updated The Grid Column " + model.DisplayName }); } catch (Exception ex) { ex.Log(); return Json(new { result = AjaxRequestResults.error.ToString(), message = ex.Message }); } }
public static GridColumn_DTO ReorderGridColumn(GridColumn_DTO new_gc) { try { using (var context = new HomesteadViewerContext()) { var orig_gc = Get(new_gc.PropertyName); if (orig_gc == null) return null; if (orig_gc.ColumnNumber < new_gc.ColumnNumber) foreach (var col in GetAll(g => g.ColumnNumber < orig_gc.ColumnNumber && g.ColumnNumber >= new_gc.ColumnNumber)) { using (var newContext = new HomesteadViewerContext()) { col.ColumnNumber--; newContext.GridColumns.Attach(col); newContext.Entry(col).State = System.Data.Entity.EntityState.Modified; newContext.SaveChanges(); } } else if (orig_gc.ColumnNumber > new_gc.ColumnNumber) foreach (var col in GetAll(g => g.ColumnNumber >= new_gc.ColumnNumber && g.ColumnNumber < orig_gc.ColumnNumber)) { using (var newContext = new HomesteadViewerContext()) { col.ColumnNumber++; newContext.GridColumns.Attach(col); newContext.Entry(col).State = System.Data.Entity.EntityState.Modified; newContext.SaveChanges(); } } else { return orig_gc; } orig_gc.ColumnNumber = new_gc.ColumnNumber; context.GridColumns.Attach(orig_gc); context.Entry(orig_gc).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); ReorderGridColumns(); return Get(orig_gc.PropertyName); } } catch (Exception ex) { throw ex; } }