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);
        }
Exemple #2
0
        private void tareasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (vTareas == null || vTareas.IsDisposed)
            {
                vTareas           = new Tareas();
                vTareas.MdiParent = this;
            }

            if (vTareas.CanFocus)
            {
                vTareas.Focus();
            }
            else
            {
                vTareas.Show();
            }
        }
        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";
            }
        }
        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);
        }
        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;
            }
        }