Exemplo n.º 1
0
        private Dictionary<string, string> GeEntryFormated(Form formDto, Entities.Form.FormEntry entry)
        {
            var result = new Dictionary<string, string>();

            result["EntryDate"] = entry.EntryDate.ToString();
            result["Ip"] = entry.Ip;

            var entryDto = Mapper.Map<Entities.Form.FormEntry, FormEntry>(entry);

            formDto.SetValues(entryDto);

            foreach (var kv in entry.ControlValues)
            {
                var controlId = int.Parse(kv.Key.Replace(FormSettings.COLUMN_PREFIX, string.Empty));
                var control = formDto.Controls.Single(c => c.Id == controlId) as ValueControl;

                result[kv.Key] = control.GetFormattedValue();

                //var optionValues = kv.Value;

                //if (control is OptionsControl)
                //{
                //    var optionsControl = (control as OptionsControl);

                //    switch (control.ControlType)
                //    {
                //        case ControlType.OptionList:
                //        {
                //            var values = optionValues.Split(new[] {FormSettings.SELECTED_VALUES_SEPARATOR}).ToArray();

                //            if (!string.IsNullOrEmpty(values[0]))
                //            {
                //                var option = optionsControl.Options.SingleOrDefault(o => o.Id == int.Parse(values[0]));

                //                if (option != null)
                //                    values[0] = option.Value;
                //            }

                //            optionValues = string.Join(FormSettings.SELECTED_VALUES_CLIENT_SEPARATOR.ToString(), values.Where(v => !string.IsNullOrEmpty(v)));
                //        }

                //            break;
                //        default:
                //        {
                //            var optionIds = optionValues.Split(new[] {FormSettings.SELECTED_VALUES_SEPARATOR}).Where(id => !string.IsNullOrEmpty(id)).Select(id => int.Parse(id)).ToArray();
                //            optionValues = string.Join(FormSettings.SELECTED_VALUES_CLIENT_SEPARATOR.ToString(), optionsControl.Options.Where(o => optionIds.Any(oi => oi == o.Id)).Select(o => o.Value).ToArray());

                //        }
                //            break;
                //    }
                //}
            }

            return result;
        }