public JsonResult Edit([FromBody] ModuleItemModel module) { if (!ModelState.IsValid) { return(Json(ModelState, false)); } using (var context = ContextFactory().WithChangeTracking()) { var entity = context.Modules .Where(i => i.ID == module.ID) .SingleOrDefault(); if (entity == null) { return(JsonFailure($"Module with ID #{module.ID} does not exist.")); } entity.FriendlyName = module.FriendlyName.TrimToNull(); entity.Description = module.Description.TrimToNull(); context.SaveChanges(); return(Json($"Changes to module @{entity.Address} saved successfully.")); } }
internal ModuleItem(Api api, ModuleItemModel model) { _api = api; Id = model.Id; ModuleId = model.ModuleId; Position = model.Position; Title = model.Title; Indent = model.Indent; Type = model.Type.ToApiRepresentedEnum <ModuleItemType>() .Expect(() => new BadApiStateException($"ModuleItem.Type was an unexpected value: {model.Type}")); ContentId = model.ContentId; HtmlUrl = model.HtmlUrl; Url = model.Url; PageUrl = model.PageUrl; ExternalUrl = model.ExternalUrl; NewTab = model.NewTab; CompletionRequirement = model.CompletionRequirement.ConvertIfNotNull(m => new CompletionRequirement(api, m)); Published = model.Published; }