예제 #1
0
        public void Guardar(Semana oSemana, BackgroundWorker backgroundWorker1)
        {
            try
            {
                if (oSemana == null)
                {
                    return;
                }

                using (SqlCeConnection conn = AccesoDatos.OpenConn())
                {
                    Semanas     semanas     = new Semanas(conn);
                    BSP_Tickets bsp_tickets = new BSP_Tickets(conn);
                    if (oSemana.ID > 0)
                    {
                        if (oSemana.TicketsBSP.Count > 0)
                        {
                            bsp_tickets.EliminarPorSemana(oSemana.ID);
                        }
                    }
                    else
                    {
                        semanas.Insertar(oSemana);
                    }

                    BSP_Ticket_Detalles bsp_Ticket_Detalles = new BSP_Ticket_Detalles(conn);
                    int intCont       = 0;
                    int intPorcentaje = 0;
                    foreach (BSP_Ticket Ticket in oSemana.TicketsBSP)
                    {
                        Ticket.SemanaID = oSemana.ID;
                        bsp_tickets.Insertar(Ticket);
                        foreach (BSP_Ticket_Detalle TicketDetalle in Ticket.Detalle)
                        {
                            TicketDetalle.TicketID = Ticket.ID;
                            bsp_Ticket_Detalles.Insertar(TicketDetalle);
                        }
                        intCont++;
                        intPorcentaje = intCont * 100 / oSemana.TicketsBSP.Count;
                        backgroundWorker1.ReportProgress(intPorcentaje, "Guardando BSP... " + intCont + " de " + oSemana.TicketsBSP.Count + " registros guardados.");
                    }
                }
            }
            catch (Exception ex)
            {
                TextToFile.Errores(TextToFile.Error(ex));
            }
        }
예제 #2
0
        private void dgvSemanas_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            if ((senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn || senderGrid.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn) && e.RowIndex >= 0)
            {
                Semanas     Semanas     = new Semanas();
                BO_Tickets  BO_Tickets  = null;
                BSP_Tickets BSP_Tickets = null;

                Publics.Semana = null;
                DataGridViewTextBoxCell Celda = (DataGridViewTextBoxCell)senderGrid.Rows[e.RowIndex].Cells["ID"];
                long   SemanaID = Convert.ToInt64(Celda.Value);
                Semana oSemana  = Semanas.GetByID(SemanaID);

                ucMenu ucMenu1 = (ucMenu)this.Parent.Parent.Controls[0].Controls[0];
                if (oSemana != null)
                {
                    Agencias Agencias = new Agencias();
                    oSemana.Agencia = Agencias.GetByID(oSemana.Agencia.ID);
                    Agencias.CloseConnection();

                    Semanas.VerificarTicketsCargados(oSemana);
                    Publics.Semana = oSemana;
                    switch (senderGrid.Columns[e.ColumnIndex].Name)
                    {
                    case "BSPLoaded":
                        DataGridViewCheckBoxCell BSPCheckBox = (DataGridViewCheckBoxCell)senderGrid.Rows[e.RowIndex].Cells["BSPLoaded"];
                        if (!(bool)BSPCheckBox.Value)
                        {
                            if (MessageBox.Show("Entrar al formulario para importar BSP?", "Pregunta", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                            {
                                ucMenu1.MostrarForm(new frmImportarBSP());
                            }
                        }
                        else
                        {
                            if (MessageBox.Show("¿Está seguro que desea eliminar los tickets BSP guardados?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                BSP_Tickets = new BSP_Tickets();
                                BSP_Tickets.EliminarPorSemana(SemanaID);
                                BSP_Tickets.CloseConnection();
                                MessageBox.Show("Registros eliminados correctamente.", "Aviso");
                                btnCargar_Click(null, null);
                            }
                        }
                        break;

                    case "BOLoaded":
                        DataGridViewCheckBoxCell BOCheckBox = (DataGridViewCheckBoxCell)senderGrid.Rows[e.RowIndex].Cells["BOLoaded"];
                        if (!(bool)BOCheckBox.Value)
                        {
                            if (MessageBox.Show("Entrar al formulario para importar BO?", "Pregunta", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                            {
                                ucMenu1.MostrarForm(new frmImportarBO());
                            }
                        }
                        else
                        {
                            if (MessageBox.Show("¿Está seguro que desea eliminar los tickets BO guardados?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                            {
                                BO_Tickets = new BO_Tickets();
                                BO_Tickets.EliminarPorSemana(SemanaID);
                                BO_Tickets.CloseConnection();

                                MessageBox.Show("Registros eliminados correctamente.", "Aviso");
                                btnCargar_Click(null, null);
                            }
                        }
                        break;

                    case "btnReport":
                        BO_Tickets = new BO_Tickets();
                        Publics.Semana.TicketsBO = BO_Tickets.ObtenerPorSemana(Publics.Semana.ID);
                        BO_Tickets.CloseConnection();

                        BSP_Tickets = new BSP_Tickets();
                        Publics.Semana.TicketsBSP = BSP_Tickets.ObtenerPorSemana(Publics.Semana.ID);
                        BSP_Tickets.CloseConnection();

                        ucMenu1.MostrarForm(new frmReportes());
                        break;

                    default:
                        break;
                    }
                }
                Semanas.CloseConnection();
            }
        }
예제 #3
0
        private bool Verificar()
        {
            Semana oSemanaAux = null;

            Agencia  oAgencia = null;
            DateTime?Periodo  = null;

            DateTime?FechaDesde = null;
            DateTime?FechaHasta = null;

            if (cboAgencia.SelectedIndex > 0)
            {
                oAgencia = (Agencia)cboAgencia.SelectedItem;
            }

            if (Validators.IsNumeric(txtPeriodoS.Text) && Validators.IsNumeric(txtPeriodoM.Text) && Validators.IsNumeric(txtPeriodoA.Text))
            {
                Periodo = new DateTime(Convert.ToInt32(txtPeriodoA.Text), Convert.ToInt32(txtPeriodoM.Text), Convert.ToInt32(txtPeriodoS.Text));
            }

            FechaDesde = dtpFechaDesde.Value;
            FechaHasta = dtpFechaHasta.Value;

            if (oAgencia == null)
            {
                MessageBox.Show("Seleccione una Agencia.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (Periodo == null)
            {
                MessageBox.Show("Verifique el Período ingresado.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (FechaDesde == null)
            {
                MessageBox.Show("Seleccione una Fecha Desde.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (FechaHasta == null)
            {
                MessageBox.Show("Seleccione una Fecha Hasta.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            if (FechaDesde >= FechaHasta)
            {
                MessageBox.Show("La Fecha Hasta debe ser posterior a la Fecha Desde.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            /*if (Periodo.Value.Month != FechaDesde.Value.Month || (Periodo.Value.Year != FechaDesde.Value.Year))
             * {
             *  MessageBox.Show("El período no coincide con la Fecha Desde.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
             *  return false;
             * }
             *
             * if (Periodo.Value.Month != FechaHasta.Value.Month || (Periodo.Value.Year != FechaHasta.Value.Year))
             * {
             *  MessageBox.Show("El período no coincide con la Fecha Hasta.", "Error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
             *  return false;
             * }*/



            oSemanaAux = new Semana()
            {
                Agencia    = oAgencia,
                Periodo    = Periodo.Value,
                FechaDesde = FechaDesde.Value,
                FechaHasta = FechaHasta.Value,
            };

            if (Publics.Semana != null && Publics.Semana.Agencia.ID == oSemanaAux.Agencia.ID && Publics.Semana.Periodo == oSemanaAux.Periodo)
            {
                oSemanaAux.ID         = Publics.Semana.ID;
                oSemanaAux.BSPCargado = Publics.Semana.BSPCargado;
                oSemanaAux.BOCargado  = Publics.Semana.BOCargado;
                oSemanaAux.TicketsBSP = Publics.Semana.TicketsBSP;
            }
            else
            {
                Semanas semanas      = new Semanas();
                Semana  oSemanaVerif = semanas.GetByAgenciaPeriodo(oSemanaAux.Agencia.ID, oSemanaAux.Periodo);
                semanas.CloseConnection();

                if (oSemanaVerif != null)
                {
                    oSemanaAux.ID        = oSemanaVerif.ID;
                    oSemanaAux.BOCargado = oSemanaVerif.BOCargado;
                    if (oSemanaVerif.BSPCargado)
                    {
                        oSemanaAux.BSPCargado = true;
                        BSP_Tickets BSP_Tickets = new BSP_Tickets();
                        oSemanaAux.TicketsBSP = BSP_Tickets.ObtenerPorSemana(oSemanaAux.ID);
                        BSP_Tickets.CloseConnection();
                    }
                }
            }

            semanaToImport = oSemanaAux;
            return(semanaToImport != null && semanaToImport.Agencia != null && (!semanaToImport.BOCargado || MessageBox.Show("Ya ha cargado este archivo previamente. ¿Desea volver a cargarlo?", "Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes));
        }