/// <summary> /// Ajoute une configuration de valeur à une configuration de dimension existante. /// </summary> /// <param name="gridValueConfig">Nouvelle configuration de valeur</param> /// <param name="gridDimensionConfigId">Id de la configuration de dimension cible.</param> /// <returns>Message de retour</returns> public async Task <GridValueConfig> Add(GridValueConfig gridValueConfig, long gridDimensionConfigId) { if (gridValueConfig == null) { throw new WrongParameterException("GridConfigurationDomain.Add : GridValueConfig is null."); } GridDimensionConfig gridDimensionConfig = await UnitOfWork.GetDbContext().GridDimensionConfig .Where(gdc => gdc.Id == gridDimensionConfigId) .FirstOrDefaultAsync(); if (gridDimensionConfig == null) { throw new WrongParameterException($"GridConfigurationDomain.Add : GridDimensionConfig don't exist with id = {gridDimensionConfigId}."); } UnitOfWork.GridDimensionConfigRepository.PrepareUpdateForObject(gridDimensionConfig); UnitOfWork.GridValueConfigRepository.PrepareAddForObject(gridValueConfig); gridDimensionConfig.Values.Add(gridValueConfig); gridValueConfig.GridDimensionConfig = gridDimensionConfig; int nbr = await UnitOfWork.GetDbContext().SaveChangesAsync(); if (nbr <= 0) { throw new DatabaseException("GridConfigurationDomain.Add : impossible to save GridValueConfig."); } return(gridValueConfig); }
/// <summary> /// Duplique un GridDimensionConfig pour l'instance d'un WorkflowConfig. /// </summary> /// <param name="gridDimensionConfig">GridDimensionConfig original</param> /// <returns>Duplicat du GridDimensionConfig original</returns> public async Task <GridDimensionConfig> CopyForStatic(GridDimensionConfig gridDimensionConfig) { if (gridDimensionConfig == null) { throw new WrongParameterException("GridConfigurationDomain.CopyForStatic: GridDimensionConfig source is null!"); } GridDimensionConfig duplicat = new GridDimensionConfig(); UnitOfWork.GridDimensionConfigRepository.PrepareAddForObject(duplicat); duplicat.DisplayName = gridDimensionConfig.DisplayName; duplicat.InternalName = gridDimensionConfig.InternalName; duplicat.Order = gridDimensionConfig.Order; foreach (GridValueConfig gvc in gridDimensionConfig.Values) { GridValueConfig gvcNew = await CopyForStatic(gvc); gvcNew.GridDimensionConfig = duplicat; duplicat.Values.Add(gvcNew); } int nbr = await UnitOfWork.GetDbContext().SaveChangesAsync(); return(duplicat); }
/// <summary> /// Duplique un GridValueConfig pour l'instance d'un WorkflowConfig. /// </summary> /// <param name="gridValueConfig">GridValueConfig original</param> /// <returns>Duplicat du GridValueConfig original</returns> public async Task <GridValueConfig> CopyForStatic(GridValueConfig gridValueConfig) { if (gridValueConfig == null) { throw new WrongParameterException("GridConfigurationDomain.CopyForStatic: GridValueConfig source is null!"); } GridValueConfig duplicat = new GridValueConfig(); UnitOfWork.GridValueConfigRepository.PrepareAddForObject(duplicat); duplicat.Order = gridValueConfig.Order; duplicat.Value = gridValueConfig.Value; int nbr = await UnitOfWork.GetDbContext().SaveChangesAsync(); return(duplicat); }
public async Task <IActionResult> AddGridValueConfig([FromBody] GridValueConfig gridValueConfig, long gridDimensionConfigId) { try { HttpResponseMessageResult res = new HttpResponseMessageResult() { IsSuccess = true }; gridValueConfig = await Adapter.Add(gridValueConfig, gridDimensionConfigId); res.GetObjectForJson(gridValueConfig); return(Ok(res)); } catch (Exception ex) { Logger.LogError(LoggingEvents.PROCESS_ERROR, ex, ex.Message); return(StatusCode(500, ex.Message)); } }