コード例 #1
0
        public void UpdateSurvay(SurvayTypeDto dto)
        {
            try
            {
                var dbDto = GetSurvayTypeById(dto.Id);
                if (dbDto != null)
                {
                    dbDto.Description = dto.Description;
                    dbDto.IsActive    = dto.IsActive;
                    dbDto.UpdatedBy   = dto.UpdatedBy;
                    dbDto.UpdatedDate = DateTime.Now;

                    var entity = _mapper.Map <SurvayTypeDto, SurvayType>(dbDto);
                    _unitOfWork.GetRepository <SurvayType>().Update(entity);
                    var fieldDtos = dto.Fields;
                    if (fieldDtos != null && fieldDtos.Any())
                    {
                        _fieldService.UpdateField(fieldDtos, dto.Id);
                    }

                    Save();
                }

                _log.Error($"Error : Survay is not existing in DB , survay details :  {dbDto.Id} {dbDto.Survay.Name}");
            }
            catch (Exception e)
            {
                _log.Error($"Error :  {e}");
                throw new Exception(e.Message);
            }
        }
コード例 #2
0
        public void InsertSurvayType(SurvayTypeDto dto)
        {
            try
            {
                var repo   = _unitOfWork.GetRepository <SurvayType>();
                var entity = _mapper.Map <SurvayTypeDto, SurvayType>(dto);

                repo.Insert(entity);
                Save();
            }
            catch (Exception e)
            {
                _log.Error($"Error :  {e}");
                throw new Exception(e.Message);
            }
        }
コード例 #3
0
        private DataTable SetDataTableColumns(SurvayTypeDto survayType)
        {
            var languageName = GetLanguageName(survayType.LanguageType);
            var xlSheetName  = $"Answers{survayType.Survay?.Id}{languageName}";

            var answerDataTable = new DataTable(xlSheetName);
            var questions       = survayType.Fields.OrderBy(o => o.OrderNo);

            answerDataTable.Columns.Add("IndexNo");
            answerDataTable.Columns.Add("Start");
            answerDataTable.Columns.Add("End");
            answerDataTable.Columns.Add("Today");
            answerDataTable.Columns.Add("DeviceId");

            foreach (var question in questions)
            {
                if (question.Field_Type.ToLower() == "radio")
                {
                    answerDataTable.Columns.Add(question.Label);
                    continue;
                }
                else if (question.Field_Type.ToLower() == "checkboxes")
                {
                    if (question.FieldOption.Include_other_option)
                    {
                        answerDataTable.Columns.Add($"{question.Label}/Other");
                    }

                    foreach (var checkboxQ in question.FieldOption.Options.OrderBy(x => x.Id))
                    {
                        answerDataTable.Columns.Add($"{question.Label}/{checkboxQ.Label}");
                    }
                    continue;
                }
                else if (question.Field_Type.ToLower() == "checkwithtext")
                {
                    if (question.FieldOption.Include_other_option)
                    {
                        answerDataTable.Columns.Add($"{question.Label}/Other");
                    }
                    foreach (var checkboxQ in question.FieldOption.Options.OrderBy(x => x.Id))
                    {
                        answerDataTable.Columns.Add($"{question.Label}/{checkboxQ.Label}");
                    }
                    continue;
                }
                else if (question.Field_Type.ToLower() == "mulitiselect-matrix" || question.Field_Type.ToLower() == "single-matrix")
                {
                    foreach (var row in question.FieldOption.MatrixRows.OrderBy(x => x.Id))
                    {
                        foreach (var header in question.FieldOption.MatrixHeaders.OrderBy(c => c.Id))
                        {
                            answerDataTable.Columns.Add($"{question.Label}_{row.Label}_{header.Label}");
                        }
                    }
                    continue;
                }
                else
                {
                    answerDataTable.Columns.Add(question.Label);
                }
            }

            answerDataTable.Columns.Add("Res_Name");
            answerDataTable.Columns.Add("Res_Address");
            answerDataTable.Columns.Add("Res_Tele");
            answerDataTable.Columns.Add("Res_Age");

            return(answerDataTable);
        }