protected override void ResumenAction()
        {
            ResumenActionForm form = new ResumenActionForm();
            string            memo = string.Empty;

            if (_entity.MemoPreguntas != string.Empty)
            {
                memo = _entity.MemoPreguntas.Substring(0, _entity.MemoPreguntas.Length - 1);
            }
            PreguntaList preguntas = PreguntaList.GetPreguntasByList(memo);

            form.SetSourceData(EntityInfo, _modulo, preguntas);
            form.ShowDialog();
        }
        protected override void RellenaPreguntas()
        {
            PreguntaList _preguntas_examen = null;

            string memo = string.Empty;

            foreach (Pregunta_ExamenInfo item in _entity.Preguntas)
            {
                if (memo != string.Empty)
                {
                    memo += ",";
                }
                memo += item.OidPregunta.ToString();
            }

            if (memo != string.Empty)
            {
                _preguntas_examen = PreguntaList.GetPreguntasByList(memo);

                string inactivas = string.Empty;

                foreach (PreguntaInfo item in _preguntas_examen)
                {
                    if (!item.Activa)
                    {
                        inactivas += item.Serial.ToString() + ", ";
                    }
                }

                if (inactivas != string.Empty)
                {
                    inactivas = inactivas.Substring(0, inactivas.Length - 2);
                    MessageBox.Show(string.Format(Resources.Messages.PREGUNTAS_INACTIVAS, inactivas),
                                    moleQule.Library.Application.AppController.APP_TITLE,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);
                }
            }

            Datos_Preguntas.DataSource = _preguntas_examen;

            Preguntas_TB.Text = Datos_Preguntas.Count.ToString();
        }
        protected override void CellContentClick(int column, int row)
        {
            switch (Preguntas_Grid.Columns[column].Name)
            {
            case "Ver_BT":
            {
                string memo = _entity.MemoPreguntas;

                if (memo != string.Empty)
                {
                    memo = memo.Substring(0, memo.Length - 1);
                }
                memo = memo.Replace(';', ',');

                PreguntaList preguntas = PreguntaList.GetPreguntasByList(memo);

                PreguntaInfo      info = (PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem;
                PreguntasViewForm form = new PreguntasViewForm(info.Oid, preguntas, true);
                form.ShowDialog();
            }
            break;
            }
        }
예제 #4
0
        protected override void CellContentClick(int column, int row)
        {
            switch (Preguntas_Grid.Columns[column].Name)
            {
            case "Ordenar_BT":
            {
                OrdenarPreguntasInputForm form = new OrdenarPreguntasInputForm(true, row + 1);
                form.SetSourceData(Entity, Preguntas_Grid.Rows.Count);
                form.ShowDialog();

                RellenaPreguntas();
            }
            break;

            case "Ver_BT":
            {
                //Pregunta.OpenSession();
                string memo = string.Empty;

                foreach (Pregunta_Examen item in Entity.Pregunta_Examens)
                {
                    memo += item.OidPregunta.ToString() + ",";
                }

                if (memo != string.Empty)
                {
                    memo = memo.Substring(0, memo.Length - 1);
                }

                PreguntaList preguntas = PreguntaList.GetPreguntasByList(memo);

                PreguntaInfo      info = (PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem;
                PreguntasViewForm form = new PreguntasViewForm(info.Oid, preguntas, true);
                form.ShowDialog();
            }
            break;

            case "Editar_BT":
            {
                string memo = string.Empty;

                foreach (Pregunta_Examen item in Entity.Pregunta_Examens)
                {
                    memo += item.OidPregunta.ToString() + ",";
                }

                if (memo != string.Empty)
                {
                    memo = memo.Substring(0, memo.Length - 1);
                }

                Preguntas    preguntas = Preguntas.GetPreguntasByList(memo, _entity.SessionCode);
                Preguntas    ordenadas = Preguntas.NewList();
                PreguntaInfo info      = (PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem;

                //se ordenan las preguntas para que se vayan mostrando en el mismo orden que en el examen
                foreach (Pregunta_Examen item in _entity.Pregunta_Examens)
                {
                    ordenadas.AddItem(preguntas.GetItem(item.OidPregunta));
                }

                Pregunta activa = ordenadas.GetItem(info.Oid);
                SortedBindingList <Pregunta> sorted = Preguntas.SortList(ordenadas, "Codigo", ListSortDirection.Ascending);

                PreguntasEditForm form = new PreguntasEditForm(activa, sorted, true);
                form.ShowDialog();

                //se recarga la lista de preguntas a seleccionar para que estén actualizadas
                PreguntasModulo = PreguntaList.GetPreguntasModulo(_entity.OidModulo, _entity.MemoPreguntas);

                RellenaPreguntas();
                //preguntas.CloseSession();
                ordenadas.CloseSession();
            }
            break;

            case "Eliminar_BT":
            {
                DialogResult result;

                result = MessageBox.Show("¿Está seguro que desea eliminar la pregunta seleccionada?", "Aviso", MessageBoxButtons.YesNo);

                if (result == DialogResult.Yes)
                {
                    //string memo_preguntas = Entity.MemoPreguntas;
                    //int pos = 0;

                    //long oid_eliminada = ((PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem).Oid;

                    //string[] lista = Entity.MemoPreguntas.Split(';');
                    //Entity.MemoPreguntas = string.Empty;

                    //foreach (string oid in lista)
                    //{
                    //    try
                    //    {
                    //        long oid_pregunta = Convert.ToInt32(oid);
                    //        if (oid_pregunta != oid_eliminada)
                    //            Entity.MemoPreguntas += oid_pregunta + ";";
                    //        else
                    //        {
                    //            Pregunta item = _preguntas.GetItem(oid_pregunta);
                    //            item.Reservada = false;
                    //        }
                    //    }
                    //    catch
                    //    {
                    //        continue;
                    //    }
                    //}

                    foreach (Pregunta_Examen item in Entity.Pregunta_Examens)
                    {
                        if (item.OidPregunta == ((PreguntaInfo)Preguntas_Grid.Rows[row].DataBoundItem).Oid)
                        {
                            Entity.Pregunta_Examens.Remove(item);
                            break;
                        }
                    }

                    //while (memo_preguntas != string.Empty)
                    //{
                    //    string pregunta;
                    //    int index = memo_preguntas.IndexOf(";");
                    //    pregunta = memo_preguntas.Substring(0, index + 1);
                    //    memo_preguntas = memo_preguntas.Substring(index + 1);
                    //    if (pos != row)
                    //        Entity.MemoPreguntas += pregunta;
                    //    else
                    //    {
                    //        int l = pregunta.Length;
                    //        Pregunta p = _modulo.Preguntas.GetItem(Convert.ToInt64(pregunta.Substring(0, l - 1)));
                    //        p.Reservada = false;

                    //    }
                    //    pos++;
                    //}

                    RellenaPreguntas();
                }
            }
            break;
            }
        }
예제 #5
0
        protected override void PrintAction()
        {
            if (Entity.Pregunta_Examens.Count == 0)
            {
                return;
            }

            moleQule.Library.Timer t = new moleQule.Library.Timer();
            t.Start();

            //se obliga a guardar el examen antes de imprimir por si durante la impresión hubiera algún problema
            //quedan guardadas las modificaciones que pudieran no haberse guardado
            //if (Entity.IsDirty)
            //{
            //DialogResult result = MessageBox.Show(Resources.Messages.GUARDADO_EXAMEN,
            //    moleQule.Face.Resources.Labels.ADVISE_TITLE, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            //if (result == DialogResult.OK)
            //{
            try
            {
                ValidateInput();
            }
            catch (iQValidationException ex)
            {
                MessageBox.Show(ex.Message,
                                moleQule.Face.Resources.Labels.ADVISE_TITLE,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }
            //}
            //else
            //    return;
            //}

            Entity.PreguntaExamens = PreguntaExamens.NewChildList();

            string memo = string.Empty;

            foreach (Pregunta_Examen item in Entity.Pregunta_Examens)
            {
                memo += item.OidPregunta.ToString() + ",";
            }

            if (memo != string.Empty)
            {
                memo = memo.Substring(0, memo.Length - 1);
            }
            RespuestaList respuestas = RespuestaList.GetRespuestasExamenList(memo);

            foreach (DataGridViewRow row in Preguntas_Grid.Rows)
            {
                PreguntaInfo p = _preguntas_modulo.GetItem(((PreguntaInfo)row.DataBoundItem).Oid);
                t.Record("Obtener pregunta de la lista de preguntas del examen");

                PreguntaExamen pexamen = PreguntaExamen.NewChild(_entity);
                pexamen.CopyValues(p);
                pexamen.Orden = Convert.ToInt64(row.Cells[N_Orden.Name].Value);
                pexamen.MarkItemChild();
                t.Record("Crear PreguntaExamen");

                Entity.PreguntaExamens.AddItem(pexamen);
                FCriteria <long> criteria = new FCriteria <long>("OidPregunta", p.Oid);

                foreach (RespuestaInfo item in respuestas)
                {
                    if (p.Oid == item.OidPregunta)
                    {
                        RespuestaExamen rexamen = RespuestaExamen.NewChild(pexamen);
                        rexamen.CopyValues(item);
                        rexamen.MarkItemChild();
                        pexamen.RespuestaExamens.AddItem(rexamen);
                    }
                }
            }

            //Preguntas preguntas_examen = null;/* Pregunta.GetPreguntasByList(memo);*/
            PreguntaList preguntas_examen_list = PreguntaList.GetPreguntasByList(memo);

            if (EntityInfo.Desarrollo)
            {
                //tiene que llamar a ExamenDesarrolloReportForm
                ExamenDesarrolloReportForm form = new ExamenDesarrolloReportForm(true, EntityInfo, preguntas_examen_list, _entity.Pregunta_Examens);
                form.ShowDialog();
            }
            else
            {
                //tiene que llamar a ExamenTestReportForm
                ExamenTestReportForm form = new ExamenTestReportForm(true, EntityInfo, preguntas_examen_list, _entity.Pregunta_Examens);
                form.ShowDialog();
            }

            Entity.PreguntaExamens = PreguntaExamens.NewChildList();
        }
예제 #6
0
        protected override void RellenaPreguntas()
        {
            //Preguntas lista_aux = Preguntas.NewList();
            PreguntaList _preguntas_examen = null;

            //if (EntityInfo.MemoPreguntas.Length > 0)
            //{
            //    string lista = EntityInfo.MemoPreguntas.Replace(';', ',').Substring(0, EntityInfo.MemoPreguntas.Length - 1);
            //    lista_aux = Preguntas.GetPreguntasByList(lista);
            //}

            //string[] oid_preguntas = EntityInfo.MemoPreguntas.Split(';');

            //foreach (string item in oid_preguntas)
            //{
            //    try
            //    {
            //        long oid = Convert.ToInt32(item);
            //        //en _preguntas_examen se guardan las preguntas ordenadas según el campo MemoPreguntas
            //        _preguntas_examen.AddItem(lista_aux.GetItem(oid));
            //    }
            //    catch
            //    {
            //        continue;
            //    }
            //}

            string memo = string.Empty;

            foreach (Pregunta_Examen item in _entity.Pregunta_Examens)
            {
                if (memo != string.Empty)
                {
                    memo += ",";
                }
                memo += item.OidPregunta.ToString();
            }

            if (memo != string.Empty)
            {
                _preguntas_examen = PreguntaList.GetPreguntasByList(memo);

                string inactivas = string.Empty;

                foreach (PreguntaInfo item in _preguntas_examen)
                {
                    if (!item.Activa)
                    {
                        inactivas += item.Serial.ToString() + ", ";
                    }
                }

                if (inactivas != string.Empty)
                {
                    inactivas = inactivas.Substring(0, inactivas.Length - 2);
                    MessageBox.Show(string.Format(Resources.Messages.PREGUNTAS_INACTIVAS, inactivas),
                                    moleQule.Library.Application.AppController.APP_TITLE,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);
                }
            }

            Datos_Preguntas.DataSource = _preguntas_examen;

            Preguntas_TB.Text = Datos_Preguntas.Count.ToString();

            TimeSpan duracion = TimeSpan.Zero;
            TimeSpan tiempo_pregunta;

            if (_entity.Desarrollo)
            {
                tiempo_pregunta = moleQule.Library.Instruction.ModulePrincipal.GetTiempoPreguntasTipoDesarrolloSetting().TimeOfDay;
            }
            else
            {
                tiempo_pregunta = moleQule.Library.Instruction.ModulePrincipal.GetTiempoPreguntasTipoTestSetting().TimeOfDay;
            }

            duracion          = TimeSpan.FromSeconds(tiempo_pregunta.TotalSeconds * Datos_Preguntas.Count);
            _entity.Duracion  = Convert.ToDateTime(duracion.ToString());
            Duracion_MTB.Text = _entity.Duracion.Hour.ToString("00") + ":" + _entity.Duracion.Minute.ToString("00");
        }