public ActionResult Create(int listId) { if (!CheckPermission(ListsPermissions.ManageLists)) { return(new HttpUnauthorizedResult()); } var list = listService.GetById(listId); WorkContext.Breadcrumbs.Add(T("Manage Lists"), Url.Action("Index", "List", new { area = Constants.Areas.Lists })); WorkContext.Breadcrumbs.Add(list.Name); WorkContext.Breadcrumbs.Add(T("Fields"), Url.Action("Index", new { area = Constants.Areas.Lists })); WorkContext.Breadcrumbs.Add(T("Create")); var model = new ListFieldModel { Title = "", ListId = listId }; var result = new ControlFormResult <ListFieldModel>(model) { Title = T("Create Field").Text, UpdateActionName = "Update", ShowBoxHeader = false, FormWrapperStartHtml = Constants.Form.FormWrapperStartHtml, FormWrapperEndHtml = Constants.Form.FormWrapperEndHtml }; var listFields = WorkContext.Resolve <IEnumerable <IListField> >(); var fieldTypes = listFields.Select(x => new { x.FieldType, Type = GetFullTypeName(x.GetType()) }).OrderBy(x => x.FieldType).ToDictionary(x => x.Type, x => x.FieldType); result.RegisterExternalDataSource(x => x.FieldType, fieldTypes); return(result); }
public override async Task <ListFieldModel> GetActiveFields(LookupModel request, ServerCallContext context) { var res = await _client.GetGrain <IFieldsMaintanceGrain>(Guid.NewGuid()).GetActiveFields(); var list = new ListFieldModel(); list.FieldList.AddRange(res.Select(z => z.MapFieldDto()).ToList()); return(await Task.FromResult(list)); }
public ActionResult Update(ListFieldModel model) { if (!CheckPermission(ListsPermissions.ManageLists)) { return(new HttpUnauthorizedResult()); } var record = model.Id != 0 ? listFieldService.GetById(model.Id) : new ListField(); record.Title = model.Title.Trim(); record.Name = model.Name.Trim(); record.ListId = model.ListId; record.Position = model.Position; record.Required = model.Required; // Validate unique name if (model.Id == 0) { var name = Regex.Replace(record.Name, "[^0-9a-zA-Z]+", ""); if (!model.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)) { return(new AjaxResult().Alert(T("The field name contains invalid characters, please make sure field name can have only a-z and 0-9 characters."))); } var otherField = listFieldService.GetRecord(x => x.ListId == record.ListId && x.Name == record.Name); if (otherField != null || record.Name.Equals("Title", StringComparison.InvariantCultureIgnoreCase)) { return(new AjaxResult().Alert(T("Have other field with same name, please make sure unique name for field."))); } } var fieldType = Type.GetType(model.FieldType); var fields = WorkContext.Resolve <IEnumerable <IListField> >(); var field = fields.First(x => x.GetType() == fieldType); TryUpdateModel(field, fieldType); var settings = new SharpSerializerXmlSettings { IncludeAssemblyVersionInTypeName = false, IncludeCultureInTypeName = false, IncludePublicKeyTokenInTypeName = false }; var sharpSerializer = new SharpSerializer(settings); record.FieldProperties = sharpSerializer.Serialize(field); record.FieldType = field.FieldType; listFieldService.Save(record); return(new AjaxResult().NotifyMessage("UPDATE_ENTITY_COMPLETE").CloseModalDialog()); }
public Task UpdateListField(ListFieldModel listField) { throw new System.NotImplementedException(); }