示例#1
0
 public CalendarUsersService(ILogger <CalendarUsersService> logger,
                             eFormCaseManagementPnDbContext dbContext,
                             IEFormCoreService coreHelper,
                             ICaseManagementLocalizationService caseManagementLocalizationService)
 {
     _logger     = logger;
     _dbContext  = dbContext;
     _coreHelper = coreHelper;
     _caseManagementLocalizationService = caseManagementLocalizationService;
 }
        public CaseManagementSettingsService(ILogger <CaseManagementSettingsService> logger,
                                             eFormCaseManagementPnDbContext dbContext,
                                             IEFormCoreService coreHelper,
                                             IPluginDbOptions <CaseManagementBaseSettings> options,
                                             ICaseManagementLocalizationService caseManagementLocalizationService,
                                             IHttpContextAccessor httpContextAccessor)

        {
            _logger     = logger;
            _dbContext  = dbContext;
            _coreHelper = coreHelper;
            _caseManagementLocalizationService = caseManagementLocalizationService;
            _options             = options;
            _httpContextAccessor = httpContextAccessor;
        }
示例#3
0
        public async Task Create(eFormCaseManagementPnDbContext _dbContext)
        {
            CalendarUser calendarUser = new CalendarUser();

            calendarUser.Color = Color;
            calendarUser.IsVisibleInCalendar = IsVisibleInCalendar;
            calendarUser.NameInCalendar      = NameInCalendar;
            calendarUser.SiteId          = SiteId;
            calendarUser.RelatedEntityId = RelatedEntityId;
            calendarUser.Version         = 1;
            calendarUser.CreatedAt       = DateTime.Now;
            _dbContext.CalendarUsers.Add(calendarUser);
            await _dbContext.SaveChangesAsync();

            _dbContext.CalendarUserVersions.Add(MapVersions(_dbContext, calendarUser));
            await _dbContext.SaveChangesAsync();
        }
        public static void SeedData(eFormCaseManagementPnDbContext dbContext)
        {
            var seedData          = new CaseManagementConfigurationSeedData();
            var configurationList = seedData.Data;

            foreach (var configurationItem in configurationList)
            {
                if (!dbContext.PluginConfigurationValues.Any(x => x.Name == configurationItem.Name))
                {
                    var newConfigValue = new PluginConfigurationValue()
                    {
                        Name            = configurationItem.Name,
                        Value           = configurationItem.Value,
                        CreatedAt       = DateTime.UtcNow,
                        Version         = 1,
                        WorkflowState   = Constants.WorkflowStates.Created,
                        CreatedByUserId = 1
                    };
                    dbContext.PluginConfigurationValues.Add(newConfigValue);
                    dbContext.SaveChanges();
                }
            }

            // Seed plugin permissions
            var newPermissions = CaseManagementPermissionsSeedData.Data
                                 .Where(p => dbContext.PluginPermissions.All(x => x.ClaimName != p.ClaimName))
                                 .Select(p => new PluginPermission
            {
                PermissionName  = p.PermissionName,
                ClaimName       = p.ClaimName,
                CreatedAt       = DateTime.UtcNow,
                Version         = 1,
                WorkflowState   = Constants.WorkflowStates.Created,
                CreatedByUserId = 1
            }
                                         );

            dbContext.PluginPermissions.AddRange(newPermissions);

            dbContext.SaveChanges();
        }
示例#5
0
        public async Task Delete(eFormCaseManagementPnDbContext _dbContext)
        {
            CalendarUser calendarUser = _dbContext.CalendarUsers.FirstOrDefault(x => x.Id == Id);

            if (calendarUser == null)
            {
                throw new NullReferenceException($"Could not find Calendar User with id {Id}");
            }

            calendarUser.WorkflowState = Constants.WorkflowStates.Removed;

            if (_dbContext.ChangeTracker.HasChanges())
            {
                calendarUser.UpdatedAt       = DateTime.Now;
                calendarUser.UpdatedByUserId = UpdatedByUserId;
                calendarUser.Version        += 1;

                _dbContext.CalendarUserVersions.Add(MapVersions(_dbContext, calendarUser));
                await _dbContext.SaveChangesAsync();
            }
        }
示例#6
0
        public CalendarUserVersions MapVersions(eFormCaseManagementPnDbContext _dbContext, CalendarUser calendarUser)
        {
            CalendarUserVersions calendarUserVersions = new CalendarUserVersions();

            calendarUserVersions.Color               = calendarUser.Color;
            calendarUserVersions.SiteId              = calendarUser.SiteId;
            calendarUserVersions.FirstName           = calendarUser.FirstName;
            calendarUserVersions.LastName            = calendarUser.LastName;
            calendarUserVersions.NameInCalendar      = calendarUser.NameInCalendar;
            calendarUserVersions.IsVisibleInCalendar = calendarUser.IsVisibleInCalendar;
            calendarUserVersions.RelatedEntityId     = calendarUser.RelatedEntityId;
            calendarUserVersions.CreatedAt           = calendarUser.CreatedAt;
            calendarUserVersions.Version             = calendarUser.Version;
            calendarUserVersions.UpdatedAt           = calendarUser.UpdatedAt;
            calendarUserVersions.WorkflowState       = calendarUser.WorkflowState;
            calendarUserVersions.CreatedByUserId     = calendarUser.CreatedByUserId;
            calendarUserVersions.UpdatedByUserId     = calendarUser.UpdatedByUserId;

            calendarUserVersions.CalendarUserId = calendarUser.Id;

            return(calendarUserVersions);
        }