public async void FormInptGroupFind() { // Arrange var options = GetOptions("FormInputGroupFind"); Guid id; FormInputGroup formInputGroup = null; using (var unitOfWork = GetUnitOfWork(options)) { var newFormInputGroup = await unitOfWork.FormInputGroupRepository.Insert(new FormInputGroup { FormTemplate = new FormTemplate { FormPosition = new FormPosition(), FormLabels = new List <FormLabel>() }, FormInputs = new List <FormInput>() }); id = newFormInputGroup.FormInputGroupId; await unitOfWork.Save(); } // Act using (var unitOfWork = GetUnitOfWork(options)) { formInputGroup = await unitOfWork.FormInputGroupRepository.Find(id); } // Assert Assert.NotNull(formInputGroup); }
private async Task <FormInputGroupModel> ToModel(FormInputGroup formInputGroup) { var formInputGroupModel = new FormInputGroupModel { // Get form template as model. FormTemplate = await ToModel(formInputGroup.FormTemplate), FormInputs = formInputGroup.FormInputs.Select(fi => fi.Value) }; return(formInputGroupModel); }
public async Task <SheetModel> CreateSheet(SheetModel sheetModel) { await AuthenticateUser(sheetModel.UserId); var sheet = new Sheet { UserId = sheetModel.UserId, FormInputGroups = new List <FormInputGroup>() }; // Create form input groups. foreach (var formInputGroupModel in sheetModel.FormGroups) { var formTemplate = await _unitOfWork.FormTemplateRepository.Find(formInputGroupModel.FormTemplateId); if (formTemplate == null) { throw new InvalidOperationException("Form template not found."); } var formInputGroup = new FormInputGroup { FormTemplate = formTemplate, FormInputs = new List <FormInput>() }; for (int i = 0; i < formInputGroupModel.FormInputs.Count(); i++) { var formInput = new FormInput { Index = i, Value = formInputGroupModel.FormInputs.ElementAt(i) }; formInputGroup.FormInputs.Add(formInput); } sheet.FormInputGroups.Add(formInputGroup); } await _unitOfWork.SheetRepository.Insert(sheet); await _unitOfWork.Save(); _logger.LogInformation($"New Sheet: {sheet.SheetId} by {sheet.SheetId}"); return(await ToModel(sheet)); }
public async Task <FormInputGroupModel> GetFormInputGroup(FormInputGroup formInputGroup) { // Instantiate form input group model. var id = formInputGroup.FormInputGroupId; var formInputGroupModel = new FormInputGroupModel { FormInputGroupId = formInputGroup.FormInputGroupId, // Get form template as model. FormTemplate = await this.GetFormTemplate(formInputGroup.FormTemplateId) }; // Get form inputs as model. var formInputs = await _unitOfWork.FormInputGroupRepository.GetFormInputs(id); formInputGroupModel.FormInputs = formInputs.Select(formInput => formInput.Value); return(formInputGroupModel); }
/// <summary> /// Convert sheet model into object. /// </summary> /// <param name="sheetModel">Sheet model.</param> /// <returns>Sheet object.</returns> private async Task <Sheet> ToObject(SheetModel sheetModel) { var sheet = new Sheet { FormInputGroups = new List <FormInputGroup>(), Name = sheetModel.Name }; // Create form input groups. foreach (var formInputGroupModel in sheetModel.FormGroups) { var formTemplate = await _unitOfWork.FormTemplateRepository.Find(formInputGroupModel.FormTemplateId); if (formTemplate == null) { throw new InvalidOperationException("Form template not found."); } var formInputGroup = new FormInputGroup { FormTemplate = formTemplate, FormInputs = new List <FormInput>() }; for (int i = 0; i < formInputGroupModel.FormInputs.Count(); i++) { var formInput = new FormInput { Index = i, Value = formInputGroupModel.FormInputs.ElementAt(i) }; formInputGroup.FormInputs.Add(formInput); } sheet.FormInputGroups.Add(formInputGroup); } return(await Task.FromResult(sheet)); }