public void CreateModule(IModule _dbModule, DynamicModuleViewModel _moduleData) { var row = new Row() { Module = (Module)_dbModule }; foreach (DynamicModuleField field in _moduleData.Fields) { var converter = FieldValueConversion.GetConverter(field.DataType); var rowField = new Cell { Field = _dbModule.Fields.FirstOrDefault(f => f.FieldName == field.PropertyName), Data = converter.Serialize(field, new ConversionContext { Cell = null }) }; row.Cells.Add(rowField); } try { ModRepository.AddModuleEntry(_dbModule.Id, row); } catch (Exception e) { throw new CreateModuleFailedException("Ocorreu um erro ao incluir o seu registro. Tente novamente mais tarde.", e); } }