public string Crear(string p_nif, string p_nombre, string p_apellidos, string p_direccion, string p_telefono, string p_codigoPostal, string p_pais, string p_localidad, string p_provincia, PalmeralGenNHibernate.Enumerated.Default_.TipoEmpleoEnum p_tipo)
        {
            TrabajadorEN trabajadorEN = null;
            string oid;

            //Initialized TrabajadorEN
            trabajadorEN = new TrabajadorEN ();
            trabajadorEN.Nif = p_nif;

            trabajadorEN.Nombre = p_nombre;

            trabajadorEN.Apellidos = p_apellidos;

            trabajadorEN.Direccion = p_direccion;

            trabajadorEN.Telefono = p_telefono;

            trabajadorEN.CodigoPostal = p_codigoPostal;

            trabajadorEN.Pais = p_pais;

            trabajadorEN.Localidad = p_localidad;

            trabajadorEN.Provincia = p_provincia;

            trabajadorEN.Tipo = p_tipo;

            //Call to TrabajadorCAD

            oid = _ITrabajadorCAD.Crear (trabajadorEN);
            return oid;
        }
        private IList<JGV> convertirJornadaGV(IList<JornadaFechaEN> lista)
        {
            IList<JGV> l = new List<JGV>();

            foreach (JornadaFechaEN j in lista)
            {
                InstalacionCEN ins = new InstalacionCEN();
                TrabajadorCEN tra = new TrabajadorCEN();
                TrabajadorEN t = new TrabajadorEN();
                JornadaFechaCEN jor = new JornadaFechaCEN();

                l.Add(new JGV()
                {
                    Id = jor.ObtenerJornada(j.Id).Id.ToString(),
                    Fecha = jor.ObtenerJornada(j.Id).Fecha.ToString(),
                    NombreI = ins.ObtenerInstalacion(j.Instalacion.Id).Nombre
                });
            }

            return l;
        }
        public void Editar(TrabajadorEN trabajador)
        {
            try
            {
                SessionInitializeTransaction ();
                TrabajadorEN trabajadorEN = (TrabajadorEN)session.Load (typeof(TrabajadorEN), trabajador.Nif);

                trabajadorEN.Nombre = trabajador.Nombre;

                trabajadorEN.Apellidos = trabajador.Apellidos;

                trabajadorEN.Direccion = trabajador.Direccion;

                trabajadorEN.Telefono = trabajador.Telefono;

                trabajadorEN.CodigoPostal = trabajador.CodigoPostal;

                trabajadorEN.Pais = trabajador.Pais;

                trabajadorEN.Localidad = trabajador.Localidad;

                trabajadorEN.Provincia = trabajador.Provincia;

                trabajadorEN.Tipo = trabajador.Tipo;

                session.Update (trabajadorEN);
                SessionCommit ();
            }

            catch (Exception ex) {
                SessionRollBack ();
                if (ex is PalmeralGenNHibernate.Exceptions.ModelException)
                        throw ex;
                throw new PalmeralGenNHibernate.Exceptions.DataLayerException ("Error in TrabajadorCAD.", ex);
            }

            finally
            {
                SessionClose ();
            }
        }
        public string Crear(TrabajadorEN trabajador)
        {
            try
            {
                SessionInitializeTransaction ();

                session.Save (trabajador);
                SessionCommit ();
            }

            catch (Exception ex) {
                SessionRollBack ();
                if (ex is PalmeralGenNHibernate.Exceptions.ModelException)
                        throw ex;
                throw new PalmeralGenNHibernate.Exceptions.DataLayerException ("Error in TrabajadorCAD.", ex);
            }

            finally
            {
                SessionClose ();
            }

            return trabajador.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 MostrarCampos(string id)
 {
     TrabajadorCEN trabajador = new TrabajadorCEN();
     TrabajadorEN mostrar = new TrabajadorEN();
     mostrar=trabajador.ObtenerTrabajador(id);
     NifBox.Text = mostrar.Nif;
     NombreBox.Text = mostrar.Nombre;
     ApellidosBox.Text = mostrar.Apellidos;
     DireccionBox.Text = mostrar.Direccion;
     CpBox.Text = mostrar.CodigoPostal;
     LocalidadBox.Text = mostrar.Localidad;
     ProvinciaBox.Text = mostrar.Provincia;
     PaisBox.Text = mostrar.Pais;
     TelefonoBox.Text = mostrar.Telefono;
     TipoBox.Text = mostrar.Tipo.ToString();
     Editar.Visible = true;
     Cancelar.Visible = false;
 }
 public TrabajadorEN(TrabajadorEN trabajador)
 {
     this.init (trabajador.Nif, trabajador.Nombre, trabajador.Apellidos, trabajador.Direccion, trabajador.Telefono, trabajador.CodigoPostal, trabajador.Pais, trabajador.Localidad, trabajador.Provincia, trabajador.Tipo, trabajador.Nominas, trabajador.Jornadas);
 }
 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);
                }

            }
        }
        public void Relationer_trabajadores(int p_jornadafecha, System.Collections.Generic.IList<string> p_trabajador)
        {
            PalmeralGenNHibernate.EN.Default_.JornadaFechaEN jornadaFechaEN = null;
            try
            {
                SessionInitializeTransaction ();
                jornadaFechaEN = (JornadaFechaEN)session.Load (typeof(JornadaFechaEN), p_jornadafecha);
                PalmeralGenNHibernate.EN.Default_.TrabajadorEN trabajadoresENAux = null;
                if (jornadaFechaEN.Trabajadores == null) {
                        jornadaFechaEN.Trabajadores = new System.Collections.Generic.List<PalmeralGenNHibernate.EN.Default_.TrabajadorEN>();
                }

                foreach (string item in p_trabajador) {
                        trabajadoresENAux = new PalmeralGenNHibernate.EN.Default_.TrabajadorEN ();
                        trabajadoresENAux = (PalmeralGenNHibernate.EN.Default_.TrabajadorEN)session.Load (typeof(PalmeralGenNHibernate.EN.Default_.TrabajadorEN), item);
                        trabajadoresENAux.Jornadas.Add (jornadaFechaEN);

                        jornadaFechaEN.Trabajadores.Add (trabajadoresENAux);
                }

                session.Update (jornadaFechaEN);
                SessionCommit ();
            }

            catch (Exception ex) {
                SessionRollBack ();
                if (ex is PalmeralGenNHibernate.Exceptions.ModelException)
                        throw ex;
                throw new PalmeralGenNHibernate.Exceptions.DataLayerException ("Error in JornadaFechaCAD.", ex);
            }

            finally
            {
                SessionClose ();
            }
        }