Example #1
0
        public async Task <Result> AddExtraFiles(CreateUserAssessmentModel model)
        {
            var userId     = new Guid(User.Claims.FirstOrDefault(c => c.Type == "Id").Value);
            var usersurvey = await _userSurveyBiz.GetByUserIdAndSurveyId(userId, model.SurveyId);

            if (model.BlobIds != null && model.BlobIds.Any())
            {
                var id = Guid.NewGuid();

                var blobs = await _repository.ListAsync <Blob>(b => model.BlobIds.Contains(b.Id));

                blobs.Data.ToList().ForEach(b => b.Title = "ExtraFile_" + b.Title);
                var userAssessmentSurvey = new UserAssessmentSurvey
                {
                    Id                 = id,
                    UserId             = userId,
                    UserSurveyId       = usersurvey.Data.Id,
                    UserAssessmentBlob = model.BlobIds.Select(b => new UserAssessmentBlob
                    {
                        Id     = Guid.NewGuid(),
                        BlobId = b,
                        UserAssesmentSurveyId = id
                    }).ToList()
                };
                _repository.Add(userAssessmentSurvey);
                await _repository.CommitAsync();

                return(Result <Guid> .Successful(id));
            }

            return(Result.Successful());
        }
Example #2
0
        public async Task <Result> AddSurveyReciepts(CreateUserAssessmentModel model)
        {
            var userId = new Guid(User.Claims.FirstOrDefault(c => c.Type == "Id").Value);


            return(await _membershipServiceApi.MembershipUserApiService.AddReciept(new UpdateUserModel
                                                                                   { Id = userId, Receipts = model.BlobIds }));
        }
Example #3
0
        public async Task <Result <Guid> > CreateSurveyAssessment(CreateUserAssessmentModel model)
        {
            var userId     = new Guid(User.Claims.FirstOrDefault(c => c.Type == "Id").Value);
            var usersurvey = await _userSurveyBiz.GetByUserIdAndSurveyId(userId, model.SurveyId);

            var result = await _repository.FirstOrDefaultAsync <UserAssessmentSurvey>(uas =>
                                                                                      uas.UserId == userId && uas.UserSurveyId == usersurvey.Data.Id &&
                                                                                      !uas.UserAssessmentBlob.Any(a => !a.Blob.Title.Contains("ExtraFile")), uas => uas.UserAssessmentBlob);

            if (result.Data != null)
            {
                if (result.Data.UserAssessmentBlob != null && result.Data.UserAssessmentBlob.Any())
                {
                    _repository.RemoveRange(result.Data.UserAssessmentBlob);
                }
                _repository.Remove(result.Data);
            }

            if (model.BlobIds != null && model.BlobIds.Any())
            {
                var id = Guid.NewGuid();

                var userAssessmentSurvey = new UserAssessmentSurvey
                {
                    Id                 = id,
                    UserId             = userId,
                    UserSurveyId       = usersurvey.Data.Id,
                    UserAssessmentBlob = model.BlobIds.Select(b => new UserAssessmentBlob
                    {
                        Id     = Guid.NewGuid(),
                        BlobId = b,
                        UserAssesmentSurveyId = id
                    }).ToList()
                };
                _repository.Add(userAssessmentSurvey);
                await _repository.CommitAsync();

                return(Result <Guid> .Successful(id));
            }

            return(Result <Guid> .Successful(Guid.NewGuid()));
        }