/// <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; } } }
/// <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; }
/// <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); }
/// <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)); }