Esempio n. 1
0
        public override void RefreshSecondaryData()
        {
            Plan_TB.Text = PlanEstudiosInfo.Get(_entity.OidPlan).Nombre;
            PgMng.Grow(string.Empty, "Plan_TB");

            Promocion_TB.Text = PromocionInfo.Get(_entity.OidPromocion).Nombre;
            PgMng.Grow(string.Empty, "Promocion_TB");
        }
        //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;
            }
        }
Esempio n. 3
0
 protected override void GetFormSourceData(long oid)
 {
     _entity  = PlanEstudiosInfo.Get(oid, true);
     _mf_type = ManagerFormType.MFView;
 }
        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();
            }
        }