Esempio n. 1
0
        private void btnGenerar_Click(object sender, EventArgs e)
        {
            List <Colaborador> cajeros = new List <Colaborador>();

            foreach (Colaborador cajero in clbCajeros.CheckedItems)
            {
                cajeros.Add(cajero);
            }

            numero_cajas = _grupo.Numero_cajas;

            _mantenimiento.reiniciarAsignacionManifiestoCajero(_grupo);

            _cajas_cajeros = _coordinacion.getRandomCajerosCEF(cajeros, numero_cajas);

            foreach (Colaborador cajero in _cajas_cajeros)
            {
                ManifiestoColaborador manifiestocolaborador = new ManifiestoColaborador(posicion: cajero.Caja, grupo: _grupo,
                                                                                        manifiesto: null, cajero_receptor: cajero);

                _mantenimiento.agregarAsignacionManifiestoCajero(ref manifiestocolaborador);
            }

            //Guarda los datos de los cajeros a la base de datos

            frmOpcionesRegistro _padre = new frmOpcionesRegistro(_usuario);

            _padre.Close();

            this.Close();
        }
Esempio n. 2
0
        /// <summary>
        /// Listar todas las relaciones colaborador - manifiesto registradas del dia.
        /// </summary>
        /// <returns>Listar todas las relaciones colaborador - manifiesto registradas en el sistema</returns>
        public BindingList <ManifiestoColaborador> listarRegistrosCajerosAsignados(Grupo g)
        {
            BindingList <ManifiestoColaborador> registros = new BindingList <ManifiestoColaborador>();

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectManifiestoColaborador2");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@grupo", g.Id, SqlDbType.TinyInt);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    int    id               = (int)datareader["ID_Colaborador"];
                    string nombre           = (string)datareader["Nombre_Colaborador"];
                    string primer_apellido  = (string)datareader["Primer_Apellido_Colaborador"];
                    string segundo_apellido = (string)datareader["Segundo_Apellido_Colaborador"];

                    Colaborador colaborador = new Colaborador(id: id, nombre: nombre, primer_apellido: primer_apellido,
                                                              segundo_apellido: segundo_apellido);

                    Grupo grupo = null;

                    if (datareader["ID_Grupo"] != DBNull.Value)
                    {
                        byte   idgrup     = (byte)datareader["ID_Grupo"];
                        string nombregrup = (string)datareader["Nombre_Grupo"];

                        grupo = new Grupo(id: idgrup, nombre: nombregrup);
                    }

                    Manifiesto manifiesto = null;
                    if (datareader["ID_Manifiesto"] != DBNull.Value)
                    {
                        int    idmanif     = (int)datareader["ID_Manifiesto"];
                        byte   cajamanif   = (byte)datareader["Caja_Manifiesto"];
                        string codigomanif = (string)datareader["Codigo_Manifiesto"];

                        manifiesto = new Manifiesto(id: idmanif, caja: cajamanif, codigo: codigomanif);
                    }

                    int posicion = (int)datareader["Posicion"];

                    ManifiestoColaborador registro = new ManifiestoColaborador(posicion: posicion, grupo: grupo, manifiesto: manifiesto, cajero_receptor: colaborador);

                    registros.Add(registro);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }

            return(registros);
        }
Esempio n. 3
0
        /// <summary>
        /// Verificar si existe un cartucho.
        /// </summary>
        /// <param name="m">Objeto ManifiestoColaborador con los datos del cartucho a verificar</param>
        /// <returns>Valor que indica si el cartucho existe</returns>
        public bool verificarAsignacionManifiestoCajero(ref ManifiestoColaborador m)
        {
            bool existe = false;

            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectExisteManifiestoColaborador2");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@colaborador", m.Cajero_Receptor.ID, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@grupo", m.Grupo.Id, SqlDbType.TinyInt);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                if (datareader.Read())
                {
                    int id = (int)datareader["pk_ID"];

                    existe = id != m.ID;

                    m.ID = id;
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorManifiestoActualizacion");
            }

            return(existe);
        }
Esempio n. 4
0
        /// <summary>
        /// Actualizar los datos de los colaboradores y la sucursal de un manifiesto del CEF.
        /// </summary>
        /// <param name="m">Objeto Manifiesto con los datos del manifiesto a actualizar</param>
        public void actualizarAsignacionManifiestoCajero(ref ManifiestoColaborador m)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("UpdateManifiestoColaboradorAsignacion2");

            _manejador.agregarParametro(comando, "@colaborador", m.Cajero_Receptor, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@grupo", m.Grupo.Id, SqlDbType.TinyInt);

            try
            {
                _manejador.ejecutarConsultaActualizacion(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorManifiestoActualizacion");
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Registrar un nuevo grupo de cajas.
        /// </summary>
        /// <param name="g">Objeto Grupo con los datos del nuevo grupo</param>
        public void agregarAsignacionManifiestoCajero(ref ManifiestoColaborador m)
        {
            SqlCommand comando = _manejador.obtenerProcedimiento("InsertRegistroManifiestoColaborador");

            _manejador.agregarParametro(comando, "@manifiesto", m.Manifiesto, SqlDbType.VarChar);
            _manejador.agregarParametro(comando, "@colaborador", m.Cajero_Receptor, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@grupo", m.Grupo.Id, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@posicion", m.Posicion, SqlDbType.TinyInt);

            try
            {
                m.ID = (int)_manejador.ejecutarEscalar(comando);
                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorGrupoRegistro");
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Agregar la tula a la lista de tulas.
        /// </summary>
        private void agregarTula()
        {
            try
            {
                int grupo = _posicion - 1;

                Grupo grupo_actual = _grupos[grupo];

                seleccionarGrupo(grupo);

                byte caja      = grupo_actual.Caja_actual;
                byte cajanueva = caja;
                bool nuevo     = false;

                _relaciones_nuevas    = grupo_actual.Relaciones;
                _nuevos_colaboradores = grupo_actual.Grupo_Colaboradores;

                if (grupo_actual.Numero_cajas == grupo_actual.Caja_actual)
                {
                    _nuevos_colaboradores = grupo_actual.Grupo_Colaboradores;
                    caja      = 0;
                    cajanueva = 0;
                    nuevo     = true;
                }

                Colaborador cajero = new Colaborador();
                _relaciones = _relaciones_nuevas;

                if (_eliminada == false)
                {
                    Colaborador cajero_nuevo = new Colaborador();

                    if (nuevo == true)
                    {
                        cajanueva = Convert.ToByte(caja + 1);
                    }
                    else
                    {
                        cajanueva = Convert.ToByte(grupo_actual.Caja_actual);
                    }

                    foreach (ManifiestoColaborador relacion in _relaciones)
                    {
                        if (nuevo == true)
                        {
                            if (relacion.Posicion == (cajanueva))
                            {
                                cajero_nuevo             = relacion.Cajero_Receptor;
                                grupo_actual.Colaborador = cajero_nuevo.ToString();
                                cajero_nuevo.Caja        = cajanueva;
                                cajero = cajero_nuevo;
                            }
                        }
                        else
                        {
                            if (relacion.Posicion == (cajanueva + 1))
                            {
                                cajero_nuevo             = relacion.Cajero_Receptor;
                                grupo_actual.Colaborador = cajero_nuevo.ToString();
                                cajero_nuevo.Caja        = cajanueva + 1;
                                cajero = cajero_nuevo;
                            }
                        }
                    }

                    _eliminada = false;
                }
                else
                {
                    if (caja == 0)
                    {
                        foreach (ManifiestoColaborador relacion in _relaciones)
                        {
                            if (relacion.Posicion == 1)
                            {
                                cajero      = relacion.Cajero_Receptor;
                                cajero.Caja = 1;
                            }
                            else
                            {
                                if ((cajanueva) == relacion.Posicion)
                                {
                                    cajero      = relacion.Cajero_Receptor;
                                    cajero.Caja = relacion.Posicion;
                                }
                            }
                        }
                    }
                    else
                    {
                        foreach (ManifiestoColaborador relacion in _relaciones)
                        {
                            if ((cajanueva + 1) == relacion.Posicion)
                            {
                                cajero      = relacion.Cajero_Receptor;
                                cajero.Caja = relacion.Posicion;
                            }
                        }
                    }
                }


                _total_cajas = Convert.ToInt16(cajero.Caja);

                if (_total_cajas == 0)
                {
                    cajero.Caja  = 1;
                    _total_cajas = 1;
                }

                caja = Convert.ToByte(cajero.Caja);

                bool nuevo_manifiesto = false;


                Manifiesto manifiesto = new Manifiesto(codigo_manifiesto, grupo: grupo_actual, caja: caja, empresa: _empresa,
                                                       receptor: _receptor, cajero_receptor: cajero, area: grupo_actual.Area);

                Tula tula = new Tula(_codigo_tula, manifiesto: manifiesto);

                tula.Manifiesto = manifiesto;

                this.verificarTula(tula);

                tula.Niquel = (BindingList <TulaNiquel>)dgvTulasNiquel.DataSource;

                nuevo_manifiesto = _atencion.agregarTula(ref tula);

                // Actualizar la pila de tulas del CEF

                Stack <Tula> tulas_grupo = _tulas[grupo];

                tulas_grupo.Push(tula);

                //Carga informacion de nueva relacion manifiesto colaborador
                ManifiestoColaborador manifcolaborador = new ManifiestoColaborador(posicion: caja, manifiesto: manifiesto, cajero_receptor: cajero);

                manifcolaborador.Cajero_Receptor = cajero;
                manifcolaborador.Manifiesto      = manifiesto;
                manifcolaborador.Posicion        = caja;
                manifcolaborador.Grupo           = grupo_actual;

                _mantenimiento.actualizarManfiestoCajero(ref manifcolaborador);


                // Verificar si el manifiesto es nuevo

                if (nuevo_manifiesto)
                {
                    short numero_manifiestos = (short)(grupo_actual.Total_manifiestos + 1);
                    byte  numero_cajas       = grupo_actual.Numero_cajas;

                    dgvDistribucion[grupo + 1, CAJA_ACTUAL].Value       = caja;
                    dgvDistribucion[grupo + 1, TOTAL_MANIFIESTOS].Value = numero_manifiestos;
                    dgvDistribucion[grupo + 1, MANIFIESTOS_CAJA].Value  = numero_manifiestos / numero_cajas;
                    dgvDistribucion[grupo + 1, CAJERO_ASIGNADO].Value   = cajero;

                    // Actualizar la información del grupo

                    grupo_actual.Caja_actual       = caja;
                    grupo_actual.Total_manifiestos = numero_manifiestos;
                    grupo_actual.Colaborador       = Convert.ToString(cajero);

                    _atencion.actualizarGrupoTotales(grupo_actual);

                    // Actualizar el indicador del total de manifiestos

                    _total_manifiestos++;

                    lblTotalManifiestos.Text = string.Format("Total de Manifiestos: {0}", _total_manifiestos);
                }

                if (grupo_actual.Caja_unica)
                {
                    this.reproducirSonido(SONIDO_TULA_REGISTRADA);
                }
                else
                {
                    this.reproducirSonido(String.Format(SONIDO_CAJA, grupo_actual.Caja_actual));
                }

                // Mostrar un mensaje indicando que la tula fue agregada

                txtUltimaTula.Text = tula.Codigo;

                txtMensaje.Text      = TULA_AGREGADA;
                txtMensaje.BackColor = Color.LightGreen;
            }
            catch (Excepcion ex)
            {
                txtMensaje.Text      = ex.Message;
                txtMensaje.BackColor = Color.Tomato;
                this.Refresh();
            }
        }