public void Grid_Load(object sender, EventArgs e)
 {
     try
     {
         NominaCEN nomina = new NominaCEN();
         IList<NominaEN> lista = new List<NominaEN>();
         lista = nomina.ObtenerTodas(0, 0);
         Mostrar.DataSource = Convertir_NominaGW(lista);
         ComprobarLista(lista);
     }
     catch (Exception exc)
     {
         MessageBox.Show(exc.Message);
     }
 }
 public void RellenarCampos(string id, bool cope)
 {
     NominaCEN nomina = new NominaCEN();
     TrabajadorCEN t = new TrabajadorCEN();
     NominaEN n = new NominaEN();
     n = nomina.ObtenerNomina(id);
     IDBox.Text = id;
     ParteFijaBox.Text = n.ParteFija.ToString();
     if (cope)
     {
         ParteVariable.Visible = true;
         ParteVariableBox.Visible = true;
         ParteVariableBox.Text = n.ParteVariable.ToString();
     }
     HorasBox.Text = n.Horas.ToString();
     TotalBox.Text = n.Total.ToString();
     fecha.Visible = true;
     fechaBox.Visible = true;
     fechaBox.Text = n.Fecha.ToString();
     TrabajadorBox.Text = t.ObtenerTrabajador(n.Trabajador.Nif).Nif;
 }
        private void Crear_Click(object sender, EventArgs e)
        {
            try
            {
                NominaCEN nomina = new NominaCEN();
                TrabajadorCEN t = new TrabajadorCEN();
                TrabajadorEN trabajador = new TrabajadorEN();
                trabajador= t.ObtenerTrabajador(Trabajadores.SelectedItem.ToString());

                float variable=0;
                if (trabajador.Tipo.ToString().Equals("Cooperativista"))
                {
                    if (Variable_Box.Text.Length != 0)
                    {
                        variable = ComprobarFloat(Variable_Box.Text);
                    }
                    else
                    {
                        MessageBox.Show(Constantes._ERRORCAMPOSVACIOS);
                    }
                }
                if (Mes_Box.Text.Length != 0 && Fija_Box.Text.Length != 0 && Horas_Box.Text.Length != 0
                    && Total_Box.Text.Length!=0 && Anyo_Box.Text.Length!=0)
                {
                    string mes = BuscarMes(Mes_Box.Text);
                    float fijo = ComprobarFloat(Fija_Box.Text);
                    float horas = ComprobarFloat(Horas_Box.Text);
                    float total = ComprobarFloat(Total_Box.Text);
                    int anyo, int_mes;
                    Int32.TryParse(Anyo_Box.Text, out anyo);
                    Int32.TryParse(mes, out int_mes);
                    DateTime fecha = new DateTime(anyo, int_mes, 1, 0, 0, 0);
                    if (nomina.ObtenerNomina(trabajador.Nif + "_" + mes + "_" + Anyo_Box.Text) == null)
                    {
                        nomina.Crear(trabajador.Nif + "_" + mes + "_" + Anyo_Box.Text, fijo, variable,
                            horas, total, fecha, trabajador.Nif);

                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show(Constantes._ERRORNOMINAEXISTE);
                    }
                }
                else
                {
                    MessageBox.Show(Constantes._ERRORCAMPOSVACIOS);
                }
            }
            catch (Exception exp)
            {
                MessageBox.Show(Constantes._ERRORNOMINA + exp.Message);
            }
        }
        public void pdfTrabajador(TrabajadorEN trabajador)
        {
            Document document;
            document = new Document(PageSize.A4, 25, 25, 30, 30);
            string path = @"" + "Trabajador " + trabajador.Nif + ".pdf";
            FileStream fs = new FileStream(path, FileMode.OpenOrCreate);

            // Create an instance to the PDF file by creating an instance of the PDF
            // Writer class using the document and the filestrem in the constructor.
            PdfWriter writer = PdfWriter.GetInstance(document, fs);

            // Open the document to enable you to write to the document
            document.Open();

            // Creo cabecera del informe
            PdfPTable tableTitulo = new PdfPTable(2);
            tableTitulo.DefaultCell.Border = iTextSharp.text.Rectangle.NO_BORDER;
            PdfPCell cell = new PdfPCell(new Phrase("Informe de Trabajador"));
            cell.BorderWidth = 0;
            cell.Colspan = 3;
            cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
            tableTitulo.AddCell(cell);
            document.Add(tableTitulo);

            //Tabla sin bordes
            PdfPTable tableCabecera = new PdfPTable(2);
            tableCabecera.DefaultCell.Border = iTextSharp.text.Rectangle.NO_BORDER;

            //Cargamos la imagen de resources.
            System.Drawing.Image logores = Properties.Resources.logo;
            iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance(logores, System.Drawing.Imaging.ImageFormat.Jpeg);

            //Añado imagen a la cabecera y fecha.
            logo.ScaleAbsolute(100f, 100f);
            PdfPCell cellLogo = new PdfPCell(logo);
            cellLogo.BorderWidth = 0;
            tableCabecera.AddCell(cellLogo);
            tableCabecera.AddCell("\n\n\n\n\nEmpresa: " + Constantes._NOMBREEMPRESA + "\nLocalidad: " + Constantes._CIUDADEMPRESA + "\nFecha: " + DateTime.Now.ToString() + "\n");

            //Inserto tabla de cabecera
            document.Add(tableCabecera);

            Paragraph salto = new Paragraph(" ");
            document.Add(salto);
            document.Add(salto);

            //Añadimos una tabla con los datos del trabajador
            PdfPTable tableTrabajador = new PdfPTable(2);
            PdfPCell cell2 = new PdfPCell(new Phrase("Datos del Trabajador"));
            cell2.Colspan = 2;
            cell2.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
            tableTrabajador.AddCell(cell2);
            tableTrabajador.AddCell("NIF");
            tableTrabajador.AddCell(trabajador.Nif);
            tableTrabajador.AddCell("Nombre");
            tableTrabajador.AddCell(trabajador.Nombre);
            tableTrabajador.AddCell("Apellidos");
            tableTrabajador.AddCell(trabajador.Apellidos);
            tableTrabajador.AddCell("Dirección");
            tableTrabajador.AddCell(trabajador.Direccion);
            tableTrabajador.AddCell("Localidad");
            tableTrabajador.AddCell(trabajador.Localidad);
            tableTrabajador.AddCell("Provincia");
            tableTrabajador.AddCell(trabajador.Provincia);
            tableTrabajador.AddCell("CP");
            tableTrabajador.AddCell(trabajador.CodigoPostal);
            tableTrabajador.AddCell("País");
            tableTrabajador.AddCell(trabajador.Pais);
            tableTrabajador.AddCell("Teléfono");
            tableTrabajador.AddCell(trabajador.Telefono);
            tableTrabajador.AddCell("Tipo de Empleo");
            tableTrabajador.AddCell(trabajador.Tipo.ToString());
            document.Add(tableTrabajador);

            document.Add(salto);
            document.Add(salto);

            if (trabajador.Tipo.ToString().Equals("Cooperativista"))
            {
                //Añadimos una tabla con los datos del cliente
                PdfPTable tableNominas = new PdfPTable(5);
                tableNominas.TotalWidth = 500f;
                tableNominas.LockedWidth = true;
                PdfPCell cell3 = new PdfPCell(new Phrase("Nominas del Trabajador"));
                cell3.Colspan = 5;
                cell3.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
                tableNominas.AddCell(cell3);
                tableNominas.AddCell("Horas Trabajadas");
                tableNominas.AddCell("Parte Fija");
                tableNominas.AddCell("Parte Variable");
                tableNominas.AddCell("Total");
                tableNominas.AddCell("Fecha");
                NominaCEN nomina = new NominaCEN();
                IList<NominaEN> lista = new List<NominaEN>();
                lista = nomina.ObtenerTodas(0, 0);
                IList<NominaEN> listabuena = new List<NominaEN>();
                foreach (NominaEN n in lista)
                {
                    if (n.Trabajador.Nif.Equals(trabajador.Nif))
                    {
                        tableNominas.AddCell(n.Horas.ToString());
                        tableNominas.AddCell(n.ParteFija.ToString());
                        tableNominas.AddCell(n.ParteVariable.ToString());
                        tableNominas.AddCell(n.Total.ToString());
                        tableNominas.AddCell(n.Fecha.ToString());
                    }
                }
                document.Add(tableNominas);
            }
            else
            {
                //Añadimos una tabla con los datos del cliente
                PdfPTable tableNominas = new PdfPTable(4);
                tableNominas.TotalWidth = 500f;
                tableNominas.LockedWidth = true;
                PdfPCell cell3 = new PdfPCell(new Phrase("Nominas del Trabajador"));
                cell3.Colspan = 4;
                cell3.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
                tableNominas.AddCell(cell3);
                tableNominas.AddCell("Horas Trabajadas");
                tableNominas.AddCell("Parte Fija");
                tableNominas.AddCell("Total");
                tableNominas.AddCell("Fecha");
                NominaCEN nomina = new NominaCEN();
                IList<NominaEN> lista = new List<NominaEN>();
                lista = nomina.ObtenerTodas(0, 0);
                IList<NominaEN> listabuena = new List<NominaEN>();
                foreach (NominaEN n in lista)
                {
                    if (n.Trabajador.Nif.Equals(trabajador.Nif))
                    {
                        tableNominas.AddCell(n.Horas.ToString());
                        tableNominas.AddCell(n.ParteFija.ToString());
                        tableNominas.AddCell(n.Total.ToString());
                        tableNominas.AddCell(n.Fecha.ToString());
                    }
                }
                document.Add(tableNominas);
            }

            //Cerramos todo
            document.Close();
            writer.Close();
            fs.Close();

            MessageBox.Show("Se ha generado un informe en PDF con el nombre \"" + path + "\"");
        }
 private void CargarNominas(string id)
 {
     TrabajadorCEN trabajador = new TrabajadorCEN();
     TrabajadorEN t = trabajador.ObtenerTrabajador(id);
     NominaCEN nomina = new NominaCEN();
     IList<NominaEN> lista = new List<NominaEN>();
     t = trabajador.ObtenerTrabajador(id);
     lista = nomina.ObtenerTodas(0, 0);
     IList<NominaEN> listabuena = new List<NominaEN>();
     foreach (NominaEN n in lista)
     {
         if (n.Trabajador.Nif.Equals(t.Nif))
         {
             listabuena.Add(n);
         }
     }
     nominas.DataSource = listabuena;
 }
 private void EliminarNominas(string id)
 {
     TrabajadorCEN trabajador = new TrabajadorCEN();
     TrabajadorEN t = new TrabajadorEN();
     NominaCEN nomina = new NominaCEN();
     IList<NominaEN> lista = new List<NominaEN>();
     t = trabajador.ObtenerTrabajador(id);
     lista = nomina.ObtenerTodas(0, 0);
     IList<NominaEN> listabuena = new List<NominaEN>();
     foreach (NominaEN n in lista)
     {
         if (n.Trabajador.Nif.Equals(t.Nif))
         {
             nomina.Eliminar(n.Id);
         }
     }
 }
        private void BuscarNominas(object sender, EventArgs e)
        {
            NominaCEN nomina = new NominaCEN();
            IList<NominaEN> lista = new List<NominaEN>();

            if (Premisa.Text.Equals("Trabajador"))
            {
                if (Buscador.Text.Length == 9)
                {
                    try
                    {
                        TrabajadorCEN trabajador = new TrabajadorCEN();
                        TrabajadorEN t = new TrabajadorEN();
                        t = trabajador.ObtenerTrabajador(Buscador.Text);
                        lista = nomina.ObtenerTodas(0, 0);
                        IList<NominaEN> listabuena = new List<NominaEN>();
                        foreach (NominaEN n in lista)
                        {
                            if (n.Trabajador.Nif.Equals(t.Nif))
                            {
                                listabuena.Add(n);
                            }
                        }
                        Mostrar.DataSource = Convertir_NominaGW(listabuena);
                        ComprobarLista(lista);
                    }
                    catch (Exception exp)
                    {
                        MessageBox.Show(exp.Message);
                    }
                }
                else
                {
                    lista = nomina.ObtenerTodas(0, 0);
                    Mostrar.DataSource = Convertir_NominaGW(lista);
                    ComprobarLista(lista);
                }
            }
            else if (Premisa.Text.Equals("Fecha"))
            {

            }
            else if (Premisa.Text.Equals("Parte Fija"))
            {
                try
                {
                    float solucion;
                    bool convertido = float.TryParse(Buscador.Text, out solucion);

                    if (convertido == false && Buscador.Text.Length!=0)
                    {
                        MessageBox.Show("Porfavor inserte un sueldo númerico");
                    }
                    else if(Buscador.Text.Length==0)
                    {
                        lista = nomina.ObtenerTodas(0, 0);
                        Mostrar.DataSource = Convertir_NominaGW(lista);
                        ComprobarLista(lista);
                    }
                    else
                    {
                        lista = nomina.BuscarPorParteFija(solucion);
                        Mostrar.DataSource = Convertir_NominaGW(lista);
                        ComprobarLista(lista);
                    }
                }
                catch (Exception exp)
                {
                    MessageBox.Show(exp.Message);
                }

            }
        }
        private void Editar_Click(object sender, EventArgs e)
        {
            NominaCEN nomina = new NominaCEN();
            NominaGV n = (NominaGV)Mostrar.CurrentRow.DataBoundItem;

            ConsultarEditarNominas pantalla_nomina = new ConsultarEditarNominas(n.Id, n.DNI_Trabajador, true);
            pantalla_nomina.Owner = this;
            pantalla_nomina.Deactivate += new EventHandler(Grid_Load);
            pantalla_nomina.Show();
        }
        private void Aceptar_Click(object sender, EventArgs e)
        {
            NominaCEN nomina = new NominaCEN();

            if(HorasBox.Text.Length!=0)
            {
                try
                {
                    float f, v;
                    if (ParteFijaBox.Text.Length != 0)
                    {
                        f = ComprobarFloat(ParteFijaBox.Text);
                    }
                    else
                    {
                        f = 0;
                    }
                    if (ParteVariableBox.Text.Length != 0)
                    {
                        v = ComprobarFloat(ParteVariableBox.Text);
                    }
                    else
                    {
                        v = 0;
                    }

                    float h = ComprobarFloat(HorasBox.Text);
                    float t = ComprobarFloat(TotalBox.Text);
                    nomina.Editar(IDBox.Text, f, v, h, t, DateTime.Parse(fechaBox.Text));
                }
                catch (Exception exp)
                {
                    MessageBox.Show(exp.Message);
                }
            }
            this.Close();
        }