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); } }
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); } }
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); }