public void GetPaymentsDayNotNullTestMethod() { IEnumerable <Entity.Payment> valueReturned = null; var paymentBusiness = new Business.Payment(new Entity.User()); var pagedConfig = new PagedQueryObject() { Page = 1, Size = 20 }; valueReturned = paymentBusiness.GetPaymentsDay(pagedConfig); Assert.IsNotNull(valueReturned); }
/// <summary> /// Obtiene los movimientos del día. /// </summary> /// <param name="configPage">Configuración de la paginación.</param> /// <returns></returns> public IEnumerable <Entity.Payment> GetPaymentsDay(PagedQueryObject configPage) { IList <Entity.Payment> ret = new List <Entity.Payment>(); var query = from q in _context.Payments where q.User.Id == this._user.Id && q.Date.Day == DateTime.Now.Day && q.Date.Month == DateTime.Now.Month && q.Date.Year == DateTime.Now.Year select q; ret = query.Page(configPage).ToArray(); return(ret); }
public void GetPaymentValuesDayTestMethod() { IEnumerable <Entity.PaymentValue> valueReturned = null; Payment paymentBusiness = new Payment(new Entity.User() { Id = 12 }); var pagedConfig = new PagedQueryObject() { Page = 1, Size = 20 }; valueReturned = paymentBusiness.GetPaymentValues(PaymentValues.Day, pagedConfig); Assert.IsNotNull(valueReturned); }
/// <summary> /// Realiza la paginación sobre una consulta. /// </summary> /// <typeparam name="TSource">The type of the source.</typeparam> /// <param name="source">The source.</param> /// <param name="configPage">Configuración de la paginación.</param> /// <returns></returns> public static IEnumerable <TSource> Page <TSource>(this IEnumerable <TSource> source, PagedQueryObject configPage) { return(source.Skip((configPage.Page - 1) * configPage.Size).Take(configPage.Size)); }
/// <summary> /// Obtiene los movimientos según el filtro PaymentValues. /// </summary> /// <param name="paymentValues">Filtro aplicar a los movimientos.</param> /// <param name="configPage">Configuración de la paginación.</param> /// <returns></returns> public IEnumerable <Entity.PaymentValue> GetPaymentValues(PaymentValues paymentValues, PagedQueryObject configPage) { IList <Entity.PaymentValue> ret = new List <Entity.PaymentValue>(); DateTime day = DateTime.Now.Date; DateTime week = DateTime.Now.AddDays(-7).Date; DateTime month = DateTime.Now.AddMonths(-1).Date; DateTime quarter = DateTime.Now.AddMonths(-3).Date; DateTime semester = DateTime.Now.AddMonths(-6).Date; DateTime annual = DateTime.Now.AddYears(-1).Date; var query = from q in _context.Payments where q.User.Id == this._user.Id && (q.Date >= (paymentValues == PaymentValues.Month ? month : paymentValues == PaymentValues.Quarter ? quarter : paymentValues == PaymentValues.Semester ? semester : paymentValues == PaymentValues.Week ? week : paymentValues == PaymentValues.Annual ? annual : day) && q.Date <= day) group q by q.PaymentType into g select new Entity.PaymentValue { PaymentType = (PaymentTypes)g.Key, Value = g.Sum(v => v.Value) }; ret = query.Page(configPage).ToArray(); return(ret); }
/// <summary> /// Obtiene los movimientos según un rango de fechas. /// </summary> /// <param name="begin">Fecha inicial.</param> /// <param name="end">Fecha final.</param> /// <param name="configPage">Configuración de la paginación.</param> /// <returns></returns> public IEnumerable <Entity.Payment> GetPayments(DateTime begin, DateTime end, PagedQueryObject configPage) { IList <Entity.Payment> ret = new List <Entity.Payment>(); var query = from q in _context.Payments where q.User.Id == this._user.Id && q.Date >= begin && q.Date <= end select q; ret = query.Page(configPage).ToArray(); return(ret); }