Пример #1
0
        /// <summary>
        /// This method creates a dynamic FlowDocument. You can add anything to this
        /// FlowDocument that you would like to send to the printer
        /// </summary>
        /// <returns></returns>
        public static void CreateFlowDocument(LIVEX.UserControls.NominaMaestros nom)
        {
            // Create a FlowDocument
            FlowDocument doc = new FlowDocument();

            // Create a Section
            Section sec = new Section();



            BlockUIContainer Contenido = new BlockUIContainer();

            Contenido.Child = nom.stkContent;
            sec.Blocks.Add(Contenido);


            // Add Paragraph to Section
            //sec.Blocks.Add(nom);

            // Add Section to FlowDocument
            doc.Blocks.Add(sec);
            doc.Name = "FlowDoc";
            PrintDialog printDlg = new PrintDialog();
            IDocumentPaginatorSource idpSource = doc;

            printDlg.PrintDocument(idpSource.DocumentPaginator, "Hello WPF Printing.");
        }
Пример #2
0
        public static void FillHeaderNom(LIVEX.UserControls.TableTeacherGroup ttg, LIVEX.UserControls.NominaMaestros nom)
        {
            livexEntities         context = new livexEntities();
            List <teacher_skills> lstTs   = new List <teacher_skills>();
            teacher t = new teacher();

            string[] ciclo = ttg.cmbCiclo.Text.Split(' ');
            string   middleDay;

            int idTeacher = Int32.Parse(ttg.cmbTeacherNames.SelectedValue.ToString());

            lstTs = context.teacher_skills.Where(x => x.teacherID == idTeacher).ToList();
            t     = context.teacher.FirstOrDefault(x => x.idteacher == idTeacher);

            DateTime firstDay = DateTime.Parse(ciclo[4]);
            DateTime lastDay  = DateTime.Parse(ciclo[6]);

            middleDay          = firstDay.AddDays(12).ToShortDateString();
            nom.txtTName.Text  = ttg.cmbTeacherNames.Text;
            nom.txtCiclo.Text  = ciclo[0] + " " + ciclo[1] + " " + ciclo[2];
            nom.txtFechas.Text = ciclo[4] + " AL\n " + middleDay;
            nom.txtYear.Text   = DateTime.Parse(ciclo[4]).Year.ToString();
            nom.txtAlta.Text   = t.start_date;
            if (ciclo[2] == "A")
            {
                nom.txtNoSemanas.Text = "SEMANA 1 y 2";
            }
            else
            {
                nom.txtNoSemanas.Text = "SEMANA 3 y 4";
            }
            nom.txtFechaInicio.Text = "INICIA \n" + firstDay.ToShortDateString();
            nom.txtFechaFin.Text    = "TERMINA \n" + lastDay.ToShortDateString();
            nom.txtFechaDep.Text    = "PARA DEPOSITO " + lastDay.AddDays(2).ToLongDateString().ToUpper();


            foreach (teacher_skills ts in lstTs)
            {
                switch (ts.skillID)
                {
                case 1:
                    nom.txtTOEFL.Foreground = Brushes.Green;
                    break;

                case 2:
                    nom.txtExp.Foreground = Brushes.Green;
                    break;

                case 3:
                    nom.txtTra.Foreground = Brushes.Green;
                    break;

                case 4:
                    nom.txtLic.Foreground = Brushes.Green;
                    break;
                }
            }

            nom.txtSalario_Base.Text = t.salary_base.ToString();
            nom.txtSignName.Text     = ttg.cmbTeacherNames.Text.ToUpper() + " " + t.teacher_lastname.ToUpper();
            nom.txtTeacherName.Text  = "TEACHER: " + ttg.cmbTeacherNames.Text.ToUpper() + " " + t.teacher_lastname.ToUpper();

            AddGroups(idTeacher, nom, ciclo);
        }
Пример #3
0
 public static void CollapseControls(LIVEX.UserControls.NominaMaestros nom)
 {
     //nom.btnPrint.Visibility = Visibility.Collapsed;
     //nom.btnSalir.Visibility = Visibility.Hidden;
 }
Пример #4
0
        private static void AddGroups(int idTeacher, LIVEX.UserControls.NominaMaestros nom, string[] ciclo)
        {
            livexEntities context   = new livexEntities();
            List <grupo>  lstg      = new List <grupo>();
            int           numCycle  = Int32.Parse(ciclo[1]);
            string        cycleside = ciclo[2];
            string        startDate = ciclo[4];
            string        endDate   = ciclo[6];
            DateTime      date1     = Convert.ToDateTime(startDate);
            DateTime      date2     = Convert.ToDateTime(endDate);

            ciclo        c          = context.ciclo.FirstOrDefault(x => x.ciclo_num == numCycle && x.ciclo_side == cycleside && x.Fecha_inicio == startDate && x.Fecha_fin == endDate);
            List <ciclo> lstCyclesC = context.ciclo.Where(x => x.ciclo_side == "C" && x.year == date1.Year).ToList();// all the 1:1 and enterprise cycles of the year
            List <ciclo> lstCs      = new List <LIVEX.ciclo>();

            if (c != null)
            {
                lstg = context.grupo.Where(x => x.teacher.idteacher == idTeacher && x.CicloID == c.idciclo).ToList();
                foreach (ciclo iC in lstCyclesC)
                {
                    bool     addCycle = false;
                    DateTime d1       = Convert.ToDateTime(iC.Fecha_inicio);
                    DateTime d2       = Convert.ToDateTime(iC.Fecha_fin);
                    if (date1 >= d1 && date1 <= d2)
                    {
                        addCycle = true;
                    }

                    if (addCycle)
                    {
                        //lstCs.Add(iC);
                        grupo g = context.grupo.FirstOrDefault(x => x.teacher.idteacher == idTeacher && x.CicloID == iC.idciclo);
                        if (g != null)
                        {
                            lstg.Add(g);
                        }
                    }
                }
            }

            if (lstg != null)
            {
                for (int x = 0; x < lstg.Count; x++)
                {
                    Grid      grdGroup = new Grid();
                    Thickness margin   = grdGroup.Margin;
                    margin.Top      = 20;
                    grdGroup.Margin = margin;



                    //Columns
                    ColumnDefinition col1 = new ColumnDefinition();
                    ColumnDefinition col2 = new ColumnDefinition();
                    ColumnDefinition col3 = new ColumnDefinition();
                    ColumnDefinition col4 = new ColumnDefinition();
                    ColumnDefinition col5 = new ColumnDefinition();
                    ColumnDefinition col6 = new ColumnDefinition();
                    ColumnDefinition col7 = new ColumnDefinition();
                    grdGroup.ColumnDefinitions.Add(col1);
                    grdGroup.ColumnDefinitions.Add(col2);
                    grdGroup.ColumnDefinitions.Add(col3);
                    grdGroup.ColumnDefinitions.Add(col4);
                    grdGroup.ColumnDefinitions.Add(col5);
                    grdGroup.ColumnDefinitions.Add(col6);
                    grdGroup.ColumnDefinitions.Add(col7);

                    //Row
                    RowDefinition row1 = new RowDefinition();
                    RowDefinition row2 = new RowDefinition();
                    row2.Height = new GridLength(48);
                    RowDefinition row3 = new RowDefinition();
                    grdGroup.RowDefinitions.Add(row1);
                    grdGroup.RowDefinitions.Add(row2);
                    grdGroup.RowDefinitions.Add(row3);

                    //Column Header

                    Border myborderGrupo   = new Border();
                    Border myborderHorario = new Border();
                    Border myborderHr      = new Border();
                    Border myborderLevel   = new Border();
                    Border myborderNivel   = new Border();
                    Border myborderHoras   = new Border();
                    Border myborderHrs     = new Border();

                    myborderGrupo.Background        = Brushes.White;
                    myborderGrupo.BorderBrush       = Brushes.Black;
                    myborderGrupo.BorderThickness   = new Thickness(2, 2, 1, 0);
                    myborderHrs.BorderThickness     = new Thickness(0, 2, 2, 0);
                    myborderHorario.BorderThickness = new Thickness(0, 2, 1, 0);
                    myborderHoras.BorderThickness   = myborderNivel.BorderThickness = myborderLevel.BorderThickness = myborderHr.BorderThickness = myborderHorario.BorderThickness;
                    myborderHrs.BorderBrush         = myborderHoras.BorderBrush = myborderNivel.BorderBrush = myborderLevel.BorderBrush = myborderHr.BorderBrush = myborderHorario.BorderBrush = myborderGrupo.BorderBrush;
                    myborderHrs.Background          = myborderHoras.Background = myborderNivel.Background = myborderLevel.Background = myborderHr.Background = myborderHorario.Background = myborderGrupo.Background;

                    TextBlock txtGrupo = new TextBlock();
                    txtGrupo.Text          = "GRUPO " + (x + 1);
                    txtGrupo.TextAlignment = TextAlignment.Center;
                    txtGrupo.FontWeight    = FontWeights.Bold;
                    myborderGrupo.Child    = txtGrupo;
                    Grid.SetRow(myborderGrupo, 0);
                    Grid.SetColumn(myborderGrupo, 0);


                    TextBlock txtHorario = new TextBlock();
                    txtHorario.Text          = "HORARIO";
                    txtHorario.FontWeight    = FontWeights.Bold;
                    txtHorario.TextAlignment = TextAlignment.Center;
                    myborderHorario.Child    = txtHorario;
                    Grid.SetRow(myborderHorario, 0);
                    Grid.SetColumn(myborderHorario, 1);

                    TextBlock txtHr = new TextBlock();
                    txtHr.Text          = lstg[x].Horario_inicio;
                    txtHr.TextAlignment = TextAlignment.Center;
                    txtHr.FontWeight    = FontWeights.Bold;
                    myborderHr.Child    = txtHr;
                    Grid.SetRow(myborderHr, 0);
                    Grid.SetColumn(myborderHr, 2);

                    TextBlock txtLevel = new TextBlock();
                    txtLevel.Text          = "NIVEL";
                    txtLevel.TextAlignment = TextAlignment.Center;
                    txtLevel.FontWeight    = FontWeights.Bold;
                    myborderLevel.Child    = txtLevel;
                    Grid.SetRow(myborderLevel, 0);
                    Grid.SetColumn(myborderLevel, 3);

                    TextBlock txtNivel = new TextBlock();
                    txtNivel.Text          = lstg[x].nombre_nivel;
                    txtNivel.TextAlignment = TextAlignment.Center;
                    txtNivel.FontWeight    = FontWeights.Bold;
                    myborderNivel.Child    = txtNivel;
                    Grid.SetRow(myborderNivel, 0);
                    Grid.SetColumn(myborderNivel, 4);

                    TextBlock txtHoras = new TextBlock();
                    txtHoras.Text          = "HORAS";
                    txtHoras.FontWeight    = FontWeights.Bold;
                    txtHoras.TextAlignment = TextAlignment.Center;
                    myborderHoras.Child    = txtHoras;
                    Grid.SetRow(myborderHoras, 0);
                    Grid.SetColumn(myborderHoras, 5);

                    TextBox txtHrs = new TextBox();
                    txtHrs.Text          = "0";
                    txtHrs.TextAlignment = TextAlignment.Center;
                    txtHrs.FontWeight    = FontWeights.Bold;
                    myborderHrs.Child    = txtHrs;
                    txtHrs.KeyUp        += new KeyEventHandler(txtHrs_KeyUp);
                    Grid.SetRow(myborderHrs, 0);
                    Grid.SetColumn(myborderHrs, 6);


                    //Add columns header
                    grdGroup.Children.Add(myborderGrupo);
                    grdGroup.Children.Add(myborderHorario);
                    grdGroup.Children.Add(myborderHr);
                    grdGroup.Children.Add(myborderLevel);
                    grdGroup.Children.Add(myborderNivel);
                    grdGroup.Children.Add(myborderHoras);
                    grdGroup.Children.Add(myborderHrs);

                    //Middle Row

                    Border myborderAlumnos  = new Border();
                    Border myborder_SalBase = new Border();
                    Border myborderComAl    = new Border();
                    Border myborderBAsiP    = new Border();
                    Border myborderBExe     = new Border();
                    Border myborderTotByHr  = new Border();
                    Border myborderTot      = new Border();

                    myborderAlumnos.Background       = new SolidColorBrush(Color.FromRgb(25, 156, 174));
                    myborderAlumnos.BorderBrush      = Brushes.Black;
                    myborderAlumnos.BorderThickness  = new Thickness(2, 1, 1, 0);
                    myborderTot.BorderThickness      = new Thickness(0, 1, 2, 0);
                    myborder_SalBase.BorderThickness = new Thickness(0, 1, 1, 0);

                    myborderTotByHr.BorderThickness = myborderBExe.BorderThickness = myborderBAsiP.BorderThickness = myborderComAl.BorderThickness = myborder_SalBase.BorderThickness;
                    myborderTot.BorderBrush         = myborderTotByHr.BorderBrush = myborderBExe.BorderBrush = myborderBAsiP.BorderBrush = myborderComAl.BorderBrush = myborder_SalBase.BorderBrush = myborderAlumnos.BorderBrush;
                    myborderTot.Background          = myborderTotByHr.Background = myborderBExe.Background = myborderBAsiP.Background = myborderComAl.Background = myborder_SalBase.Background = myborderAlumnos.Background;

                    TextBlock txtAlumnos = new TextBlock();
                    txtAlumnos.Text          = "# Alumnos ";
                    txtAlumnos.TextAlignment = TextAlignment.Center;
                    myborderAlumnos.Child    = txtAlumnos;
                    Grid.SetRow(myborderAlumnos, 1);
                    Grid.SetColumn(myborderAlumnos, 0);

                    TextBlock txtSalBase = new TextBlock();
                    txtSalBase.Text          = "Salario base";
                    txtSalBase.TextAlignment = TextAlignment.Center;
                    myborder_SalBase.Child   = txtSalBase;
                    Grid.SetRow(myborder_SalBase, 1);
                    Grid.SetColumn(myborder_SalBase, 1);

                    TextBlock txtComAl = new TextBlock();
                    txtComAl.Text          = "Comision por\nAlumno";
                    txtComAl.TextAlignment = TextAlignment.Center;
                    myborderComAl.Child    = txtComAl;
                    Grid.SetRow(myborderComAl, 1);
                    Grid.SetColumn(myborderComAl, 2);

                    TextBlock txtBAsiP = new TextBlock();
                    txtBAsiP.Text          = "Bono\nAsistencia y\npuntualidad";
                    txtBAsiP.TextAlignment = TextAlignment.Center;
                    myborderBAsiP.Child    = txtBAsiP;
                    Grid.SetRow(myborderBAsiP, 1);
                    Grid.SetColumn(myborderBAsiP, 3);

                    TextBlock txtBExe = new TextBlock();
                    txtBExe.Text          = "Bono  de\nExcelencia ";
                    txtBExe.TextAlignment = TextAlignment.Center;
                    myborderBExe.Child    = txtBExe;
                    Grid.SetRow(myborderBExe, 1);
                    Grid.SetColumn(myborderBExe, 4);

                    TextBlock txtTotByHr = new TextBlock();
                    txtTotByHr.Text          = "TOTAL POR\nHORA";
                    txtTotByHr.TextAlignment = TextAlignment.Center;
                    myborderTotByHr.Child    = txtTotByHr;
                    Grid.SetRow(myborderTotByHr, 1);
                    Grid.SetColumn(myborderTotByHr, 5);

                    TextBlock txtTot = new TextBlock();
                    txtTot.Text          = "TOTAL";
                    txtTot.TextAlignment = TextAlignment.Center;
                    myborderTot.Child    = txtTot;
                    Grid.SetRow(myborderTot, 1);
                    Grid.SetColumn(myborderTot, 6);

                    //Add Middle row
                    grdGroup.Children.Add(myborderAlumnos);
                    grdGroup.Children.Add(myborder_SalBase);
                    grdGroup.Children.Add(myborderComAl);
                    grdGroup.Children.Add(myborderBAsiP);
                    grdGroup.Children.Add(myborderBExe);
                    grdGroup.Children.Add(myborderTotByHr);
                    grdGroup.Children.Add(myborderTot);

                    //Last Row
                    Border myborderNoAlumnos = new Border();
                    Border myborderSalBase   = new Border();
                    Border myborderCComAl    = new Border();
                    Border myborderCBAsiP    = new Border();
                    Border myborderCBExe     = new Border();
                    Border myborderCTotByHr  = new Border();
                    Border mybordercTot      = new Border();

                    myborderNoAlumnos.Background      = Brushes.White;
                    myborderCTotByHr.Background       = mybordercTot.Background = Brushes.LightBlue;
                    myborderNoAlumnos.BorderBrush     = Brushes.Black;
                    myborderNoAlumnos.BorderThickness = new Thickness(2, 1, 1, 2);
                    mybordercTot.BorderThickness      = new Thickness(0, 1, 2, 2);
                    myborderCComAl.BorderThickness    = new Thickness(0, 1, 1, 2);
                    mybordercTot.BorderBrush          = myborderCTotByHr.BorderBrush = myborderCBExe.BorderBrush = myborderCBAsiP.BorderBrush = myborderCComAl.BorderBrush = myborderSalBase.BorderBrush = myborderNoAlumnos.BorderBrush;
                    myborderCBExe.BorderThickness     = myborderCBAsiP.BorderThickness = myborderCTotByHr.BorderThickness = myborderSalBase.BorderThickness = myborderCComAl.BorderThickness;
                    myborderCBExe.Background          = myborderCBAsiP.Background = myborderCComAl.Background = myborderSalBase.Background = myborderNoAlumnos.Background;

                    TextBlock txtNoAlumnos = new TextBlock();
                    txtNoAlumnos.Text          = lstg[x].numero_alumnos.ToString();
                    txtNoAlumnos.TextAlignment = TextAlignment.Center;
                    myborderNoAlumnos.Child    = txtNoAlumnos;
                    Grid.SetRow(myborderNoAlumnos, 2);
                    Grid.SetColumn(myborderNoAlumnos, 0);

                    TextBlock txtCSalBase = new TextBlock();
                    txtCSalBase.Text          = lstg[x].teacher.salary_base.ToString();
                    txtCSalBase.TextAlignment = TextAlignment.Center;
                    myborderSalBase.Child     = txtCSalBase;
                    Grid.SetRow(myborderSalBase, 2);
                    Grid.SetColumn(myborderSalBase, 1);

                    TextBlock txtCComAl = new TextBlock();
                    txtCComAl.Text          = ((lstg[x].numero_alumnos) * (lstg[x].teacher.salary_base) * (0.15)).ToString();
                    txtCComAl.TextAlignment = TextAlignment.Center;
                    myborderCComAl.Child    = txtCComAl;
                    Grid.SetRow(myborderCComAl, 2);
                    Grid.SetColumn(myborderCComAl, 2);

                    TextBlock txtCBAsiP = new TextBlock();
                    Decimal   bono_asis = (lstg[x].teacher.salary_base + Decimal.Parse(txtCComAl.Text));
                    txtCBAsiP.TextAlignment = TextAlignment.Center;
                    Decimal Prop_bonoAsis = Decimal.Multiply(bono_asis, 0.2M);
                    txtCBAsiP.Text       = Prop_bonoAsis.ToString();
                    myborderCBAsiP.Child = txtCBAsiP;
                    Grid.SetRow(myborderCBAsiP, 2);
                    Grid.SetColumn(myborderCBAsiP, 3);

                    TextBlock txtCBExe = new TextBlock();
                    txtCBExe.Text          = Prop_bonoAsis.ToString();
                    txtCBExe.TextAlignment = TextAlignment.Center;
                    myborderCBExe.Child    = txtCBExe;
                    Grid.SetRow(myborderCBExe, 2);
                    Grid.SetColumn(myborderCBExe, 4);

                    TextBlock txtCTotByHr = new TextBlock();
                    txtCTotByHr.Text          = (lstg[x].teacher.salary_base + Decimal.Parse(txtCComAl.Text) + Decimal.Parse(txtCBAsiP.Text) + Decimal.Parse(txtCBExe.Text)).ToString();
                    txtCTotByHr.TextAlignment = TextAlignment.Center;
                    myborderCTotByHr.Child    = txtCTotByHr;
                    Grid.SetRow(myborderCTotByHr, 2);
                    Grid.SetColumn(myborderCTotByHr, 5);

                    TextBlock txtcTot = new TextBlock();
                    txtcTot.Text          = Decimal.Multiply(Decimal.Parse(txtCTotByHr.Text), Decimal.Parse(txtHrs.Text)).ToString();
                    txtcTot.TextAlignment = TextAlignment.Center;
                    txtcTot.FontWeight    = FontWeights.Bold;
                    mybordercTot.Child    = txtcTot;
                    Grid.SetRow(mybordercTot, 2);
                    Grid.SetColumn(mybordercTot, 6);


                    //Add Last row
                    grdGroup.Children.Add(myborderNoAlumnos);
                    grdGroup.Children.Add(myborderSalBase);
                    grdGroup.Children.Add(myborderCComAl);
                    grdGroup.Children.Add(myborderCBAsiP);
                    grdGroup.Children.Add(myborderCBExe);
                    grdGroup.Children.Add(myborderCTotByHr);
                    grdGroup.Children.Add(mybordercTot);

                    nom.stkContainer.Children.Add(grdGroup);
                }
            }
        }