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()); }
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 })); }
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())); }