Ejemplo n.º 1
0
        public async Task Update(eFormDashboardPnDbContext dbContext)
        {
            DashboardItem dashboardItem = await dbContext.DashboardItems.FirstOrDefaultAsync(x => x.Id == Id).ConfigureAwait(false);

            if (dashboardItem == null)
            {
                throw new NullReferenceException($"Could not find item with id: {Id}");
            }

            dashboardItem.WorkflowState       = WorkflowState;
            dashboardItem.UpdatedAt           = UpdatedAt;
            dashboardItem.UpdatedByUserId     = UpdatedByUserId;
            dashboardItem.Position            = Position;
            dashboardItem.ChartType           = ChartType;
            dashboardItem.Period              = Period;
            dashboardItem.FieldId             = FieldId;
            dashboardItem.FilterFieldId       = FilterFieldId;
            dashboardItem.FilterFieldOptionId = FilterFieldOptionId;
            dashboardItem.CalculateAverage    = CalculateAverage;
            dashboardItem.CompareEnabled      = CompareEnabled;

            if (dbContext.ChangeTracker.HasChanges())
            {
                dashboardItem.UpdatedAt = DateTime.UtcNow;
                dashboardItem.Version  += 1;

                await dbContext.DashboardItemVersions.AddAsync(MapVersion(dashboardItem)).ConfigureAwait(false);

                await dbContext.SaveChangesAsync().ConfigureAwait(false);
            }
        }
Ejemplo n.º 2
0
        public async Task Delete(eFormDashboardPnDbContext dbContext)
        {
            DashboardItem dashboardItem = await dbContext.DashboardItems.FirstOrDefaultAsync(x => x.Id == Id).ConfigureAwait(false);

            if (dashboardItem == null)
            {
                throw new NullReferenceException($"Could not find item with id: {Id}");
            }

            dashboardItem.WorkflowState = Constants.WorkflowStates.Removed;

            if (dbContext.ChangeTracker.HasChanges())
            {
                dashboardItem.UpdatedAt = DateTime.UtcNow;
                dashboardItem.Version  += 1;

                await dbContext.DashboardItemVersions.AddAsync(MapVersion(dashboardItem)).ConfigureAwait(false);

                await dbContext.SaveChangesAsync().ConfigureAwait(false);
            }
        }
Ejemplo n.º 3
0
        private static DashboardItemVersion MapVersion(DashboardItem dashboardItem)
        {
            var dashboardItemVersion = new DashboardItemVersion
            {
                DashboardItemId     = dashboardItem.Id,
                CreatedAt           = dashboardItem.CreatedAt,
                UpdatedAt           = dashboardItem.UpdatedAt,
                Version             = dashboardItem.Version,
                WorkflowState       = dashboardItem.WorkflowState,
                UpdatedByUserId     = dashboardItem.UpdatedByUserId,
                CreatedByUserId     = dashboardItem.CreatedByUserId,
                Position            = dashboardItem.Position,
                ChartType           = dashboardItem.ChartType,
                FieldId             = dashboardItem.FieldId,
                FilterFieldId       = dashboardItem.FilterFieldId,
                FilterFieldOptionId = dashboardItem.FilterFieldOptionId,
                Period           = dashboardItem.Period,
                CompareEnabled   = dashboardItem.CompareEnabled,
                CalculateAverage = dashboardItem.CalculateAverage,
            };

            return(dashboardItemVersion);
        }