private DayOfWeek TraducirDiaAlIngles(DiaCierre diaCierre) { switch (diaCierre) { case DiaCierre.Lunes: return(DayOfWeek.Monday); case DiaCierre.Martes: return(DayOfWeek.Tuesday); case DiaCierre.Miercoles: return(DayOfWeek.Wednesday); case DiaCierre.Jueves: return(DayOfWeek.Thursday); case DiaCierre.Viernes: return(DayOfWeek.Friday); case DiaCierre.Sabado: return(DayOfWeek.Saturday); case DiaCierre.Domingo: return(DayOfWeek.Sunday); default: throw new ArgumentOutOfRangeException("diaCierre"); } }
private DateTime TraerCortePorDiaDeLaSemana(DateTime fechaActual, PosicionCierre posicionCierre, DiaCierre diaCierre) { switch (posicionCierre) { case PosicionCierre.Primer: return(fechaActual.FirstMonthDay(TraducirDiaAlIngles(diaCierre))); case PosicionCierre.Segundo: break; case PosicionCierre.Tercer: break; case PosicionCierre.Cuarto: break; case PosicionCierre.Ultimo: return(fechaActual.LastMonthDay(TraducirDiaAlIngles(diaCierre))); default: throw new ArgumentOutOfRangeException("posicionCierre"); } return(DateTime.Now); }
public DateTime TraerFechaCorte(DateTime fechaActual, PosicionCierre posicionCierre, DiaCierre diaCierre) { if (diaCierre == DiaCierre.DiaDelMes) { if (posicionCierre == PosicionCierre.Primer) { return(fechaActual.FirstMonthDay()); } if (posicionCierre == PosicionCierre.Ultimo) { return(fechaActual.LastMonthDay()); } } else { return(TraerCortePorDiaDeLaSemana(fechaActual, posicionCierre, diaCierre)); } return(DateTime.Now); }