/// <summary> /// Inicializa as propriedades. /// </summary> public TestSupport() { _createdBaseForm = new List<BaseForm>(); _createdPeriods = new List<Period>(); _createdResponseForm = new List<ResponseForm>(); _createdUser = new List<User>(); _createdSubmit = new List<Submit>(); //Cria o usuário Master createMasterUser(); BaseFormRepository = new BaseFormRepository(activeUser); PeriodRepository = new PeriodRepository(activeUser); ResponseFormRepository = new ResponseFormRepository(activeUser); UserRepository = new UserRepository(activeUser); SubmitRepository = new SubmitRepository(activeUser); }
private void createMasterUser() { using (Lib.Repositories.UserRepository rep = new UserRepository(null)) { Lib.Entities.User masterUser = new User(); masterUser.Login = "******"; masterUser.Name = "testeMaster"; masterUser.Password = "******"; masterUser.UserType = (int)Lib.Enumerations.UserType.Master; masterUser.Email = "*****@*****.**"; rep.createUserMaster(masterUser); _createdUser.Add(masterUser); activeUser = masterUser; } }
public List<ResponseForm> getResponseFormsByUserId(long userId, bool collabForms = false) { try { List<ResponseForm> responseForms = new List<ResponseForm>(); //Recupera os grupos User user = null; using (Lib.Repositories.UserRepository repUser = new UserRepository(this.ActiveUser)) { user = repUser.getInstanceById(userId); } //Buscando os questionários que o usuário preencheu responseForms.AddRange(context.ResponseForms .Include("BaseForm") .Include("BaseForm.Period") .Include("Answers") .Include("City") .Include("City.State") .Include("User") .Include("Submits") .Where(b => b.UserId == userId).ToList()); //Buscando os formulários que a entidade é colaboradora //Para cada grupo que o usuário é colaborador, busca os questionários do periodo e usuário responsável preencheu foreach (var group in user.Groups) { var forms = context.ResponseForms .Include("BaseForm") .Include("BaseForm.Period") .Include("Answers") .Include("City") .Include("City.State") .Include("User") .Include("Submits") .Where(b => b.UserId == group.ResponsableId && b.BaseForm.PeriodId == group.PeriodId && (b.CityId == group.CityId || b.CityId == null)).ToList(); forms.ForEach(f => { if (!responseForms.Select(c => c.Id).ToList().Contains(f.Id)) { responseForms.Add(f); } }); } responseForms.ForEach(responseForm => { responseForm.Reviews = context.Reviews.Where(r => r.ResponseFormId == responseForm.Id).ToList(); responseForm.Reviews.ForEach(r => { r.User = context.Users.Where(f => f.Id == r.UserId).FirstOrDefault(); }); //carrega os baseblocks responseForm.BaseForm.BaseBlocks = context.BaseBlocks.Where(bb => bb.BaseFormId == responseForm.BaseFormId).ToList(); responseForm.BaseForm.BaseBlocks.ForEach(bb => { //carrega os basesubblocks bb.BaseSubBlocks = context.BaseSubBlocks.Where(f => f.BaseBlockId == bb.Id).ToList(); bb.BaseSubBlocks.ForEach(bsb => { //carrega os basequestions bsb.BaseQuestions = context.BaseQuestions.Where(bq => bq.BaseSubBlockId == bsb.Id).ToList(); }); }); responseForm.Answers = responseForm.Answers.OrderBy(ans => ans.BaseQuestion.BaseSubBlock.Index).ToList(); }); return responseForms; } catch (Exception ex) { Log.ErrorLog.saveError("Lib.Repositories.ResponseFormRepository.getAll", ex); throw new Exception("Lib.Repositories.ResponseFormRepository.getAll - " + ex.Message, ex); } }