public IActionResult Create([FromBody] CreateEntityViewModel model) { try { using (var connectionRepository = ResolverFactory.Resolve <ConnectionRepository>()) using (var entityRepository = ResolverFactory.Resolve <EntityRepository>()) using (var attributeRepository = ResolverFactory.Resolve <AttributeRepository>()) { var result = entityRepository.Create(new { model.Name, model.Description, model.SourceConnectionId, model.DestinationConnectionId, model.SourceProcessorId, model.DestinationProcessorId }); if (model.Options != null && model.Options.Count() > 0) { entityRepository.LinkOptions(result, model.Options); } transaction.Commit(); return(Ok(result)); } } catch { transaction.Rollback(); throw; } }
private void OnCloseCreateEntityViewModel(CreateEntityViewModel createViewModel) { if (_createWindows.ContainsKey(createViewModel)) { _createWindows[createViewModel].Close(); _createWindows.Remove(createViewModel); } }
private void OnOpenCreateEntityViewModel(CreateEntityViewModel createViewModel) { if (_createWindows.Count < 3) { CreateWindow createWindow = new CreateWindow(); createWindow.DataContext = createViewModel; _createWindows.Add(createViewModel, createWindow); createWindow.Show(); } else { MessageBox.Show("Trop de fenêtres de création sont ouvertes, veuillez terminer les créations existantes et recommencez!"); } }
public IActionResult Update(string id, [FromBody] CreateEntityViewModel model) { try { using (var connectionRepository = ResolverFactory.Resolve <ConnectionRepository>()) using (var entityRepository = ResolverFactory.Resolve <EntityRepository>()) using (var attributeRepository = ResolverFactory.Resolve <AttributeRepository>()) { var entity = entityRepository.GetById(id); var state = entity.State; if (model.Enabled) { state = (state | EntityState.Disabled) ^ EntityState.Disabled; } else { state = state | EntityState.Disabled; } var result = entityRepository.Update(id, new { model.Name, model.Description, model.SourceConnectionId, model.DestinationConnectionId, model.SourceProcessorId, model.DestinationProcessorId, State = state }); if (model.Options != null && model.Options.Count() > 0) { entityRepository.LinkOptions(id, model.Options); } transaction.Commit(); return(Ok(result)); } } catch { transaction.Rollback(); throw; } }