Example #1
0
        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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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);
        }
Example #4
0
 /// <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));
 }
Example #5
0
        /// <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);
        }
Example #6
0
        /// <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);
        }