private async Task <int> GetApplicationIdAsync(int profileId, int batchId, UserInfo userInfo)
        {
            var application = await
                              _appDbContext.Applications.FirstOrDefaultAsync(k => k.ProfileId == profileId && k.BatchId == batchId);

            if (application == null)
            {
                application = new Application()
                {
                    BatchId      = batchId,
                    ProfileId    = profileId,
                    StatusItemId = (int)ApplicationProgressStatus.InProgress,

                    TotalScore = (await _appDbContext.Profiles.Include(k => k.ScoringProfile).FirstOrDefaultAsync())?.ScoringProfile?.ProfileTotalScore ?? 0,
                    Created    = DateTime.Now,
                    Modified   = DateTime.Now,
                    CreatedBy  = userInfo.Email,
                    ModifiedBy = userInfo.Email
                };

                await _appDbContext.Applications.AddAsync(application);

                await _appDbContext.SaveChangesAsync();

                await _applicationProgressService.CreateApplicationProgressAsync(application.Id, profileId);
            }

            var parti = await _appDbContext.ParticipationReferences.FirstOrDefaultAsync(k => k.ApplicationID == application.Id && k.ProfileID == profileId);

            if (parti == null)
            {
                await GetReferenceAsync(application.Id, batchId, userInfo);
            }

            return(application.Id);
        }
Esempio n. 2
0
        public void ApplicationProgressStatus_validCalculation_Success()
        {
            var yy = _applicationProgressStatusService.CreateApplicationProgressAsync(4255, 13617).Result;

            Assert.IsTrue(yy);
        }