示例#1
0
        /// <summary>
        /// sort filter for state
        /// </summary>
        /// <param name="criteria"></param>
        /// <returns></returns>
        private Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> > OrderBuildOrderByFilter(
            DTParameterModel criteria)
        {
            Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> > func = (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)null;

            if (criteria.Order != null && criteria.Order.Count <DTOrder>() > 0)
            {
                string   dir      = criteria.Order.FirstOrDefault <DTOrder>().Dir;
                int      column   = criteria.Order.FirstOrDefault <DTOrder>().Column;
                DTColumn dtColumn = criteria.Columns.ToList <DTColumn>().ElementAt <DTColumn>(column);
                if (dtColumn.Name == "Order_id")
                {
                    func = !dir.Equals("asc") ? (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderByDescending <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.order_id.ToString()))) : (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderBy <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.order_id.ToString())));
                }
                if (dtColumn.Name == "Totalprice")
                {
                    func = !dir.Equals("asc") ? (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderByDescending <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.Totalprice))) : (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderBy <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.Totalprice)));
                }
                if (dtColumn.Name == "payment_mode")
                {
                    func = !dir.Equals("asc") ? (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderByDescending <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.payment_mode))) : (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderBy <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.payment_mode)));
                }

                if (dtColumn.Name == "Status")
                {
                    func = !dir.Equals("asc") ? (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderByDescending <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.order_status))) : (Func <IQueryable <Shop_Order_Details>, IOrderedQueryable <Shop_Order_Details> >)(p => p.OrderBy <Shop_Order_Details, string>((Expression <Func <Shop_Order_Details, string> >)(t => t.order_status)));
                }
            }
            return(func);
        }
示例#2
0
        /// <summary>
        /// To converts all premitive data to string data.
        /// </summary>
        /// <param name="primitiveType">Column data type</param>
        /// <param name="checkType">Check sting Type data</param>
        /// <returns>returns String data</returns>
        public static string StringFromPrimitivetype(object primitiveType, bool checkType)
        {
            string convertedString = null;

            if (primitiveType != null)
            {
                if (DTColumn.CheckType(primitiveType, DTType.DateTime))
                {
                    DateTime dateTime = (DateTime)primitiveType;
                    convertedString += dateTime.Year + "/";
                    convertedString += dateTime.Month + "/";
                    convertedString += dateTime.Day + "-";

                    convertedString += dateTime.Hour + ":";
                    convertedString += dateTime.Minute + ":";
                    convertedString += dateTime.Second + ".";
                    convertedString += dateTime.Millisecond;
                }
                else if (DTColumn.CheckType(primitiveType, DTType.ByteArray))
                {
                    convertedString = Convert.ToBase64String((byte[])primitiveType);
                }
                else if (DTColumn.CheckType(primitiveType, DTType.String))
                {
                    if (checkType == true)
                    {
                        convertedString = primitiveType.ToString().Replace("\r", "\rrnr:");
                        convertedString = primitiveType.ToString().Replace("\n", "\rrnn:");

                        convertedString = primitiveType.ToString().Replace("\r", "\r\n");
                    }
                    else
                    {
                        convertedString = primitiveType.ToString();
                    }
                }
                else
                {
                    convertedString = primitiveType.ToString();
                }
            }
            return(convertedString);
        }
示例#3
0
        /// <summary>
        /// To converts all string data to premitive Type by colType and cellString.
        /// </summary>
        /// <param name="colType">Column data type</param>
        /// <param name="cellString">Cell data</param>
        /// <returns>return Premitive type object</returns>
        public static object PrimitivetypeFromString(DTType colType, string cellString)
        {
            object convertedPrimitiveType = null;

            if (cellString != null)
            {
                // ByteArray
                if (colType == DTType.ByteArray)
                {
                    byte[] cellByte = Convert.FromBase64String(cellString);
                    convertedPrimitiveType = cellByte;
                }
                // DateTime
                else if (colType == DTType.DateTime)
                {
                    string ymd  = cellString.Split('-')[0];
                    string hmsf = cellString.Split('-')[1];

                    DateTime cellDttm = new DateTime(
                        int.Parse(ymd.Split('/')[0]),
                        int.Parse(ymd.Split('/')[1]),
                        int.Parse(ymd.Split('/')[2]),
                        int.Parse(hmsf.Split(':')[0]),
                        int.Parse(hmsf.Split(':')[1]),
                        int.Parse(hmsf.Split(':')[2].Split('.')[0]),
                        int.Parse(hmsf.Split(':')[2].Split('.')[1]));

                    convertedPrimitiveType = cellDttm;
                }
                else
                {
                    convertedPrimitiveType = DTColumn.AutoCast(colType, cellString.ToString());
                }
            }

            return(convertedPrimitiveType);
        }
示例#4
0
        public async Task <DTResult <EmployeeModel> > GetList(DTParameters gridParrams)
        {
            DTColumn columnName = gridParrams.Columns.SingleOrDefault(x => x.Data == "Name");

            String globaSearch = gridParrams.Search.Value;
            var    result      = from item in _context.Contacts
                                 where !item.IsDeleted
                                 select item;

            if (!String.IsNullOrEmpty(columnName.Search.Value))
            {
                result = from item in result
                         where item.LastName.StartsWith(columnName.Search.Value) ||
                         item.FirstName.StartsWith(columnName.Search.Value)
                         select item;
            }
            foreach (var order in gridParrams.Order)
            {
                DTColumn columnOrder = gridParrams.Columns[order.Column];
                switch (columnOrder.Data)
                {
                case "Name":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.LastName).ThenBy(x => x.FirstName);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.LastName).ThenByDescending(x => x.FirstName);
                    }
                    break;
                }

                case "CompanyName":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.CompanyName);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.CompanyName);
                    }
                    break;
                }

                case "Address":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.Address1);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.Address1);
                    }
                    break;
                }

                case "City":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.City);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.City);
                    }
                    break;
                }

                case "State":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.State);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.State);
                    }
                    break;
                }

                case "ContactType":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => (x.ContactType != null?x.ContactType.Name:""));
                    }
                    else
                    {
                        result = result.OrderByDescending(x => (x.ContactType != null ? x.ContactType.Name : ""));
                    }
                    break;
                }

                case "JobTitle":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.JobTitle);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.JobTitle);
                    }
                    break;
                }

                case "Phone":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.Phone);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.Phone);
                    }
                    break;
                }

                case "EmailAddress":
                {
                    if (order.Dir == DTOrderDir.ASC)
                    {
                        result = result.OrderBy(x => x.EmailAddress);
                    }
                    else
                    {
                        result = result.OrderByDescending(x => x.EmailAddress);
                    }
                    break;
                }
                }
            }
            Int32 count = result.Count();
            var   list  = await result.Skip(gridParrams.Start).Take(gridParrams.Length).ToListAsync();

            List <EmployeeModel> models = new List <EmployeeModel>();

            foreach (var item in list)
            {
                EmployeeModel model = new EmployeeModel();
                model.ContactId    = item.ContactId.ToString();
                model.FirstName    = item.FirstName;
                model.LastName     = item.LastName;
                model.CompanyName  = item.CompanyName;
                model.Address1     = item.Address1;
                model.Address2     = item.Address2;
                model.City         = item.City;
                model.State        = item.State;
                model.ContactType  = item.ContactTypeId.HasValue ? item.ContactType.Name : "";
                model.JobTitle     = item.JobTitle;
                model.Phone        = item.Phone;
                model.MobilePhone  = item.MobilePhone;
                model.EmailAddress = item.EmailAddress;
                model.Action       = "";
                models.Add(model);
            }

            DTResult <EmployeeModel> resultGrid = new DTResult <EmployeeModel>
            {
                draw            = gridParrams.Draw,
                data            = models,
                recordsFiltered = count,
                recordsTotal    = count
            };

            return(resultGrid);
        }