Beispiel #1
0
        public ChildForm(bool isModal, Form parent)
        {
            InitializeComponent();

            _form_id = DateTime.Now.ToBinary();

            _is_modal = isModal;

            this.MdiParent = _is_modal ? null : ((parent != null) ? ((parent.IsMdiContainer) ? parent : MainBaseForm.Instance) : MainBaseForm.Instance);

            _parent = parent as BaseForm;

            HelpProvider.HelpNamespace = Application.StartupPath + Resources.Paths.HELP_PATH + "Help.chm";

            if ((PgMng != null) && (BarSteps > 2))
            {
                if ((_parent != null) && (_parent is BaseForm))
                {
                    PgMng.Reset(BarSteps * 2, 2, Resources.Messages.LOADING_DATA, "ChildForm()", _parent as BaseForm);
                }
                else
                {
                    PgMng.Reset(BarSteps * 2, 2, Resources.Messages.LOADING_DATA, "ChildForm()", this);
                }
            }
#if TRACE
            // Para depuración de tiempos
            _timer = Library.Timer.Instance;
#endif
        }
        public ProgressInfoMng()
        {
            if (MainBaseForm.Instance != null)
            {
                _singleton = this;

                Globals.Instance.Cursor = Cursors.WaitCursor;

                _pg_form = ProgressInfoForm.Instance;
                _pg_bar  = Globals.Instance.ProgressBar;
                _cursor  = Globals.Instance.Cursor;
#if TRACE
                _timer = Library.Timer.Instance;
#endif
                //
                // BkWorker
                //
                this.BkWorker.WorkerReportsProgress      = true;
                this.BkWorker.WorkerSupportsCancellation = true;
                this.BkWorker.DoWork             += new System.ComponentModel.DoWorkEventHandler(this.BkWorker_DoWork);
                this.BkWorker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.BkWorker_RunWorkerCompleted);
                this.BkWorker.ProgressChanged    += new System.ComponentModel.ProgressChangedEventHandler(this.BkWorker_ProgressChanged);

                Init(100, 1);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Constructor para formularios asociados a un objeto (ViewForms & EditForms) modales
        /// </summary>
        /// <param name="oid">Oid del objeto que se va a editar</param>
        public ManagerEntityForm(long oid, bool isModal, Form parent)
            : base(isModal, parent)
        {
            // Para depuración de tiempos
            _timer = new moleQule.Library.Timer();

            InitializeComponent();

            _oid = oid;

            if (_oid == -1)
            {
                GetFormData();
            }
            else
            {
                GetFormData(_oid);
            }
        }
        //public override void PrintObject()
        //{
        //}

        //#endregion

        //#region Buttons

        //protected override void PrintAction()
        //{
        //    switch (TabControl.SelectedTab.Name)
        //    {
        //        case "General_TP":
        //            {
        //                PrintObject();
        //            } break;

        //        default:
        //            {
        //                PrintSelectSkinForm psform = new PrintSelectSkinForm(true);
        //                psform.EnableDetail(false);
        //                psform.ShowDialog();
        //                if (psform.DialogResult == DialogResult.Cancel) return;

        //                switch (TabControl.SelectedTab.Name)
        //                {
        //                    case "Redes_TP":
        //                        {
        //                            PrintData(Entidad.Red, psform.Source, psform.Type);
        //                        } break;

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

        #endregion

        #region Buttons

        /// <summary>
        /// Implementa Save_button_Click
        /// </summary>
        protected override void SaveAction()
        {
#if TRACE
            moleQule.Library.Timer t = new moleQule.Library.Timer();
#endif
            if (!_generado)
            {
                MessageBox.Show("No se ha generado ningún cronograma");
                _action_result = DialogResult.Ignore;
                return;
            }
            else
            {
                _entity.FechaCreacion = DateTime.Today;
                if (_entity.Plan == string.Empty)
                {
                    PlanEstudiosInfo plan = PlanEstudiosInfo.Get(_entity.OidPlan, false);
                    if (plan != null)
                    {
                        _entity.Plan = plan.Nombre;
                    }
                }
                if (_entity.Promocion == string.Empty)
                {
                    PromocionInfo promocion = PromocionInfo.Get(_entity.OidPromocion, false);
                    if (promocion != null)
                    {
                        _entity.Promocion = promocion.Nombre;
                    }
                }


                foreach (Sesion_Promocion item in _entity.Configuracion)
                {
                    item.HoraInicio = DateTime.Parse(item.Hora);
                }
#if TRACE
                t.Record("FechaCreacion");
#endif
                _action_result = SaveObject() ? DialogResult.OK : DialogResult.Ignore;
            }
        }
        private void DoGeneraCronograma()
        {
            PgMng.Reset(10, 1, Resources.Messages.GENERANDO_CRONOGRAMA, this);

            try
            {
                int clases_dia    = 0;
                int clases_sabado = 0;
                int total_dias    = 5;
                PgMng.Grow();

                List <bool> activas_dia = new List <bool>();

                if (CLB_1.CheckedIndices.Contains(0))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(1))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(2))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(3))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(4))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(5))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(6))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_1.CheckedIndices.Contains(7))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_2.CheckedIndices.Contains(0))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_2.CheckedIndices.Contains(1))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_2.CheckedIndices.Contains(2))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_2.CheckedIndices.Contains(3))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_2.CheckedIndices.Contains(4))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                if (CLB_2.CheckedIndices.Contains(5))
                {
                    clases_dia++;
                    activas_dia.Add(true);
                }
                else
                {
                    activas_dia.Add(false);
                }
                PgMng.Grow();

                List <bool> activas_sabado = new List <bool>();

                if (CLB_3.CheckedIndices.Contains(0))
                {
                    clases_sabado++;
                    activas_sabado.Add(true);
                }
                else
                {
                    activas_sabado.Add(false);
                }
                if (CLB_3.CheckedIndices.Contains(1))
                {
                    clases_sabado++;
                    activas_sabado.Add(true);
                }
                else
                {
                    activas_sabado.Add(false);
                }
                if (CLB_3.CheckedIndices.Contains(2))
                {
                    clases_sabado++;
                    activas_sabado.Add(true);
                }
                else
                {
                    activas_sabado.Add(false);
                }
                if (CLB_3.CheckedIndices.Contains(3))
                {
                    clases_sabado++;
                    activas_sabado.Add(true);
                }
                else
                {
                    activas_sabado.Add(false);
                }
                if (CLB_3.CheckedIndices.Contains(4))
                {
                    clases_sabado++;
                    activas_sabado.Add(true);
                }
                else
                {
                    activas_sabado.Add(false);
                }
                PgMng.Grow();

                if (clases_sabado > 0)
                {
                    total_dias = 6;
                }

                _entity.Configuracion = Sesiones_Promociones.NewChildList();

                for (int row_index = 0; row_index < Datos_Sesiones.List.Count; row_index++)
                {
                    Sesion_Promocion sp     = Sesion_Promocion.NewChild(_entity);
                    Sesion_Promocion sp_row = ((Sesion_Promocion)Datos_Sesiones.List[row_index]);
                    sp.Hora       = sp_row.Hora;
                    sp.HoraInicio = sp_row.HoraInicio;
                    sp.NHoras     = sp_row.NHoras;
                    _entity.Configuracion.Add(sp);
                }

                moleQule.Library.Timer t = new moleQule.Library.Timer();
                //t.Start();
                //t.Record("inicio");
                PromocionInfo    promocion = PromocionInfo.Get(_entity.OidPromocion, false);
                PlanEstudiosInfo plan      = PlanEstudiosInfo.Get(_entity.OidPlan, false);
                if (promocion != null)
                {
                    if (_entity.GeneraCronograma(promocion.Oid != 0 ? promocion.FechaInicio : plan.Fecha, DateTime.MaxValue, (int)Semana_NUD.Value, clases_dia, clases_sabado, total_dias, (int)Practicas_NUD.Value, t, activas_dia, activas_sabado))
                    {
                        //t.Record("fin");
                        //MessageBox.Show(t.GetCronos());
                        //t.Record("GeneraCronograma");
                        //MessageBox.Show("Cronograma generado con éxito");
                        _generado = true;
                    }
                    else
                    {
                        MessageBox.Show("No se ha podido generar el cronograma.\n" +
                                        "Compruebe que no se hayan eliminado clases que ya estuvieran planificadas.");
                        _generado = false;
                    }
                }
                else
                {
                    MessageBox.Show("No se ha podido generar el cronograma.\n" +
                                    "Seleccione una promoción.");
                    _generado = false;
                }
                //Generar_BT.Enabled = false;
                PgMng.Grow();
            }
            finally { PgMng.FillUp(); }
            if (_generado)
            {
                PgMng.ShowInfoException(Resources.Messages.CRONOGRAMA_GENERADO_CON_EXITO);
                Submit_BT.PerformClick();
            }
        }
Beispiel #6
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();
        }