Exemple #1
0
        /// <summary>
        /// Получение заказов
        /// </summary>
        public async Task <EasyMSList <Order> > GetAllAsync(OrderQueryBuilder builder)
        {
            builder.Path = OrdersPath;
            builder.ValidateGet();

            return(await Gateway.SendGetRequestAsync <EasyMSList <Order> >(builder.BuildUri()));
        }
        public void Test_No_Parameters()
        {
            var builder = new OrderQueryBuilder("1");

            var query = builder.BuildUri();

            Assert.Equal("https://my.easyms.co/api/?organizationId=1", query.ToString());
        }
Exemple #3
0
 public static IQueryable <Employee> Sort(this IQueryable <Employee> employees, string orderByQueryString)
 {
     if (string.IsNullOrWhiteSpace(orderByQueryString))
     {
         return(employees.OrderBy(e => e.Name));
     }
     OrderQueryBuilder.CreateOrderQuery <Employee>(orderByQueryString);
 }
Exemple #4
0
        /// <summary>
        /// Получение заказа по его идентификатору
        /// </summary>
        /// <param name="orderId">идентификатор заказа</param>
        /// <param name="organizationId">идентификатор организации</param>
        /// <returns><see cref="Order"/></returns>
        public async Task <Order> GetAsync(string orderId, string organizationId)
        {
            var builder = new OrderQueryBuilder {
                Path = string.Format(OrderPath, orderId), OrganizationId = organizationId
            };

            builder.ValidateGet();

            return(await Gateway.SendGetRequestAsync <Order>(builder.BuildUri()));
        }
Exemple #5
0
        public static IQueryable <Product> Sort(this IQueryable <Product> products, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(products.OrderBy(e => e.Id));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Product>(orderByQueryString);

            return(string.IsNullOrWhiteSpace(orderQuery) ?
                   products.OrderBy(e => e.Id) :
                   products.OrderBy(orderQuery));
        }
Exemple #6
0
        public static IQueryable <Person> Sort(this IQueryable <Person> persons, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(persons.OrderBy(p => p.Name));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Person>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(persons.OrderBy(p => p.Name));
            }

            return(persons.OrderBy(orderQuery));
        }
        public static IQueryable <User> Sort(this IQueryable <User> users, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(users.OrderBy(e => e.UserName));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <User>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(users.OrderBy(e => e.UserName));
            }

            return(users.OrderBy(orderQuery));
        }
Exemple #8
0
        public static IQueryable <Categoria> Sort(this IQueryable <Categoria> categorias, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(categorias.OrderBy(e => e.Nome));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Categoria>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(categorias.OrderBy(e => e.Nome));
            }

            return(categorias.OrderBy(orderQuery));
        }
Exemple #9
0
        public static IQueryable <Event> Sort(this IQueryable <Event> events, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(events.OrderBy(e => e.EventName));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Event>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(events.OrderBy(e => e.EventName));
            }

            return(events.OrderBy(orderQuery));
        }
        public static IQueryable <CourseMgt> Sort(this IQueryable <CourseMgt> courseMgt, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(courseMgt.OrderBy(e => e.CourseTitle));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <CourseMgt>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(courseMgt.OrderBy(e => e.CourseTitle));
            }

            return(courseMgt.OrderBy(orderQuery));
        }
Exemple #11
0
        public static IQueryable <Articulo> Sort(this IQueryable <Articulo> articulos, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(articulos.OrderBy(e => e.Nombre));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Articulo>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(articulos.OrderBy(e => e.Nombre));
            }

            return(articulos.OrderBy(orderQuery));
        }
Exemple #12
0
        public static IQueryable <Account> Sort(this IQueryable <Account> accounts, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(accounts.OrderBy(a => a.FirstName));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Account>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(accounts.OrderBy(a => a.FirstName));
            }

            return(accounts.OrderBy(orderQuery));
        }
Exemple #13
0
        public static IQueryable <Tarefa> Sort(this IQueryable <Tarefa> tarefas, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(tarefas.OrderBy(e => e.Finalizada).ThenBy(e => e.Descricao));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Tarefa>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(tarefas.OrderBy(e => e.Finalizada).ThenBy(e => e.Descricao));
            }

            return(tarefas.OrderBy(orderQuery));
        }
        public static IQueryable <Purchase> Sort(this IQueryable <Purchase> purchases, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(purchases.OrderBy(p => p.TotalPrice));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Purchase>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(purchases.OrderBy(p => p.TotalPrice));
            }

            return(purchases.OrderBy(orderQuery));
        }
Exemple #15
0
        public static IQueryable <Post> SortPosts(this IQueryable <Post> posts, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(posts.OrderByDescending(p => p.CreatedOn));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Post>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(posts.OrderByDescending(p => p.CreatedOn));
            }

            return(posts.OrderBy(orderQuery));
        }
Exemple #16
0
        public static IQueryable <Review> Sort(this IQueryable <Review> reviews, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(reviews.OrderBy(r => r.Heading));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Review>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(reviews.OrderBy(r => r.Heading));
            }

            return(reviews.OrderBy(orderQuery));
        }
Exemple #17
0
        public static IQueryable <Organization> Sort(this IQueryable <Organization> organizations, string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(organizations.OrderBy(e => e.OrgName));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Organization>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(organizations.OrderBy(e => e.OrgName));
            }

            return(organizations.OrderBy(orderQuery));
        }
Exemple #18
0
        /// <summary>
        /// Sort
        /// </summary>
        public static IQueryable <Employee> Sort(this IQueryable <Employee> employees, string orderByQueryString)
        {
            // If it is null or empty, we just return the same collection ordered by name.
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(employees.OrderBy(e => e.Name));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Employee>(orderByQueryString);

            // doing one last check to see if our query indeed has something in it
            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(employees.OrderBy(e => e.Name));
            }

            return(employees.OrderBy(orderQuery));
        }
        public static IQueryable <Employee> Sort(
            this IQueryable <Employee> employees,
            string orderByQueryString
            )
        {
            //orderBy=name,age desc
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(employees.OrderBy(employee => employee.Name));
            }

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Employee>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(employees.OrderBy(e => e.Name));
            }
            return(employees.OrderBy(orderQuery));
        }
        public static IQueryable <Employee> Sort(this IQueryable <Employee> employees, string orderByQueryString)
        {
            //basic check on the orderByQueryString
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(employees.OrderBy(e => e.Name));
            }


            //removing excess commas and doing one last check to see if our query indeed has something in it
            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Employee>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(employees.OrderBy(e => e.Name));
            }

            return(employees.OrderBy(e => e.Age).ThenByDescending(o => o.Name));    //short trick
            //return employees.OrderBy(employees => orderQuery);
        }
Exemple #21
0
        public static IQueryable <Employee> Sort(this IQueryable <Employee> employees,
                                                 string orderByQueryString)
        {
            if (string.IsNullOrWhiteSpace(orderByQueryString))
            {
                return(employees.OrderBy(e => e.Name));
            }

            //var orderParams = orderByQueryString.Trim().Split(',');
            //var propertyInfos = typeof(Employee).GetProperties(BindingFlags.Public |
            //    BindingFlags.Instance);
            //var orderQueryBuilder = new StringBuilder();

            //foreach (var param in orderParams)
            //{
            //    if (string.IsNullOrWhiteSpace(param))
            //        continue;

            //    var propertyFromQueryName = param.Split(" ")[0];
            //    var objectProperty = propertyInfos.FirstOrDefault(pi => pi.Name.Equals(propertyFromQueryName,
            //        StringComparison.InvariantCultureIgnoreCase));

            //    if (objectProperty == null) continue;

            //    var direction = param.EndsWith(" desc") ? "descending" : "ascending";
            //    orderQueryBuilder.Append($"{objectProperty.Name.ToString()} {direction}, ");
            //}
            //  var orderQuery = orderQueryBuilder.ToString().TrimEnd(',', ' ');

            var orderQuery = OrderQueryBuilder.CreateOrderQuery <Employee>(orderByQueryString);

            if (string.IsNullOrWhiteSpace(orderQuery))
            {
                return(employees.OrderBy(e => e.Name));
            }

            return(employees.OrderBy(orderQuery));
        }