public FakeModuleRepository() { AllModules = new List<IModule>(); AllRows = new List<Row>(); var converter = FieldValueConversion.GetConverter(Type.GetType("System.String")); int j = 100; int k = 200; int l = 300; int m = 400; for(int i = 0; i < 101; i++) { var module = new Module() { DisplayName = "Test Module " + i, ModuleName = "The-test-module-" + i, Id = i, ModuleType = i % 3, User = new User() { UserId = FakeModuleMembership.FakeUserId } }; var field = new Field() { DisplayName = "Test field " + i, FieldName = "TestField" + i, ID = k--, ShowInListMode = true, IsRequired = true, FieldDataType = new FieldDataType() { Name = "System.String", ID = l--, FriendlyName = "Test data type " + i } }; module.Fields.Add(field); for (int z = 0; z < 20; z++) { module.Rows.Add(new Row() { ID = m--, Cells = new EntityCollection<Cell>() { new Cell() { Data = converter.Serialize(new DynamicModuleField { Data = "Some data " + z }), ID = j--, Field = field }} }); } AllModules.Add(module); AllRows.AddRange(AllModules.FirstOrDefault().Rows); } }
/// <summary> /// Create a new Field object. /// </summary> /// <param name="id">Initial value of the ID property.</param> /// <param name="showInListMode">Initial value of the ShowInListMode property.</param> /// <param name="displayName">Initial value of the DisplayName property.</param> /// <param name="fieldName">Initial value of the FieldName property.</param> /// <param name="isRequired">Initial value of the IsRequired property.</param> /// <param name="isReadOnly">Initial value of the IsReadOnly property.</param> public static Field CreateField(global::System.Int32 id, global::System.Boolean showInListMode, global::System.String displayName, global::System.String fieldName, global::System.Boolean isRequired, global::System.Boolean isReadOnly) { Field field = new Field(); field.ID = id; field.ShowInListMode = showInListMode; field.DisplayName = displayName; field.FieldName = fieldName; field.IsRequired = isRequired; field.IsReadOnly = isReadOnly; return field; }
/// <summary> /// Deprecated Method for adding a new object to the Field EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToField(Field field) { base.AddObject("Field", field); }
/// <summary> /// Adds the provided field. /// </summary> /// <param name="_field">The field to be created</param> public void AddField(Field _field) { db.AddToField(_field); }
public void AddField(Field _field) { throw new NotImplementedException(); }
public ActionResult Create(ModulesViewModel _model) { if (!ModelState.IsValid) { _model.DataTypeList = GetDataTypeList(); return View(_model); } if(_model.Fields.Count(f => f.ShowInListMode) == 0) { TempData["Message"] = "Pelo menos um dos campos deve ser visível na listagem."; _model.DataTypeList = GetDataTypeList(); return View(_model); } // retrieve the current account name and associate with the newly created module var acctName = RouteData.Values["account"] as string; if (String.IsNullOrWhiteSpace(acctName)) { TempData["Message"] = "Conta não encontrada."; return View(_model); } Module newModule = new Module() { DisplayName = _model.DisplayName, ModuleName = _model.DisplayName.EscapeName(), User = ModRepository.GetUserByName(Membership.GetUser().UserName), // associate the module with the current logged in user Account = ModRepository.GetAccountByName(acctName), ModuleType = _model.Type }; _model.Fields.ToList().ForEach(f => { var newField = new Field { DisplayName = f.FieldDisplayName, FieldName = f.FieldDisplayName.EscapeName(), FieldDataType = ModRepository.GetDataTypeByName(f.DataType), IsReadOnly = f.IsReadOnly, IsRequired = f.IsRequired, ShowInListMode = f.ShowInListMode }; if (f.Metadata != null) { newField.AddMetadata(f.Metadata); } newModule.Fields.Add(newField); }); ModRepository.AddModule(newModule); TempData["Message"] = "Módulo salvo com sucesso."; return RedirectToAction("Index", "Home"); }
public ActionResult Edit(ModulesViewModel _model) { if (!ModelState.IsValid) { _model.DataTypeList = GetDataTypeList(); return View(_model); } var modToEdit = ModRepository.GetModuleById(_model.Id, m => m.Fields.Include<Field, FieldDataType>(f => f.FieldDataType), m => m.Fields.Include<Field, FieldMetadata>(f => f.Metadata), m => m.Rows.Include<Row, Cell>(r => r.Cells)); if (modToEdit == null) { TempData["Message"] = "Módulo não encontrado."; _model.DataTypeList = GetDataTypeList(); return View(_model); } modToEdit.DisplayName = _model.DisplayName; if (_model.Fields.Count(f => f.ShowInListMode) == 0) { TempData["Message"] = "Pelo menos um dos campos deve ser visível na listagem."; _model.DataTypeList = GetDataTypeList(); return View(_model); } // handle modified and added fields foreach (ModuleField f in _model.Fields) { Field dbField = modToEdit.Fields.FirstOrDefault(fld => fld.ID == f.ID); bool bNeedToAdd = (dbField == null); if (dbField == null) { dbField = new Field(); } if (!bNeedToAdd) { dbField.FieldDataTypeReference.Load(); dbField.Metadata.Load(); if (dbField.FieldDataType.Name != f.DataType) { // field type changed. set it to null on all matching rows modToEdit.Rows.ToList().ForEach(r => { r.Cells.Load(); r.Cells .ToList() .ForEach(rf => { rf.FieldReference.Load(); if (rf.Field.FieldName == dbField.FieldName) { rf.Data = null; } }); }); } } dbField.DisplayName = f.FieldDisplayName; dbField.FieldName = f.FieldDisplayName.EscapeName(); dbField.FieldDataType = ModRepository.GetDataTypeByName(f.DataType); dbField.IsReadOnly = f.IsReadOnly; dbField.IsRequired = f.IsRequired; dbField.ShowInListMode = f.ShowInListMode; dbField.Module = modToEdit as Module; if (f.Metadata != null) { dbField.AddMetadata(f.Metadata); } if (bNeedToAdd) { ModRepository.AddField(dbField); modToEdit.Rows.ToList() .ForEach(row => { Cell rf = new Cell() { Field = dbField, Row = row }; ModRepository.AddCell(rf); }); } } ModRepository.Save(); TempData["Message"] = "Módulo salvo com sucesso."; return RedirectToAction("List", "DynamicModule", new { moduleid = _model.Id, modulename = modToEdit.ModuleName }); }