Пример #1
0
        private static void GenerarRespuestasPredeterminadasEnInteraccion(
            InteraccionModel <InteraccionBusiness> interaccion,
            RespuestaInteraccionFormularioModelCollection respuestas,
            PreguntaFormularioModelCollection preguntas)
        {
            if (respuestas.Count != preguntas.Count)
            {
                if (respuestas.Count == 0)
                {
                    // Agrega todas las preguntas como respuestas predeterminadas
                    respuestas = new RespuestaInteraccionFormularioModelCollection();
                    foreach (var preg in preguntas)
                    {
                        respuestas.Add(new RespuestaInteraccionFormularioModel()
                        {
                            Interaccion        = (InteraccionModel)interaccion,
                            Pregunta_CodigoSAP = preg.Pregunta_CodigoSAP
                        });
                    }
                }
                else // Merge
                {
                    // Eliminar respuestas para las cuales no haya pregunta
                    for (int i = respuestas.Count - 1; i >= 0; i--)
                    {
                        RespuestaInteraccionFormularioModel rta = respuestas[i] as RespuestaInteraccionFormularioModel;
                        if (preguntas.Where((preg) => preg.Pregunta_CodigoSAP == rta.Pregunta_CodigoSAP).FirstOrDefault() == null)
                        {
                            respuestas.Remove(rta);
                        }
                    }

                    // Agregar respuestas que falten para cada pregunta
                    foreach (var preg in preguntas)
                    {
                        if (respuestas.Where((rta) => rta.Pregunta_CodigoSAP == preg.Pregunta_CodigoSAP).FirstOrDefault() == null)
                        {
                            respuestas.Add(new RespuestaInteraccionFormularioModel()
                            {
                                Interaccion        = (InteraccionModel)interaccion,
                                Pregunta_CodigoSAP = preg.Pregunta_CodigoSAP
                            });
                        }
                    }
                }
            }
            else
            {
                // Puede que la cuenta sea igual pero el contenido no.
                // Se asume que nunca va a suceder.
            }
            interaccion.RespuestasInteraccionFormulario = respuestas;
        }
        private static void GenerarRespuestasPredeterminadasEnInteraccion(
            InteraccionModel<InteraccionBusiness> interaccion,
            RespuestaInteraccionFormularioModelCollection respuestas,
            PreguntaFormularioModelCollection preguntas)
        {
            if (respuestas.Count != preguntas.Count)
            {
                if (respuestas.Count == 0)
                {
                    // Agrega todas las preguntas como respuestas predeterminadas
                    respuestas = new RespuestaInteraccionFormularioModelCollection();
                    foreach (var preg in preguntas)
                    {
                        respuestas.Add(new RespuestaInteraccionFormularioModel()
                        {
                            Interaccion = (InteraccionModel)interaccion,
                            Pregunta_CodigoSAP = preg.Pregunta_CodigoSAP
                        });
                    }
                }
                else // Merge
                {
                    // Eliminar respuestas para las cuales no haya pregunta
                    for (int i = respuestas.Count - 1; i >= 0; i--)
                    {
                        RespuestaInteraccionFormularioModel rta = respuestas[i] as RespuestaInteraccionFormularioModel;
                        if (preguntas.Where((preg) => preg.Pregunta_CodigoSAP == rta.Pregunta_CodigoSAP).FirstOrDefault() == null)
                        {
                            respuestas.Remove(rta);
                        }
                    }

                    // Agregar respuestas que falten para cada pregunta
                    foreach (var preg in preguntas)
                    {
                        if (respuestas.Where((rta) => rta.Pregunta_CodigoSAP == preg.Pregunta_CodigoSAP).FirstOrDefault() == null)
                        {
                            respuestas.Add(new RespuestaInteraccionFormularioModel()
                            {
                                Interaccion = (InteraccionModel)interaccion,
                                Pregunta_CodigoSAP = preg.Pregunta_CodigoSAP
                            });
                        }
                    }
                }
            }
            else
            {
                // Puede que la cuenta sea igual pero el contenido no.
                // Se asume que nunca va a suceder.
            }
            interaccion.RespuestasInteraccionFormulario = respuestas;
        }