示例#1
0
        /// <summary>
        /// Carga las fechas dependiendo del rango seleccionado
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmbRangeDate_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count > 0)
            {
                EnumPredefinedDate         enumPeriod = ((EnumPredefinedDate)cmbRangeDate.SelectedValue);
                Tuple <DateTime, DateTime> dateRange  = DateHelper.GetDateRange(enumPeriod);

                dtpFrom.Value    = dateRange.Item1;
                dtpTo.Value      = dateRange.Item2;
                lblDates.Content = dateRange.Item1.ToString("MMMM", CultureInfo.InvariantCulture) + " " + dateRange.Item1.Day + " - " + dateRange.Item2.Day + ", " + dateRange.Item1.Year;
                if (enumPeriod == EnumPredefinedDate.DatesSpecified)
                {
                    dtpFrom.IsEnabled     = true;
                    dtpTo.IsEnabled       = true;
                    dtpFrom.ValueChanged += dtp_valueDateChanged;
                    dtpTo.ValueChanged   += dtp_valueDateChanged;
                }
                else
                {
                    dtpFrom.IsEnabled     = false;
                    dtpTo.IsEnabled       = false;
                    dtpFrom.ValueChanged -= dtp_valueDateChanged;
                    dtpTo.ValueChanged   -= dtp_valueDateChanged;
                }
            }
        }
示例#2
0
        /// <summary>
        /// Modifica los rangos de fecha de los datepicker, según la opcion seleccionada.
        /// </summary>
        /// <history>
        /// [aalcocer] 11/03/2016 Created
        /// </history>
        private void cboDate_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count <= 0)
            {
                return;
            }
            EnumPredefinedDate selected = (EnumPredefinedDate)((ComboBox)e.OriginalSource).SelectedValue;
            var dateRange = DateHelper.GetDateRange(selected);

            pnlDtmStart.IsEnabled = pnlDtmEnd.IsEnabled = (selected == EnumPredefinedDate.DatesSpecified);
            dtmStart.Value        = dateRange.Item1;
            dtmEnd.Value          = dateRange.Item2;
        }
示例#3
0
        /// <summary>
        /// bloquea o desbloquea los datetimepicker
        /// </summary>
        /// <history>
        /// [emoguel] created 26/07/2016
        /// </history>
        private void cmbRangeDate_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count > 0)
            {
                EnumPredefinedDate         enumPeriod = ((EnumPredefinedDate)cmbRangeDate.SelectedValue);
                Tuple <DateTime, DateTime> dateRange  = DateHelper.GetDateRange(enumPeriod);

                dtpkFrom.Value = dateRange.Item1;
                dtpkTo.Value   = dateRange.Item2;
                if (enumPeriod == EnumPredefinedDate.DatesSpecified)
                {
                    dtpkFrom.IsEnabled = true;
                    dtpkTo.IsEnabled   = true;
                }
                else
                {
                    dtpkFrom.IsEnabled = false;
                    dtpkTo.IsEnabled   = false;
                }
            }
        }
        public void ConfigurarFomulario(
            string salesRoom = null, //Necesarios segun el tipo de reporte
                                     //Checks arriba de los grids y configuracion del friltro
            bool blnAllSalesRoom = false, bool blnAllSegments = false, bool multiDate = false, bool blnOnlyOneRegister = false, bool groupByTeams = false,
            bool allSalesmen     = false, bool shRoles        = false, bool onePeriod = false,
            //Enumerados,
            EnumPeriod period = EnumPeriod.None, EnumBasedOnArrival?basedOnArrival = null, EnumQuinellas?quinellas = null,
            //para saber que mostrar Grids
            bool blnSalesRoom = true, bool blnPrograms = false, bool blnSegments = false, bool shMultiDateRanges = false, bool shConcentrate = false, bool shWeeks = false,
            //para saber que mostrar Filtros
            bool shGroupsByTeams = false, bool shAllSalesmen = false, bool isBySalesman = false, bool isGoal = false)
        {
            //Datos siempre usados
            _salesRoom = salesRoom;
            _period    = period;
            _onePeriod = onePeriod;
            _shWeeks   = shWeeks;
            //Configura Fechas
            ConfigureDates(multiDate, period);
            //configura la visibilidad de los filtros
            ConfigureFilters(basedOnArrival, quinellas, shGroupsByTeams, groupByTeams, shAllSalesmen, allSalesmen, isGoal, isBySalesman, shRoles);

            #region Configuracion de Grids.
            LoadSalesRooms(blnOnlyOneRegister, blnSalesRoom, blnAllSalesRoom, shMultiDateRanges, shConcentrate);
            LoadPrograms(blnPrograms);
            LoadSegments(blnSegments, blnAllSegments);
            LoadEfficiencyWeek();
            #endregion Configuracion de Grids.

            //Toma la configuracion del padre
            LoadUserFilters();
            EnumPredefinedDate selected = (EnumPredefinedDate)(cmbDate).SelectedValue;
            grdDtmStart.IsEnabled = grdDtgEnd.IsEnabled = (selected == EnumPredefinedDate.DatesSpecified);
            //configura el check all de los grids
            // ConfigureSelection(onlyOneRegister, allPrograms, allSegments);
        }
示例#5
0
        /// <summary>
        /// Devuelve una fecha inicial y una fecha final
        /// dependiendo del EnumPredefinedDate seleccionado
        /// </summary>
        /// <param name="dateSelected"></param>
        /// <returns></returns>
        public static Tuple <DateTime, DateTime> GetDateRange(EnumPredefinedDate dateSelected)
        {
            DateTime today = BRHelpers.GetServerDate();
            DateTime dtmStart;
            DateTime dtmEnd;

            switch (dateSelected)
            {
            case EnumPredefinedDate.Today:
                dtmStart = dtmEnd = today;
                break;

            case EnumPredefinedDate.Yesterday:
                dtmStart = dtmEnd = today.Date.AddDays(-1);
                break;

            case EnumPredefinedDate.ThisWeek:
                dtmStart = today.AddDays((DayOfWeek.Monday - today.DayOfWeek));
                dtmEnd   = today.AddDays((DayOfWeek.Sunday - today.DayOfWeek) + 7);
                break;

            case EnumPredefinedDate.PreviousWeek:
                dtmStart = today.AddDays(-7).AddDays(DayOfWeek.Monday - today.DayOfWeek);
                dtmEnd   = today.AddDays(-7).AddDays((DayOfWeek.Sunday - today.DayOfWeek) + 7);
                break;

            case EnumPredefinedDate.TwoWeeksAgo:
                dtmStart = today.AddDays(-14).AddDays(DayOfWeek.Monday - today.DayOfWeek);
                dtmEnd   = today.AddDays(-14).AddDays((DayOfWeek.Sunday - today.DayOfWeek) + 7);
                break;

            case EnumPredefinedDate.ThreeWeeksAgo:
                dtmStart = today.AddDays(-21).AddDays(DayOfWeek.Monday - today.DayOfWeek);
                dtmEnd   = today.AddDays(-21).AddDays((DayOfWeek.Sunday - today.DayOfWeek) + 7);
                break;

            case EnumPredefinedDate.ThisHalf:
                if (today.Day <= 15)
                {
                    dtmStart = new DateTime(today.Year, today.Month, 1);
                    dtmEnd   = new DateTime(today.Year, today.Month, 15);
                }
                else
                {
                    dtmStart = new DateTime(today.Year, today.Month, 16);
                    dtmEnd   = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month));
                }
                break;

            case EnumPredefinedDate.PreviousHalf:

                if (today.Day <= 15)
                {
                    if (today.Month > 1)
                    {
                        dtmStart = new DateTime(today.Year, today.Month - 1, 16);
                        dtmEnd   = new DateTime(today.Year, today.Month - 1, DateTime.DaysInMonth(today.Year, today.Month - 1));
                    }
                    else
                    {
                        dtmStart = new DateTime(today.Year - 1, 12, 16);
                        dtmEnd   = new DateTime(today.Year - 1, 12, 31);
                    }
                }
                else
                {
                    dtmStart = new DateTime(today.Year, today.Month, 1);
                    dtmEnd   = new DateTime(today.Year, today.Month, 15);
                }
                break;

            case EnumPredefinedDate.ThisMonth:
                dtmStart = new DateTime(today.Year, today.Month, 1);
                dtmEnd   = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month));
                break;

            case EnumPredefinedDate.PreviousMonth:
                dtmStart = new DateTime(today.Year, today.Month - 1, 1);
                dtmEnd   = new DateTime(today.Year, today.Month - 1, DateTime.DaysInMonth(today.Year, today.Month - 1));
                break;

            case EnumPredefinedDate.TwoMonthsAgo:
                dtmStart = new DateTime(today.Year, today.Month - 2, 1);
                dtmEnd   = new DateTime(today.Year, today.Month - 2, DateTime.DaysInMonth(today.Year, today.Month - 2));
                break;

            case EnumPredefinedDate.ThreeMonthsAgo:
                dtmStart = new DateTime(today.Year, today.Month - 3, 1);
                dtmEnd   = new DateTime(today.Year, today.Month - 3, DateTime.DaysInMonth(today.Year, today.Month - 3));
                break;

            case EnumPredefinedDate.ThisYear:
                dtmStart = new DateTime(today.Year, 1, 1);
                dtmEnd   = new DateTime(today.Year, 12, 31);
                break;

            case EnumPredefinedDate.PreviousYear:
                dtmStart = new DateTime(today.Year - 1, 1, 1);
                dtmEnd   = new DateTime(today.Year - 1, 12, 31);
                break;

            default:
                dtmStart = dtmEnd = today;
                break;
            }

            return(Tuple.Create(dtmStart, dtmEnd));
        }