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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        /// <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));
        }