Exemple #1
0
        public BasicResponse Save(FormItemDTO dto)
        {
            var response = new BasicResponse();
            try
            {
                var entity = new DformItemEntity()
                {

                    Id = dto.Id,
                    FormId = dto.FormId,
                    HelpText = dto.HelpText,
                    IdCode = "",
                    IsRequired = dto.IsRequired,
                    Label = dto.Label,
                    Section = dto.Section,
                    ValidationRegex = dto.ValidationRegex,
                    ValidationText = dto.ValidationText,
                    Order = dto.Order,
                    FormItemType = (DformItemType)dto.FormItemTypeId,

                };
                _formRepository.SaveFormItem(entity);
               // entity = _formRepository.QueryFormItem(new QueryFormItem {Id = entity.Id}).Result.FirstOrDefault();
                _formRepository.DeleteFormItemRespondent(entity.Id);
                foreach(var respondent in dto.RespondentTypes)
                {
                    var respondentItem = new DformItemRespondentTypeEntity
                                             {
                                                 Id = dto.Id,
                                                 FormItemId = entity.Id,
                                                 FormRespondentTypeId = respondent
                                             };
                    _formRepository.SaveFormItemRespondent(respondentItem);

                }
                _formRepository.DeleteFormItemAnswers(entity.Id);
                foreach (var ans in dto.PossibleOptions)
                {
                    var respondentItem = new DformItemAnswerEntity()
                    {
                        Id = dto.Id,
                       Text =ans.Text,
                       FormItemId = entity.Id,
                       Value = ans.Value,

                    };
                    _formRepository.SaveFormItemAnswers(respondentItem);

                }
                response.Status = true;
                response.Info = "Success";

            }

            catch (Exception ex)
            {
                response.Status = false;
                if (ex is DomainValidationException)
                {
                    var dex = ex as DomainValidationException;
                    response.Info = dex.FormatException();
                }
                else
                {
                    response.Status = false;
                    response.Info = ex.Message;
                }

            }
            return response;
        }
        public void SaveFormItemRespondent(DformItemRespondentTypeEntity entity)
        {
            var rItem = _context.FormItemRespondentTypes.FirstOrDefault(s => s.FormItemId == entity.FormItemId && s.FormRespondentTypeId ==entity.FormRespondentTypeId);
            if (rItem == null)
            {

                rItem =
                    new DformItemRespondentTypeEntity
                    {
                        Id = Guid.NewGuid(),
                    };
                _context.FormItemRespondentTypes.Add(rItem);
            }
            rItem.FormItemId = entity.FormItemId;
            rItem.FormRespondentTypeId = entity.FormRespondentTypeId;

            _context.SaveChanges();
        }
        protected void CreateItemRespondentType(Guid itemId, Guid respondenttypeId)
        {
            var rItem = _context.FormItemRespondentTypes.FirstOrDefault(s => s.FormItemId == itemId && s.FormRespondentTypeId==respondenttypeId);
              if (rItem == null)
              {

              rItem =
                  new DformItemRespondentTypeEntity
                      {
                          Id = Guid.NewGuid(),
                      };
              _context.FormItemRespondentTypes.Add(rItem);
              }
              rItem.FormItemId = itemId;
              rItem.FormRespondentTypeId = respondenttypeId;

              _context.SaveChanges();
        }