Beispiel #1
0
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            var wndHandle      = GetFocus();
            var focusedControl = FromChildHandle(wndHandle);

            if (keyData == Keys.F5)
            {
                accesoDatos = new AccesoFichador();

                DatosGridUsuario = accesoDatos.GetListaUsuarios();
                rdGridUsuarios.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

                rdGridUsuarios.DataSource = DatosGridUsuario.Select(list => new UsuariosListas {
                    ID = list.Id, nombre = list.nombre, EsAdmin = list.EsAdmin
                }).ToList();
                rdGridUsuarios.Columns["Id"].ReadOnly      = true;
                rdGridUsuarios.Columns["nombre"].ReadOnly  = true;
                rdGridUsuarios.Columns["EsAdmin"].ReadOnly = false;
            }

            if (keyData == Keys.Escape && SalirConEsc != null)
            {
                if (!(focusedControl is TextBoxBase) && !(focusedControl is RadTextBoxControl))
                {
                    var parentForm = ParentForm;
                    if (parentForm != null)
                    {
                        SalirConEsc(parentForm.ActiveControl, null);
                    }
                }
            }
            return(base.ProcessCmdKey(ref msg, keyData));
        }
Beispiel #2
0
        private void ListarUsuarios_Load(object sender, EventArgs e)
        {
            try
            {
                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                DatosGridUsuario = accesoDatos.GetListaUsuarios();
                rdGridUsuarios.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

                rdGridUsuarios.DataSource = rdGridUsuarios.DataSource = DatosGridUsuario.Select(list => new UsuariosListas {
                    ID = list.Id, nombre = list.nombre, EsAdmin = list.EsAdmin
                }).ToList();
                rdGridUsuarios.Columns["Id"].ReadOnly      = true;
                rdGridUsuarios.Columns["nombre"].ReadOnly  = true;
                rdGridUsuarios.Columns["EsAdmin"].ReadOnly = false;
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("ListarUsuario_Load realizada correctamente", 4);
        }
Beispiel #3
0
        public void filtrarUsuario()
        {
            var diaInicio = DateDiaPicker.Value.ToString("d");
            var diafin    = DateDiaPicker2.Value.ToString("d");
            var valor     = (UsuariosListas)cBoxListado.SelectedValue;

            try
            {
                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                datosJornada = accesoDatos.Jornada(DateDiaPicker.Value, DateDiaPicker2.Value, valor.ID);

                if (datosJornada.Count != 0)
                {
                    DataGridJornada.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
                    DataGridJornada.ReadOnly            = true;
                    DataGridJornada.DataSource          = datosJornada;

                    DataGridJornada.DataSource = datosJornada.Select(list => new Jornada {
                        Dia = list.Dia, HorasTrabajadas = list.HorasTrabajadas, TotalTareas = list.TotalTareas, Diferencia = list.Diferencia
                    }).ToList();
                }
            }

            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("filtrarUsuario correctamente realizado", 4);
        }
Beispiel #4
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                //hacemos una variable que contenga una lista con los datos del DataGrid
                var lista = (List <UsuariosListas>)rdGridUsuarios.DataSource;
                //la pasamos al metodo
                accesoDatos.GuardarListaUsuarios(lista);

                DatosGridUsuario = accesoDatos.GetListaUsuarios();
                rdGridUsuarios.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
                //rdGridUsuarios.ReadOnly = true;

                rdGridUsuarios.DataSource = rdGridUsuarios.DataSource = DatosGridUsuario.Select(list => new UsuariosListas {
                    ID = list.Id, nombre = list.nombre, EsAdmin = list.EsAdmin
                }).ToList();
                rdGridUsuarios.Columns["Id"].ReadOnly      = true;
                rdGridUsuarios.Columns["nombre"].ReadOnly  = true;
                rdGridUsuarios.Columns["EsAdmin"].ReadOnly = false;
                //rdGridUsuarios.DataSource = DatosGridUsuarios;
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("btnGuardar_Click realizada correctamente", 4);
        }
Beispiel #5
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //int num = accesoDatos.Jornada(Convert.ToDateTime(diaInicio), valor.ID);
            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }

            DateDiaPicker.MaxDate  = DateTime.Now;
            DateDiaPicker.Value    = DateTime.Now;
            DateDiaPicker.MinDate  = accesoDatos.consultaPrimerRegistro();
            DateDiaPicker2.MinDate = accesoDatos.consultaPrimerRegistro();
            DateDiaPicker2.MaxDate = DateTime.Now;
            DateDiaPicker2.Value   = DateTime.Now;

            //primero será sacar el campo EsAdmin del usuario actual, si es true que active el ComboBox, sino que lo descative y no deje filtrar
            cBoxListado.Enabled = accesoDatos.consultaAdmin();
            var lista = accesoDatos.RellenaComboBox();

            if (accesoDatos.consultaAdmin() == false)
            {
                lista = lista.Where(dato => dato.nombre == Environment.UserName).ToList();
            }

            cBoxListado.DataSource = lista;

            cBoxListado.DisplayMember = "nombre";
            secuencia = true;
            filtrarUsuario();
        }
Beispiel #6
0
        public MainForm()
        {
            InitializeComponent();
            this.Text = "CONTROL HORAS";

            //A PARTIR DE AQUI ES LO PRIMERO QUE SE EJECUTA:
            try
            {
                if (accesoDatos == null)
                {
                    this.accesoDatos = new AccesoFichador();
                }

                //comprueba que el usuario del entorno existe:

                var compruebaUsuario = accesoDatos.GetUsuarioByUserName(Environment.UserName);

                if (compruebaUsuario == null)
                {
                    //si es nulo crealo
                    accesoDatos.insertaUsuario(Environment.UserName);
                    MessageBox.Show("Se ha insertado el usuario " + Environment.UserName);
                }
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("MainForm() correctamente realizado", 4);
        }
Beispiel #7
0
        public void ModificarTareas(Alc.Model.ControlHoras.Tareas tareas, Tareas ventanaTareas)
        {
            try
            {
                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                //TODO: OTRA MANERA DE CONVERTIR:
                //var intvalue = 0;
                //int.TryParse(txtDuracionAM.Text, out intvalue);

                var idSel  = tareaslista.IDUsuario;
                var usuSel = accesoDatos.getUsuarioById(idSel);
                tareaslista.IDUsuario        = idSel;
                tareaslista.descripcionTarea = txtDescripcionAM.Text;

                var val = tareaslista.duracion;

                if (int.TryParse(nmrDuracion.Value.ToString(), out val) == true && val >= 0)
                {
                    tareaslista.duracion = Convert.ToInt32(nmrDuracion.Value);
                }
                else
                {
                    MessageBox.Show("No se pueden poner numeros");
                }

                tareaslista.nombreTarea = txtNombreTareaAM.Text;
                var calculoHoraInicio = accesoDatos.sumaDiaYHora(DateDiaPickerAM.Value, (DateTime)radTimePickerHoraInicioAM.Value);
                tareaslista.HoraInicioTarea = Convert.ToDateTime(calculoHoraInicio);
                DateTime dt = (DateTime)tareaslista.HoraInicioTarea;
                dt = dt.AddMinutes(tareaslista.duracion);
                tareaslista.HoraFinTarea = dt;

                int minutosFichados = accesoDatos.obtenerHorasTrabajadasDiaFichador(DateDiaPickerAM.Value.ToString("d"), idSel);

                if (tareaslista.duracion <= minutosFichados)
                {
                    accesoDatos.ControlHorasDB.Update(tareaslista);
                }
                else
                {
                    MessageBox.Show("REVISAR MINUTOS DE LAS TAREAS");
                }

                this.Close();
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("ModificarTareas correctamente realizado", 4);
        }
Beispiel #8
0
        /// <summary>
        /// METODO PARA RELLENAR Y CONFIGURAR DATAGRID:
        /// </summary>
        private void configuraFiltro()
        {
            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }

            var usu = (UsuariosListas)cBoxUsu.SelectedItem;

            //selecciona los datos del fichador basado en la fecha que selecciones

            DatosGrid = accesoDatos.GetListaByFecha2(TimePickerCalendario.Value, usu.ID);

            //autoajusta tamaño


            //DatosOriginales contiene una lista de FichadorMio
            //selecciona los datos del objeto, en el grid pon lo que selecciona

            DatosOriginales =
                DatosGrid.Select(
                    dato =>
                    new FichadorMio
            {
                Nombre     = dato.Nombre,
                HoraInicio = dato.HoraInicio,
                HoraFin    = dato.HoraFin,
                IDUsuario  = dato.IDUsuario,
                ID         = dato.Id
            }).ToList();


            //valor es igual al objeto del ComboBox, que lo casteamos a la lista de usuarios para poder seleccionar cada campo y hacer el Where
            var valor = (UsuariosListas)cBoxUsu.SelectedValue;

            if (DatosOriginales != null)
            {
                //hacemos el filtro comparando que el ID del user de la tabla Usuarios coincida con el del objeto de Fichador(el que hayamos seleccionado)
                gridCuadroInfo.DataSource = DatosOriginales.Where(user => user.IDUsuario == valor.ID).ToList();

                gridCuadroInfo.AutoSizeColumnsMode            = GridViewAutoSizeColumnsMode.Fill;
                gridCuadroInfo.ReadOnly                       = true;
                gridCuadroInfo.Columns["IDUsuario"].IsVisible = false;
                //gridCuadroInfo.Columns["Nombre"].So
            }
            else //por si acaso
            {
                gridCuadroInfo.DataSource = DatosOriginales;
            }
            gridCuadroInfo.Columns[1].HeaderText = "Hora de inicio";
            gridCuadroInfo.Columns[2].HeaderText = "Hora de fin";
        }
Beispiel #9
0
        private void AnadirYModificar_Load(object sender, EventArgs e)
        {
            try
            {
                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                DateDiaPickerAM.MaxDate = DateTime.Now;


                if (comprueba == true)
                {
                    DateDiaPickerAM.Value = DateTime.Now;
                    //radTimePickerHoraInicioAM.Value = DateTime.Now;

                    if (accesoDatos == null)
                    {
                        accesoDatos = new AccesoFichador();
                    }

                    //primero será sacar el campo EsAdmin del usuario actual, si es true que active el ComboBox, sino que lo descative y no deje filtrar
                    cBoxListadoAM.Enabled = accesoDatos.consultaAdmin();


                    var lista = accesoDatos.RellenaComboBox();

                    cBoxListadoAM.DataSource    = lista;
                    cBoxListadoAM.DisplayMember = "nombre";
                    var usuario = lista.FirstOrDefault(x => x.nombre == Environment.UserName);
                    cBoxListadoAM.SelectedIndex = lista.IndexOf(usuario);

                    cBoxListadoAM.DataSource = lista;

                    cBoxListadoAM.DisplayMember = "nombre";

                    filtrarDiaYFecha();
                    radTimePickerHoraInicioAM.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("AñadirYModificar_load correctamente realizado", 4);
        }
Beispiel #10
0
        private void configurarFiltrosEntreDias()
        {
            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }
            var usu = (UsuariosListas)cBoxUsu.SelectedItem;

            //selecciona los datos del fichador basado en la fecha que selecciones

            if (accesoDatos.consultaAdmin())
            {
                DatosGrid = accesoDatos.GetListaByEntreFechas(radDateTimeDiaInicial.Value, radDateTimeDiaFinal.Value);
            }
            else
            {
                //var IDUsuario = accesoDatos.GetIDUsuarioByUserName(Environment.UserName);

                DatosGrid = accesoDatos.GetListaByEntreFechasID(radDateTimeDiaInicial.Value, radDateTimeDiaFinal.Value, usu.ID);
            }

            //autoajusta tamaño
            gridCuadroInfo.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
            gridCuadroInfo.ReadOnly            = true;
            gridCuadroInfo.DataSource          = DatosGrid;

            //DatosOriginales contiene una lista de FichadorMio
            //selecciona los datos del objeto, en el grid pon lo que selecciona
            //DatosOriginales = DatosGrid.Select(dato => new FichadorMio { IDUsuario = dato.IDUsuario, HoraInicio = dato.HoraInicio, HoraFin = dato.HoraFin }).ToList();

            //valor es igual al objeto del ComboBox, que lo casteamos a la lista de usuarios para poder seleccionar cada campo y hacer el Where

            /*var valor = (UsuariosListas)cBoxUsu.SelectedValue;
             *
             * if (DatosOriginales != null)
             * {
             *  //hacemos el filtro comparando que el ID del user de la tabla Usuarios coincida con el del objeto de Fichador(el que hayamos seleccionado)
             *  gridCuadroInfo.DataSource = DatosOriginales.Where(user => user.IDUsuario == valor.ID).ToList();
             * }
             * else //por si acaso
             * {
             *  gridCuadroInfo.DataSource = DatosOriginales;
             * }
             */
        }
Beispiel #11
0
 private void btnSalida_Click(object sender, EventArgs e)
 {
     try
     {
         DateTime horasalida = DateTime.Now;
         lblHoraSalida.Text = horasalida.ToString();
         btnSalida.Enabled  = false;
         this.accesoDatos   = new AccesoFichador();
         var IDUsuario = accesoDatos.GetIDUsuarioByUserName(Environment.UserName);
         accesoDatos.GuardarHoraSalida(IDUsuario, horasalida);
         InicializarEstados();
     }
     catch (Exception ex)
     {
         accesoDatos.guardarLog(ex.Message, 2);
     }
     accesoDatos.guardarLog("btnSalida_click realizada correctamente", 4);
 }
Beispiel #12
0
        //METODOS DE LOS BOTONES:

        private void btnEntrada_Click(object sender, EventArgs e)
        {
            DateTime horaentrada = DateTime.Now;          //variable que cvale la hora-fecha actual

            lblHoraEntrada.Text = horaentrada.ToString(); //el label ("---") de Text lo modificamos por horaentrada

            btnEntrada.Enabled = false;                   //desactivamos el botón
            this.accesoDatos   = new AccesoFichador();    //instaciamos un objeto para conectarnos con la base de datos

            //llamamos al metodo correspondiente con sus parametros
            var IDUsuario = accesoDatos.GetIDUsuarioByUserName(Environment.UserName);

            accesoDatos.GuardarUsuarioYHoraEntrada(IDUsuario, horaentrada);
            btnSalida.Enabled = true;

            buttonI = 1;
            InicializarEstados();
        }
Beispiel #13
0
        private void Tareas_Load(object sender, EventArgs e)
        {
            try
            {
                //ESTABLECE DATOS DEL COMBOBOX, SU SELECCION Y CAMPO A MOSTRAR (DisplayMember)

                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }
                cBoxListado.Enabled = accesoDatos.consultaAdmin();
                var val = (UsuariosListas)cBoxListado.SelectedValue;

                var lista = accesoDatos.RellenaComboBox();
                //COMBOBOX SALE EL USUARIO LOGEADO POR DEFECTO
                if (accesoDatos.consultaAdmin() == false)
                {
                    lista = lista.Where(dato => dato.nombre == Environment.UserName).ToList();
                    //filtrar();
                    //mostrarDatoslbl();
                }


                cBoxListado.DataSource    = lista;
                cBoxListado.DisplayMember = "nombre";
                var usuario = lista.FirstOrDefault(x => x.nombre == Environment.UserName);
                cBoxListado.SelectedIndex = lista.IndexOf(usuario);
                lblNumeroTareas.Visible   = false;
                lblEntreDias.Visible      = false;
                lblSumaTareas.Visible     = false;
                Timer myTimer = new Timer();

                myTimer.Interval = 1000;
                myTimer.Start();
                filtrar();
                mostrarDatoslbl();
                VariableControl = true;
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("Tareas_Load correctamente realizada", 4);
        }
Beispiel #14
0
        private void Diario_Load(object sender, EventArgs e)
        {
            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }
            lblDatosBusqueda.Visible = false;
            btnEXCEL.Visible         = false;
            btnPdf.Visible           = false;
            lblExportarExcel.Visible = false;
            lblExportarPdf.Visible   = false;


            //primero será sacar el campo EsAdmin del usuario actual, si es true que active el ComboBox, sino que lo descative y no deje filtrar

            cBoxUsu.Enabled = accesoDatos.consultaAdmin();

            var lista = accesoDatos.RellenaComboBox();

            if (accesoDatos.consultaAdmin() == false)
            {
                lista = lista.Where(dato => dato.nombre == Environment.UserName).ToList();
            }
            cBoxUsu.DataSource    = lista;
            cBoxUsu.DisplayMember = "nombre";
            var usuario = lista.FirstOrDefault(x => x.nombre == Environment.UserName);

            cBoxUsu.SelectedIndex = lista.IndexOf(usuario);

            cBoxUsu.DataSource = lista;

            cBoxUsu.DisplayMember = "nombre";

            //inicializar calendarios
            TimePickerCalendario.MaxDate  = DateTime.Now;
            TimePickerCalendario.MinDate  = accesoDatos.consultaPrimerRegistro();
            TimePickerCalendario.Value    = DateTime.Now;
            radDateTimeDiaInicial.MaxDate = DateTime.Now;
            radDateTimeDiaInicial.MinDate = accesoDatos.consultaPrimerRegistro();
            radDateTimeDiaInicial.Value   = DateTime.Now;
            radDateTimeDiaFinal.MaxDate   = DateTime.Now;
            radDateTimeDiaFinal.MinDate   = accesoDatos.consultaPrimerRegistro();
            radDateTimeDiaFinal.Value     = DateTime.Now;
        }
Beispiel #15
0
        public FrmFichador()
        {
            InitializeComponent();

            //this.UserName = String.Format("{0}\\{1}", Environment.UserDomainName, Environment.UserName);
            //lblNombre.Text = String.Format("Hola {0}, la hora actual es: {1}", this.UserName, DateTime.Now);

            try
            {
                this.accesoDatos = new AccesoFichador();
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("FrmFichador realizada correctamente", 4);

            InicializarEstados();
        }
Beispiel #16
0
        private void fichadorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (accesoDatos == null)
                {
                    this.accesoDatos = new AccesoFichador();
                }

                var idusu   = accesoDatos.GetIDUsuarioByUserName(Environment.UserName);
                var hInicio = accesoDatos.GetHoraInicioByIDUsuario(idusu);
                var hFin    = accesoDatos.GetHoraFinByIDUsuario(idusu);

                if (hInicio != null && hFin != null)
                {
                    MessageBox.Show("Ya has fichado, no se te permite volver a fichar por hoy");
                }
                else
                {
                    if (vFichador == null || vFichador.IsDisposed)
                    {
                        vFichador           = new FrmFichador();
                        vFichador.MdiParent = this;
                    }

                    if (vFichador.CanFocus)
                    {
                        vFichador.Focus();
                    }
                    else
                    {
                        vFichador.Show();
                    }
                }
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("fichadorToolStripMenuItem_Click correctamente realizado", 4);
        }
Beispiel #17
0
        private void Form1_Load(object sender, EventArgs e)
        {
            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }

            //primero será sacar el campo EsAdmin del usuario actual, si es true que active el ComboBox, sino que lo descative y no deje filtrar



            var lista = accesoDatos.RellenaComboBox();

            if (accesoDatos.consultaAdmin() == false)
            {
                lista = lista.Where(dato => dato.nombre == Environment.UserName).ToList();
            }

            cBoxListado.DataSource = lista;

            cBoxListado.DisplayMember = "ID";
        }
        public AnadirYModificar_v2(Alc.Model.ControlHoras.Tareas lTareas, Tareas vTar)
        {
            InitializeComponent();

            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }

            if (lTareas == null)
            {
                comprueba    = true;
                this.vTareas = vTar;
                this.Text    = "Añadir";
                label1.Text  = "*Añadir una Tarea";
            }
            else
            {
                comprueba   = false;
                this.Text   = "Modificar";
                label1.Text = "*Modificar Tarea";
            }
        }
Beispiel #19
0
        public AnadirYModificar(Alc.Model.ControlHoras.Tareas tareas, Tareas ventanaTareas)
        {
            InitializeComponent();

            if (accesoDatos == null)
            {
                accesoDatos = new AccesoFichador();
            }

            if (tareas == null)
            {
                comprueba    = true;
                this.vTareas = ventanaTareas;
                this.Text    = "Añadir";
                label1.Text  = "*Añadir una Tarea";
            }
            else
            {
                comprueba             = false;
                this.Text             = "Modificar";
                label1.Text           = "*Modificar Tarea";
                txtDescripcionAM.Text = tareas.descripcionTarea;
                nmrDuracion.Value     = tareas.duracion;
                txtNombreTareaAM.Text = tareas.nombreTarea;
                DateDiaPickerAM.Text  = Convert.ToDateTime(tareas.HoraInicioTarea).ToString("d");

                DateDiaPickerAM.Value = Convert.ToDateTime(tareas.HoraInicioTarea);
                //radTimePickerHoraInicioAM.Value = Convert.ToDateTime(tareas.HoraInicioTarea);

                this.vTareas = ventanaTareas;

                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                //por un lado relleno el combobox
                var listas = accesoDatos.RellenaComboBox();

                cBoxListadoAM.DisplayMember = "nombre";
                cBoxListadoAM.ValueMember   = "nombre";

                //por otro lado
                var idSel  = tareas.IDUsuario;
                var usuSel = accesoDatos.getUsuarioById(idSel);

                cBoxListadoAM.DataSource    = listas;
                cBoxListadoAM.SelectedValue = usuSel;

                //PARA CONTROLAR EL MODIFICAR LAS HORAS:
                var day = DateDiaPickerAM.Value.ToString("d");

                //sacamos la hora de fin de ese dia y de ese id
                var valorMax = accesoDatos.GetHoraFinByDia(Convert.ToDateTime(day), idSel);
                var valorMin = accesoDatos.GetHoraInicioByDia(Convert.ToDateTime(day), idSel);
                //construimos la fecha haciendo la suma del dia + la hora
                //le decimos que el valor maximo sea esa fecha;
                radTimePickerHoraInicioAM.MaxValue = Convert.ToDateTime(valorMax);
                radTimePickerHoraInicioAM.MinValue = Convert.ToDateTime(valorMin);

                cBoxListadoAM.Enabled = false;
                tareaslista           = tareas;
                tareas = tar;
            }
        }
        public void AnadirTarea(Tareas ventanaTareas)
        {
            try
            {
                if (accesoDatos == null)
                {
                    accesoDatos = new AccesoFichador();
                }

                MessageBox.Show("Has entrado a anadir");
                var valor = (UsuariosListas)cBoxListadoAM2.SelectedValue;

                var sumaDiaYHora = (DateDiaPickerAM2.Value).Date + ((DateTime)radTimePickerHoraInicioAM2.Value).TimeOfDay;



                listaTareas.IDUsuario        = valor.ID;
                listaTareas.descripcionTarea = txtDescripcionAM2.Text;
                listaTareas.nombreTarea      = txtNombreTareaAM2.Text;
                listaTareas.duracion         = (int)nmrDuracion2.Value;
                listaTareas.HoraFinTarea     = DateDiaPickerAM2.Value.AddMinutes((int)nmrDuracion2.Value);
                listaTareas.HoraInicioTarea  = sumaDiaYHora;



                //var concatenacion = (DateDiaPickerAM2.Value).Date + ((DateTime)radTimePickerHoraInicioAM2.Value).TimeOfDay;

                //var nomTarea = txtNombreTareaAM2.Text;
                //var descTarea = txtDescripcionAM2.Text;

                ////saca la duracion total de ese usuario y de esa fecha "concatenada"
                //string minutosTrabajadosDia = accesoDatos.HorasTrabajadas(Convert.ToInt32(valor.ID), Convert.ToDateTime(concatenacion));
                ////los minutos totales trabajados en ese dia y para ese usuario
                //int minutosFichados = accesoDatos.obtenerHorasTrabajadasDiaFichador(DateDiaPickerAM2.Value.ToString("d"), valor.ID);
                ////que admita solo enteros el campo duracion:

                //int dur = Convert.ToInt32(nmrDuracion2.Value);

                ////cada vez que le pongamos una duracion que nos lo sume en nuestra variable, para ir acumulandolo y poder controlarlo

                //int sumaDurYminTrabajados = Convert.ToInt32(minutosTrabajadosDia) + dur;

                ////saca el dia del pick
                //var day = DateDiaPickerAM2.Value.ToString("d");
                ////saca nuestro ID:
                //var sacaID = (UsuariosListas)cBoxListadoAM2.SelectedValue;
                //var ide = accesoDatos.GetIDUsuarioByUserName(sacaID.nombre);

                ////saca la hora y fecha  seleccionadas
                //var horaDeComboBox = (DateTime)radTimePickerHoraInicioAM2.Value;
                //var horaDia = horaDeComboBox.ToString("t");//tengo hora del combobox, la que hayamos seleccionado, con formato 00:00

                //var horaDelDia = Convert.ToDateTime(concatenacion); //convertido

                ////saca la HoraInicio, dado el dia y su id
                //var horaInicios = Convert.ToDateTime(accesoDatos.GetHoraInicioByDia(Convert.ToDateTime(day), ide));

                ////saca HoraFin dado el dia y su id
                //var horaFinal = Convert.ToDateTime(accesoDatos.GetHoraFinByDia(Convert.ToDateTime(day), ide));

                ////si los minutos totales fichados(haber fichado y desfichado) son mayores o iguales que la suma de los minutos y duraciones que lo inserte
                ////si tenemos 20 minutos fichados y hemos puesto duracion de 10 y luego de 5, si que las insertaria, porque 20>=10 y 20>=(10+5)

                //if (minutosFichados == -1)
                //{
                //    MessageBox.Show("NO HAS TERMINADO DE FICHAR");
                //}
                //else if (minutosFichados < sumaDurYminTrabajados)
                //{
                //    MessageBox.Show("REVISAR MINUTOS DE LAS TAREAS");

                //} //si se pasa y ya no se cumple no dejará insertar
                //else if (horaDelDia < horaInicios || horaDelDia > horaFinal)
                //{
                //    MessageBox.Show("LA HORA ES INCORRECTA");
                //}
                //else if (dur == 0)
                //{
                //    MessageBox.Show(("NO PUEDES PONER VALOR 0 EN UNA TAREA"));
                //}
                //else
                //{
                //    accesoDatos.insertaTarea(Convert.ToDateTime(concatenacion), dur, nomTarea, descTarea, usuario.ID);
                //}

                //if (accesoDatos == null)
                //{
                //    accesoDatos = new AccesoFichador();
                //}
                ////  int resultado = accesoDatos.HorasTrabajadas();
                //if (DatosFich != null)
                //{
                //    //hacemos el filtro comparando que el ID del user de la tabla Usuarios coincida con el del objeto de Fichador(el que hayamos seleccionado)
                //    DatosFich.Where(user => user.IDUsuario == valor.ID).ToList();
                //}
                //var listas = accesoDatos.RellenaComboBox();
                //cBoxListadoAM2.DataSource = listas;
            }
            catch (Exception ex)
            {
                accesoDatos.guardarLog(ex.Message, 2);
            }
            accesoDatos.guardarLog("AñadirTareas correctamente realizado", 4);
        }