コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        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));
            }
        }