Example #1
0
        public IEnumerable <Customer> Find(CustomerSearchSpec spec)
        {
            var o   = new Dictionary <string, object>();
            var sql = BuildSql(spec, out o);

            if (sql == string.Empty)
            {
                throw new Exception("Empty Sql");
            }
            var result = _context.Connection.Query <Customer>(sql, new DynamicParameters(o));

            return(_context.Connection.Query <Customer>(sql, new DynamicParameters(o)));
            //            return _context.Connection.Query<Customer>(sql);
        }
        public ActionResult AdvanceSearch(LstSearch lstSearch)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(RedirectToAction("Index"));
                }
                var resource           = "Customer";
                var customerSearchSpec = new CustomerSearchSpec();
                var attributeToReturn  = new List <string>();
                var attributeList      = _customerService.GetAttributeNameListByResource(resource).ToList();
                attributeToReturn = attributeList.Select(x => x.AttributeName).ToList();
                foreach (var searchOb in lstSearch.SearchVms)
                {
                    var criteria = new Criteria();

                    criteria.Attribute = new ResourceAttribute()
                    {
                        AttributeType = (ResourceAttributeType)Enum.Parse(typeof(ResourceAttributeType), attributeList.Where(x => x.AttributeName.Equals(searchOb.AttributeName)).Select(x => x.DataType).First()),
                        ResourceType  = resource,
                        Name          = searchOb.AttributeName,
                    };

                    criteria.Operator = (OperatorName)Enum.Parse(typeof(OperatorName), searchOb.Operator);

                    var values = searchOb.FirstValue.Split(',');

                    List <object> list = new List <object>();
                    foreach (var val in values)
                    {
                        list.Add(val);
                    }
                    criteria.Value          = list;
                    criteria.ValueToCompare = searchOb.ValueToCompare;
                    customerSearchSpec.AddCriteria(criteria);
                }
                customerSearchSpec.AttributesToReturn = attributeToReturn;
                return(Json(_customerService.Find(customerSearchSpec)));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Example #3
0
 public IEnumerable <Customer> Find(CustomerSearchSpec spec)
 {
     return(_customerRepository.Find(spec));
 }