示例#1
0
 public Empleado(long id, string nombre, RangoFecha periodo, Dinero salario)
     : base(id)
 {
     this.nombre = nombre;
     this.periodo = periodo;
     this.salario = salario;
 }
示例#2
0
 public Empleado(long id)
     : base(id)
 {
     nombre = null;
     periodo = null;
     salario = null;
 }
示例#3
0
        /// <summary>
        /// Traduce los argumentos seleccionados del GroupBox filtro a un diccionario
        /// </summary>
        /// <returns>Arguementos para filtrar los Elementos a mostrar</returns>
        private Dictionary <Type, Object> ArgumentosSelccionados()
        {
            Dictionary <Type, object> argumentos = new Dictionary <Type, object>();
            string nombre = "";

            if (this.checkBox_Nombre.Checked)
            {
                nombre = this.textBox_Nombre.Text;
            }
            argumentos.Add(nombre.GetType(), nombre);
            if (this.checkBox_Tipo.Checked)
            {
                IFuente fuenteTipo;
                if (this.radioButton_RSS.Checked)
                {
                    fuenteTipo = new FuenteRSS();
                }
                else
                {
                    fuenteTipo = new FuenteTextoFijo();
                }
                argumentos.Add(typeof(IFuente), fuenteTipo);
            }
            if (this.checkBox_RangoFechas.Checked)
            {
                RangoFecha pRangoFecha = new RangoFecha()
                {
                    FechaInicio = this.dateTimePicker_FechaDesde.Value,
                    FechaFin    = this.dateTimePicker_FechaHasta.Value
                };
                argumentos.Add(pRangoFecha.GetType(), pRangoFecha);
            }
            return(argumentos);
        }
示例#4
0
        /// <summary>
        /// Crea un RangoFecha
        /// </summary>
        /// <param name="pCodigo">Código del RangoFecha</param>
        /// <param name="pFechaInicio">Fecha Inicio del RangoFecha</param>
        /// <param name="pBanner">Campaña para la propiedad de navegación</param>
        /// <returns>Tipo de dato RangoFecha que representa el creado</returns>
        private RangoFecha CrearRangoFecha(int pCodigo, DateTime pFechaInicio, RangoFecheable pPrincipal)
        {
            List <RangoHorario> listaRangosHorario = new List <RangoHorario>();
            RangoFecha          rf = new RangoFecha
            {
                Codigo           = pCodigo,
                FechaInicio      = pFechaInicio.Date,
                FechaFin         = pFechaInicio.AddDays(1).Date,
                RangosHorario    = listaRangosHorario,
                Principal        = pPrincipal,
                Principal_Codigo = pPrincipal.Codigo
            };

            RangoHorario rh = new RangoHorario
            {
                Codigo            = pCodigo,
                HoraFin           = DateTime.Now.TimeOfDay,
                HoraInicio        = DateTime.Now.TimeOfDay,
                RangoFecha        = rf,
                RangoFecha_Codigo = rf.Codigo
            };

            listaRangosHorario.Add(rh);
            return(rf);
        }
 /// <summary>
 /// Actualiza la lista de Rangos Horarios
 /// </summary>
 /// <param name="pRangoFechaSeleccionado">Rango de Fecha seleccionado para ver sus Rangos Horarios</param>
 private void ActualizarListaHorarios(RangoFecha pRangoFechaSeleccionado)
 {
     this.dataGridView_Hora.DataSource = typeof(List <RangoHorario>);
     this.dataGridView_Hora.DataSource = pRangoFechaSeleccionado.ListaRangosHorario;
     (this.dataGridView_Hora.BindingContext[this.dataGridView_Hora.DataSource] as CurrencyManager).Refresh();
     this.dataGridView_Hora.Refresh();
     this.dataGridView_Hora.Update();
 }
示例#6
0
        /// <summary>
        /// Devuelve los argumentos corresponientes para obtener los objetos del día de hoy
        /// </summary>
        /// <returns>Tipo de dato Dictionary que representa los argumentos para filtrar</returns>
        private Dictionary <Type, object> ArgumentosHoy()
        {
            Dictionary <Type, object> argumentos = new Dictionary <Type, object>();

            argumentos.Add(typeof(string), "");
            RangoFecha pRangoFecha = new RangoFecha()
            {
                FechaInicio = this.dateTimePicker_FechaDesde.Value,
                FechaFin    = this.dateTimePicker_FechaHasta.Value
            };

            argumentos.Add(pRangoFecha.GetType(), pRangoFecha);
            return(argumentos);
        }
 /// <summary>
 /// Cambia color de fondo de los rangos de fecha a los que les falta agregar Rangos Horarios
 /// </summary>
 private void MarcarFilasIncompletas()
 {
     this.iRangosFechaCompletos = this.dataGridView_Fecha.RowCount > 0;
     foreach (DataGridViewRow fila in this.dataGridView_Fecha.Rows)
     {
         RangoFecha rangoFecha = (RangoFecha)fila.DataBoundItem;
         if (rangoFecha.ListaRangosHorario.Count > 0)
         {
             fila.DefaultCellStyle.BackColor = Color.White;
         }
         else
         {
             fila.DefaultCellStyle.BackColor = Color.Red;
             this.iRangosFechaCompletos      = false;
         }
     }
 }
示例#8
0
 /// <summary>
 /// Constructor de la ventana
 /// </summary>
 /// <param name="pRangoFecha">Rango Fecha a agregar Listas de Horarios</param>
 /// <param name="listaRangoHorariosOcupados">Lista de horarios ocupados</param>
 internal Form_SeleccionRangoHorario(RangoFecha pRangoFecha, List <RangoHorario> listaRangoHorariosOcupados, bool pEsBanner)
 {
     InitializeComponent();
     this.ConfigurarDGVs();
     this.iEsBanner   = pEsBanner;
     this.iRangoFecha = pRangoFecha;
     this.InicializacionArrays();
     this.iListaRangosHorariosSeleccionados = pRangoFecha.ListaRangosHorario;
     this.ArrayRangosHorarios(listaRangoHorariosOcupados, this.iBoolArrayDisponibles, false);
     this.ArrayRangosHorarios(this.iListaRangosHorariosSeleccionados, this.iBoolArrayDisponibles, false);
     this.ArrayRangosHorarios(this.iListaRangosHorariosSeleccionados, this.iBoolArraySeleccionados, true);
     this.iCerrar = true;
     this.dataGridView_Horarios.Enabled = false;
     this.backgroundWorker_ObtenerRangosHorariosFecha.RunWorkerAsync(pRangoFecha);
     this.label_RangoFecha.Text = pRangoFecha.FechaInicio.ToShortDateString() + " - " + pRangoFecha.FechaFin.ToShortDateString();
     this.CancelButton          = this.button_Cancelar;
     this.AcceptButton          = this.button_Aceptar;
     this.ActualizarListaHorarios();
 }
        /// <summary>
        /// Devuelve los RangosHorarios
        /// </summary>
        /// <param name="listaRangosFecha"></param>
        /// <returns></returns>
        private List <RangoHorario> ListaRangosHorariosRF()
        {
            List <RangoHorario> listaRangoHorarios = new List <RangoHorario>();
            RangoFecha          pRangoFecha        = this.RangoFechaSeleccionado();
            List <RangoFecha>   listaResutlado     = this.iBanner.ListaRangosFecha.FindAll(x =>
                                                                                           ((x.FechaInicio <= pRangoFecha.FechaInicio) && (x.FechaFin >= pRangoFecha.FechaInicio)) ||
                                                                                           ((x.FechaInicio <= pRangoFecha.FechaFin) && (x.FechaFin >= pRangoFecha.FechaFin)) ||
                                                                                           ((x.FechaInicio >= pRangoFecha.FechaInicio) && (x.FechaFin <= pRangoFecha.FechaFin)));

            foreach (RangoFecha rangoFecha in listaResutlado)
            {
                listaRangoHorarios.AddRange(rangoFecha.ListaRangosHorario);
            }
            foreach (RangoHorario rangoHorario in pRangoFecha.ListaRangosHorario)
            {
                listaRangoHorarios.Remove(rangoHorario);
            }
            return(listaRangoHorarios);
        }
示例#10
0
        public void PrubaCrearCampaña()
        {
            Imagen imagen1 = new Imagen
            {
                Codigo  = 1,
                Tiempo  = 10,
                Picture = ImagenServices.ImageToByteArray(Image.FromFile(@"F:/Lucho/Varios/Salida.jpg", true))
            };
            List <Imagen> listaImagenes = new List <Imagen>();

            listaImagenes.Add(imagen1);
            RangoHorario rangoHor1 = new RangoHorario
            {
                Codigo     = 1,
                HoraFin    = DateTime.Now.TimeOfDay,
                HoraInicio = DateTime.Now.AddMinutes(98).TimeOfDay
            };
            RangoFecha rangoFecha1 = new RangoFecha
            {
                Codigo        = 1,
                FechaInicio   = DateTime.Today,
                FechaFin      = DateTime.Today.AddDays(10),
                RangosHorario = new List <RangoHorario>()
            };

            rangoFecha1.RangosHorario.Add(rangoHor1);
            List <RangoFecha> listaRangosFecha = new List <RangoFecha>();

            listaRangosFecha.Add(rangoFecha1);
            Campaña campaña = new Campaña
            {
                Codigo          = 1,
                Imagenes        = listaImagenes,
                Nombre          = "Prueba",
                IntervaloTiempo = 80,
                RangosFecha     = listaRangosFecha
            };
            FachadaCRUDCampaña fachada = new FachadaCRUDCampaña();

            fachada.Create(campaña);
        }
示例#11
0
        /// <summary>
        /// Traduce los argumentos seleccionados del GroupBox filtro a un diccionario
        /// </summary>
        /// <returns>Arguementos para filtrar los Elementos a mostrar</returns>
        private Dictionary <Type, Object> ArgumentosSelccionados()
        {
            Dictionary <Type, object> argumentos = new Dictionary <Type, object>();
            string nombre = "";

            if (this.checkBox_Nombre.Checked)
            {
                nombre = this.textBox_Nombre.Text;
            }
            argumentos.Add(nombre.GetType(), nombre);
            if (this.checkBox_RangoFechas.Checked)
            {
                RangoFecha pRangoFecha = new RangoFecha()
                {
                    FechaInicio = this.dateTimePicker_FechaDesde.Value,
                    FechaFin    = this.dateTimePicker_FechaHasta.Value
                };
                argumentos.Add(pRangoFecha.GetType(), pRangoFecha);
            }
            return(argumentos);
        }
示例#12
0
        //Trae compras que se pueden cancelar por merma: pago en efectivo y no canceladas/devueltas
        public List <PuntoVenta_Documento> ComprasACancelar(string cadena, RangoFecha fechas)
        {
            try
            {
                EmpresaContext db      = new EmpresaContext();
                var            builder = Builders <PuntoVenta_Documento> .Filter;
                var            filter  = builder.Ne("Estatus", "CANCELADO") & builder.Ne("Estatus", "CANCELADOE") & builder.Ne("Estatus", "DEVOLUCION")
                                         & builder.Gte(x => x.Fecha, fechas.Inicio) & builder.Lt(x => x.Fecha, fechas.Fin);

                List <PuntoVenta_Documento> enviar = new List <PuntoVenta_Documento> {
                };
                List <PuntoVenta_Documento> Lista  = db.PuntoVenta_Documento.Filters(filter, cadena, "0");

                foreach (PuntoVenta_Documento venta in Lista)
                {
                    PuntoVenta_Documento vta = db.PuntoVenta_Documento.get(venta._id, "PuntoVtaCobros", db);
                    Boolean bo = true;
                    foreach (PuntoVtaCobros cobro in vta.PuntoVtaCobros)
                    {
                        if (!cobro.Tipo.Contains("EFECTIVO"))
                        {
                            bo = false;
                            break;
                        }
                    }
                    if (bo)
                    {
                        enviar.Add(venta);
                    }
                }

                return(enviar);
            }
            catch (Exception ex)
            {
                Error(ex, "");
                return(null);
            }
        }
        /// <summary>
        /// Evento que surge al hacer clic sobre el botón de Agregar del groupBox Rango de Fechas
        /// </summary>
        /// <param name="sender">Objeto que  envía el evento</param>
        /// <param name="e">Argumentos del evento</param>
        private void button_AgregarFecha_Click(object sender, EventArgs e)
        {
            DateTime auxFechaI  = this.dateTimePicker_RangoFechaDesde.Value.Date;
            DateTime auxFechaF  = this.dateTimePicker_RangoFechaHasta.Value.Date;
            int      resultadoC = auxFechaI.CompareTo(auxFechaF);

            if ((resultadoC <= 0) && (this.VerificarRangoFecha(auxFechaI, auxFechaF)))
            {
                this.iSCEActive        = true;
                this.iCantRangosFecha += 1;
                RangoFecha auxRangoFecha = new RangoFecha()
                {
                    FechaInicio = auxFechaI,
                    FechaFin    = auxFechaF,
                    Codigo      = this.iCantRangosFecha
                };
                this.iBanner.ListaRangosFecha.Add(auxRangoFecha);
                this.button_EliminarFecha.Enabled = true;
                this.ChangeEnableGroupBoxHorario(true);
                this.ActualizarListaFechas();
                this.MarcarFilasIncompletas();
                this.CampoCompleto(this.pictureBox_ComprobacionRF, true);
                this.CampoCompleto(this.pictureBox_ComprobacionRH, this.iRangosFechaCompletos);
            }
            else
            {
                string mensaje;
                if (resultadoC > 0)
                {
                    mensaje = "La fecha de fin (Hasta) debe ser mayor o igual a la fecha de inicio (Desde)";
                }
                else
                {
                    mensaje = "El rango de fechas ya existe";
                }
                MessageBox.Show(mensaje);
            }
        }
示例#14
0
 public void PrubaCrearCampaña()
 {
     Imagen imagen1 = new Imagen
     {
         Codigo = 1,
         Tiempo = 10,
         Image = ImagenServices.ImageToByteArray(Image.FromFile(@"F:/Lucho/Varios/Salida.jpg", true))
     };
     List<Imagen> listaImagenes = new List<Imagen>();
     listaImagenes.Add(imagen1);
     RangoHorario rangoHor1 = new RangoHorario
     {
         Codigo = 1,
         HoraFin = DateTime.Now.TimeOfDay,
         HoraInicio = DateTime.Now.AddMinutes(98).TimeOfDay
     };
     RangoFecha rangoFecha1 = new RangoFecha
     {
         Codigo = 1,
         FechaInicio = DateTime.Today,
         FechaFin = DateTime.Today.AddDays(10),
         RangosHorario = new List<RangoHorario>()
     };
     rangoFecha1.RangosHorario.Add(rangoHor1);
     List<RangoFecha> listaRangosFecha = new List<RangoFecha>();
     listaRangosFecha.Add(rangoFecha1);
     Campaña campaña = new Campaña
     {
         Codigo = 1,
         Imagenes = listaImagenes,
         Nombre = "Prueba",
         IntervaloTiempo = 80,
         RangosFecha = listaRangosFecha
     };
     FachadaCRUDCampaña fachada = new FachadaCRUDCampaña();
     fachada.Create(campaña);
 }
        /// <summary>
        /// Evento que surge al hacer clic sobre el botón de Eliminar del groupBox Rango de Fechas
        /// </summary>
        /// <param name="sender">Objeto que  envía el evento</param>
        /// <param name="e">Argumentos del evento</param>
        private void button_EliminarFecha_Click(object sender, EventArgs e)
        {
            RangoFecha auxRangoFecha = this.RangoFechaSeleccionado();

            this.iSCEActive = !(this.dataGridView_Fecha.CurrentRow.Index + 1 == this.dataGridView_Fecha.RowCount);
            this.iBanner.ListaRangosFecha.Remove(auxRangoFecha);
            this.ActualizarListaFechas();
            this.ActivarAceptar();
            this.button_AgregarFecha.Enabled = true;
            bool aux = this.iBanner.ListaRangosFecha.Count > 0;

            this.ChangeEnableGroupBoxHorario(aux);
            this.button_EliminarFecha.Enabled = aux;
            this.MarcarFilasIncompletas();
            //Sólo se ejecuta luego de que se elimina la última fila, luego de actualizar el DGV Fecha y así actualiza el Rango horario con el
            //primero, sino tira error. Alternativa: sacar el EventHandler del SelectionChanged de DGV fecha cuando se elimina la última fila;
            if (!this.iSCEActive && (this.dataGridView_Fecha.RowCount > 0))
            {
                this.ActualizarListaHorarios(this.RangoFechaSeleccionado());
            }
            this.iSCEActive = true;
            this.CampoCompleto(this.pictureBox_ComprobacionRF, this.iBanner.ListaRangosFecha.Count > 0);
            this.CampoCompleto(this.pictureBox_ComprobacionRH, this.iRangosFechaCompletos);
        }