예제 #1
0
        public void OrderByDescendingPropertyTest()
        {
            var sorter = OdooSorter <OdooPartner> .OrderByDescending(x => x.Name);

            Assert.That(sorter.Order.Contains("DESC"));
            Assert.That(sorter.Order.Contains("name"));
        }
예제 #2
0
        public void ListPagingOrderByDescTest()
        {
            var service = new OdooService(Connection);

            var results  = service.List <OdooPartner>(OdooFilter <OdooPartner> .Where(x => true), OdooSorter <OdooPartner> .OrderByDescending(x => x.Id), 0, 2);
            var results2 = service.List <OdooPartner>(OdooFilter <OdooPartner> .Where(x => true), OdooSorter <OdooPartner> .OrderByDescending(x => x.Id), 2, 2);

            Assert.IsNotNull(results);
            Assert.That(results.Any());
            Assert.That(results.Count == 2);
            Assert.That(results.First().Id > results2.First().Id);

            Assert.IsNotNull(results2);
            Assert.That(results2.Any());
            Assert.That(results2.Count == 2);
        }
예제 #3
0
        public void BasicListTest()
        {
            var service = new OdooService(Connection);

            var results = service.List <OdooPartner>(OdooFilter <OdooPartner> .Where(x => true), OdooSorter <OdooPartner> .OrderBy(x => x.Id), 0, 4);

            Assert.IsNotNull(results);
            Assert.That(results.Any());
            Assert.That(results.Count == 4);
        }
예제 #4
0
        public static ICollection <T> List <T>(this OdooService service, OdooFilter <T> filter, OdooSorter <T> sorter = null, int?offset = null, int?limit = null)
            where T : IOdooObject, new()
        {
            if (sorter != null & (offset == null || limit == null))
            {
                throw new ArgumentNullException("sorter", "A sorter requires offset and limit");
            }

            if ((offset != null && limit == null) || (offset == null && limit != null))
            {
                throw new ArgumentNullException("offset", "page and offset are required");
            }

            if (sorter != null)
            {
                return(service.GetEntities(filter.Filter, offset, limit, sorter.Order)
                       .ToList());
            }

            return(service.GetEntities(filter.Filter).ToList());
        }