Example #1
0
 private void Button_Search_Click(object sender, RoutedEventArgs e)
 {
     newViewModel = viewModel.DeepCopy();
     ValidationManager.Validate(this.BaseSeachBuilder);
     if (!string.IsNullOrWhiteSpace(viewModel.CustomerSysNo))
     {
         int tempSysNo = 0;
         if (!int.TryParse(viewModel.CustomerSysNo, out tempSysNo))
         {
             Window.Alert("无效的“系统编号”!");
             return;
         }
     }
     if (ckb_MoreQueryBuilder.IsChecked == true)
     {
         ValidationManager.Validate(this.DetailSeachBuilder);
         if (!viewModel.HasValidationErrors)
         {
             filter = viewModel.ConvertVM <CustomerQueryReqVM, CustomerQueryFilter>();
             dataGrid1.Bind();
         }
     }
     else
     {
         IsNormalQuery();
         filter = newViewModel.ConvertVM <CustomerQueryReqVM, CustomerQueryFilter>();
         dataGrid1.Bind();
     }
 }
Example #2
0
        public async Task ReadAllFullFilter_ListOfCustomers()
        {
            //Setup
            InitializeData();
            CustomerDa _customerDa = new CustomerDa();

            _customerDa.InsertOrUpdate(_customer);
            _customer.ID = 0;
            _customerDa.InsertOrUpdate(_customer);
            CustomerQueryFilter customerQueryFilter = new CustomerQueryFilter
            {
                Phone      = "072379899",
                FamilyName = "TestFamily",
                GivenName  = "TestGiven",
                Email      = "*****@*****.**"
            };

            //Act
            var result = await _internalClient.PostAsJsonAsync("Customer/ReadAll", customerQueryFilter);

            string json = await result.Content.ReadAsStringAsync();

            List <Customer> jobs = JsonConvert.DeserializeObject <List <Customer> >(json);

            //Assert
            Assert.IsTrue(result.IsSuccessStatusCode);
            Assert.IsTrue(jobs.Count >= 2, $"Job Count: {jobs.Count}");
        }
 private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
 {
     if (!string.IsNullOrEmpty(viewModel.PhoneORCellphone))
     {
         //
         CustomerQueryFilter filter = new CustomerQueryFilter();
         filter.Phone       = viewModel.PhoneORCellphone;
         filter.CompanyCode = CPApplication.Current.CompanyCode;
         new CustomerQueryFacade(this).QueryCustomer(filter, (obj, args) =>
         {
             if (args.FaultsHandle())
             {
                 return;
             }
             if (args.Result != null && args.Result.TotalCount > 0)
             {
                 viewModel.CustomerID   = args.Result.Rows[0]["CustomerID"];
                 viewModel.CustomerName = args.Result.Rows[0]["CustomerName"];
                 viewModel.Address      = args.Result.Rows[0]["DwellAddress"];
             }
             else
             {
                 viewModel.PhoneORCellphone = string.Empty;
                 viewModel.CustomerID       = string.Empty;
                 viewModel.CustomerName     = string.Empty;
                 viewModel.Address          = string.Empty;
             }
         });
     }
 }
Example #4
0
        /// <summary>
        /// 获取用户的权限
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        public virtual DataTable GetCustomerRight(CustomerQueryFilter filter)
        {
            var customCommand = DataCommandManager.CreateCustomDataCommandFromConfig("GetALLCustomerRight");

            PagingInfoEntity pagingInfo = new PagingInfoEntity();

            pagingInfo.SortField     = filter.PagingInfo.SortBy;
            pagingInfo.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize;
            pagingInfo.MaximumRows   = filter.PagingInfo.PageSize;

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(customCommand.CommandText, customCommand, pagingInfo, null))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                             "CustomerID", DbType.String, "@CustomerID",
                                                             QueryConditionOperatorType.Equal, filter.CustomerID);

                customCommand.CommandText = sqlBuilder.BuildQuerySql();
                var ds = customCommand.ExecuteDataSet();
                if (ds != null && ds.Tables.Count > 0)
                {
                    return(ds.Tables[0]);
                }
            }
            return(null);
        }
Example #5
0
        public ActionResult AjaxCustomerQuery()
        {
            CustomerQueryFilter filter = BuildQueryFilterEntity <CustomerQueryFilter>();
            //filter.MerchantSysNo = UserAuthHelper.GetCurrentUser().SellerSysNo;
            var result = CommonService.QueryCustomers(filter);

            return(AjaxGridJson(result));
        }
Example #6
0
        /// <summary>
        /// 查询恶意用户操作历史
        /// </summary>
        /// <param name="model"></param>
        /// <param name="callback"></param>
        public void QueryMaliceCustomer(int customerSysNo, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            CustomerQueryFilter filter = new CustomerQueryFilter();

            filter.PagingInfo = null;

            string relativeUrl = "/CustomerService/Customer/QueryMaliceCustomerLog";

            restClient.QueryDynamicData(relativeUrl, customerSysNo, callback);
        }
Example #7
0
        public QueryResult Query(CustomerQueryFilter request)
        {
            int totalCount;
            var dataTable = ObjectFactory <ICustomerQueryDA> .Instance.Query(request, out totalCount);

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
Example #8
0
        private void LoadCustomerByPhone()
        {
            viewModel.Phone = tbCustomerPhone.Text.Trim();
            List <ValidationEntity> list = new List <ValidationEntity>();

            list.Add(new ValidationEntity(ValidationEnum.RegexCheck, @"\d{7}", string.Format(ResCustomerCallingMaintain.msg_VaildatePhone, viewModel.Phone.Length)));
            if (!ValidationHelper.Validation(this.tbCustomerPhone, list))
            {
                return;
            }

            CustomerQueryFilter filter = new CustomerQueryFilter();

            filter.Phone      = viewModel.Phone;
            filter.PagingInfo = new PagingInfo()
            {
                PageIndex = 0, PageSize = int.MaxValue
            };
            new CustomerQueryFacade(CPApplication.Current.CurrentPage).QueryCustomer(filter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                if (args.Result != null && args.Result.TotalCount != 0)
                {
                    if (args.Result.TotalCount > 1)//>1的话就让用户选择具体的用户
                    {
                        UCCustomerSearch ucCustomerSearch = new UCCustomerSearch();
                        ucCustomerSearch.SelectionMode    = SelectionMode.Single;
                        ucCustomerSearch.DialogHandle     = CPApplication.Current.CurrentPage.Context.Window.ShowDialog(ResCustomerPicker.Dialog_Title, ucCustomerSearch, (param, dialogRes) =>
                        {
                            if (dialogRes.DialogResult == DialogResultType.OK)
                            {
                                BindControl(dialogRes.Data, string.Empty, viewModel.Phone);
                            }
                        });
                        ucCustomerSearch._viewModel.CustomerPhone = viewModel.Phone;
                        ucCustomerSearch.BindDataGrid(1, null);
                    }
                    else
                    {
                        BindControl(args.Result.Rows[0], string.Empty, viewModel.Phone);
                    }
                }
                else
                {
                    ClearControl();
                }
            });
        }
Example #9
0
 public List <Customer> ReadAll(CustomerQueryFilter customerQueryFilter)
 {
     using (var db = new DatabaseContext())
     {
         return(db.Customers
                .Include(x => x.Address)
                .Where(x => x.Email.Contains(customerQueryFilter.Email) &&
                       (x.GivenName).Contains(customerQueryFilter.GivenName) &&
                       x.FamilyName.Contains(customerQueryFilter.FamilyName) &&
                       x.Phone.Contains(customerQueryFilter.Phone)
                       )
                .ToList());
     }
 }
Example #10
0
 public async Task <HttpResponseMessage> ReadAll([FromBody] CustomerQueryFilter customerQueryFilter)
 {
     try
     {
         if (Request.Content == null)
         {
             return(Request.CreateResponse(HttpStatusCode.OK, _customerDm.ReadAll(new CustomerQueryFilter())));
         }
         return(Request.CreateResponse(HttpStatusCode.OK, _customerDm.ReadAll(customerQueryFilter)));
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest, e.Message));
     }
 }
Example #11
0
        //导入
        private void btnBatchImportCustomer_Click(object sender, RoutedEventArgs e)
        {
            BatchImportCustomer DialogPage = new BatchImportCustomer();

            DialogPage.Dialog = Window.ShowDialog(ECCentral.Portal.UI.Customer.Resources.ResCustomerQuery.PopTitle_BatchImportCustomer, DialogPage, (obj, args) =>
            {
                if (args.DialogResult == DialogResultType.OK)
                {
                    if (filter == null)
                    {
                        filter = new CustomerQueryFilter();
                    }
                    this.dataGrid1.Bind();
                }
            });
        }
Example #12
0
        public PagedList <Customer> GetCustomers(CustomerQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            var customers = _unitOfWork.CustomerRepository.GetAll();

            if (filters.Name != null)
            {
                customers = customers.Where(x => x.Name.ToLower().Contains(filters.Name.ToLower()));
            }
            if (filters.Email != null)
            {
                customers = customers.Where(x => x.Email == filters.Email);
            }
            var pagedCustomers = PagedList <Customer> .Create(customers, filters.PageNumber, filters.PageSize);

            return(pagedCustomers);
        }
Example #13
0
        public async Task <HttpResponseMessage> ReadAll()
        {
            try
            {
                if (Request.Content == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, _customerDm.ReadAll(new CustomerQueryFilter())));
                }
                var json = await Request.Content.ReadAsStringAsync();

                CustomerQueryFilter customerQueryFilter = JsonConvert.DeserializeObject <CustomerQueryFilter>(json);
                return(Request.CreateResponse(HttpStatusCode.OK, _customerDm.ReadAll(customerQueryFilter)));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, e.Message));
            }
        }
Example #14
0
        public List <Customer> ReadAll(CustomerQueryFilter customerQueryFilter)
        {
            if (customerQueryFilter.Email == null)
            {
                customerQueryFilter.Email = "";
            }
            if (customerQueryFilter.FamilyName == null)
            {
                customerQueryFilter.FamilyName = "";
            }
            if (customerQueryFilter.GivenName == null)
            {
                customerQueryFilter.GivenName = "";
            }
            if (customerQueryFilter.Phone == null)
            {
                customerQueryFilter.Phone = "";
            }

            return(_customerDa.ReadAll(customerQueryFilter));
        }
Example #15
0
        /// <summary>
        /// 查询顾客
        /// </summary>
        /// <param name="queryFilter"></param>
        /// <returns></returns>
        public static QueryResult QueryCustomers(CustomerQueryFilter queryFilter)
        {
            CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("QueryCustomers");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(command.CommandText, command, queryFilter, string.IsNullOrEmpty(queryFilter.SortFields) ? "c.SysNo ASC" : queryFilter.SortFields))
            {
                if (queryFilter.SysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "c.SysNo", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, queryFilter.SysNo.Value);
                }
                if (!string.IsNullOrWhiteSpace(queryFilter.CustomerID))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "c.CustomerID", DbType.String, "@CustomerID", QueryConditionOperatorType.Equal, queryFilter.CustomerID);
                }
                if (!string.IsNullOrWhiteSpace(queryFilter.CustomerName))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "c.CustomerName", DbType.String, "@CustomerName", QueryConditionOperatorType.Equal, queryFilter.CustomerName);
                }
                if (!string.IsNullOrWhiteSpace(queryFilter.Email))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "c.Email", DbType.String, "@Email", QueryConditionOperatorType.Equal, queryFilter.Email);
                }
                if (!string.IsNullOrWhiteSpace(queryFilter.CellPhone))
                {
                    sqlBuilder.ConditionConstructor.BeginGroupCondition(QueryConditionRelationType.AND);
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "c.Phone", DbType.String, "@Phone", QueryConditionOperatorType.Equal, queryFilter.CellPhone);
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "c.CellPhone", DbType.String, "@CellPhone", QueryConditionOperatorType.Equal, queryFilter.CellPhone);
                    sqlBuilder.ConditionConstructor.EndGroupCondition();
                }
                command.CommandText = sqlBuilder.BuildQuerySql();
                DataTable resultList = command.ExecuteDataTable(new EnumColumnList {
                    { "Status", typeof(CustomerStatus) }
                    , { "CustomersType", typeof(CustomerType) }
                    , { "Rank", typeof(CustomerRank) }
                });
                int totalCount = Convert.ToInt32(command.GetParameterValue("@TotalCount"));

                return(new QueryResult(resultList, queryFilter, totalCount));
            }
        }
Example #16
0
        public IActionResult GetCustomers([FromQuery] CustomerQueryFilter filters)
        {
            var books     = _customerService.GetCustomers(filters);
            var booksDtos = _mapper.Map <IEnumerable <CustomerDto> >(books);
            var metadata  = new Metadata
            {
                TotalCount      = books.TotalCount,
                PageSize        = books.PageSize,
                CurrentPage     = books.CurrentPage,
                TotalPages      = books.TotalPages,
                HasNextPage     = books.HasNextPage,
                HasPreviousPage = books.HasPreviousPage
            };

            var response = new ApiResponse <IEnumerable <CustomerDto> >(booksDtos)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(response));
        }
Example #17
0
        public Uri GetCustomerPaginationUri(CustomerQueryFilter filter, string actionUrl)
        {
            string baseUrl = $"{_baseUri}{actionUrl}";

            return(new Uri(baseUrl));
        }
Example #18
0
        /// <summary>
        /// 查询顾客
        /// </summary>
        /// <param name="queryCriteria"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public virtual DataTable Query(CustomerQueryFilter queryCriteria, out int totalCount)
        {
            totalCount = 0;
            var customCommand = DataCommandManager.CreateCustomDataCommandFromConfig("Customer_QueryExtend");

            PagingInfoEntity pagingInfo = new PagingInfoEntity();

            pagingInfo.SortField     = queryCriteria.PagingInfo.SortBy;
            pagingInfo.StartRowIndex = queryCriteria.PagingInfo.PageIndex * queryCriteria.PagingInfo.PageSize;
            pagingInfo.MaximumRows   = queryCriteria.PagingInfo.PageSize;

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(customCommand.CommandText, customCommand,
                                                                                  pagingInfo,
                                                                                  "C.RegisterTime DESC"))
            {
                //设置查询条件参数
                AddParameterCustomerList(queryCriteria, customCommand, sqlBuilder);
                EnumColumnList enumColumnList = new EnumColumnList();
                enumColumnList.Add(2, typeof(CustomerStatus));
                enumColumnList.Add(4, typeof(Gender));
                enumColumnList.Add(14, typeof(YNStatus));
                enumColumnList.Add(17, typeof(CustomerRank));
                enumColumnList.Add(19, typeof(VIPRank));
                enumColumnList.Add(30, typeof(CustomerType));
                enumColumnList.Add(31, typeof(YNStatus));
                enumColumnList.Add(34, typeof(YNStatus));
                enumColumnList.Add(36, typeof(AvtarShowStatus));
                DataTable dt = customCommand.ExecuteDataTable(enumColumnList);
                totalCount = int.Parse(customCommand.GetParameterValue("@TotalCount").ToString());

                List <CustomerInfo>   aList             = customCommand.ExecuteEntityList <CustomerInfo>();
                List <int?>           customerSysNoList = aList.Select(p => p.SysNo).ToList();
                List <ThirdPartyUser> thirdPartUserList = GetThirdPartyUserInfo(customerSysNoList);
                if (thirdPartUserList.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        for (int j = 0; j < thirdPartUserList.Count; j++)
                        {
                            if (int.Parse(dt.Rows[i]["SysNo"].ToString()) == thirdPartUserList[j].CustomerSysNo)
                            {
                                ThirdPartyUser thirdPartyUser = thirdPartUserList.FirstOrDefault(p => p.CustomerSysNo == int.Parse(dt.Rows[i]["SysNo"].ToString()));
                                if (thirdPartyUser != null && thirdPartyUser.SubSource != null)
                                {
                                    if (thirdPartyUser.UserSource == "支付宝" && (thirdPartyUser.SubSource.ToUpper() == "VIP" || thirdPartyUser.SubSource.ToUpper() == "IMPERIAL_VIP"))
                                    {
                                        dt.Rows[i]["CustomerID"] = string.Format("{0}\r\n【{1}】", dt.Rows[i]["CustomerID"].ToString(), "金帐户");
                                    }
                                }
                            }
                        }
                    }
                }
                return(dt);
            }
            #region 中蛋逻辑(“金帐户”显示)

            /****
             * (第三方用户(表ThirdPartyUser)来源(字段UserSource)为“支付宝”、“VIP”、“IMPERIAL_VIP”,需要在CustomerID后面用红色显示“金帐户”
             * 原有程序如下,启用时需修改****/


            //aList = CustomerDA.GetCustomerList(queryEntity);
            //List<ThirdPartyUser> thirdPartUserList = GetThirdPartyUserInfo(customerSysNoList);
            //if (thirdPartUserList.Count > 0)
            //{
            //    aList.ForEach( current=>
            //    {
            //        ThirdPartyUser thirdPartyUser = thirdPartUserList.FirstOrDefault(p => p.CustomerSysNo == current.SystemNumber);
            //        if (thirdPartyUser != null && thirdPartyUser.SubSource != null)
            //        {
            //            current.CustomerIDWithAlipayVipIndentity
            //            if (thirdPartyUser.UserSource == "支付宝" && (thirdPartyUser.SubSource.ToUpper() == "VIP" || thirdPartyUser.SubSource.ToUpper() == "IMPERIAL_VIP"))
            //            {
            //                current.CustomerIDWithAlipayVipIndentity = string.Format("{0}{1}",current.CustomerID,"金帐户");
            //                current.CustomerID = string.Format("{0}<br><font color='red'>【{1}】</font>", current.CustomerID, "金帐户");
            //            }
            //        }
            //    });
            //}
            #endregion
        }
Example #19
0
 public static QueryResult QueryCustomers(CustomerQueryFilter queryFilter)
 {
     return(CommonDA.QueryCustomers(queryFilter));
 }
Example #20
0
        public void QueryCustomer(CustomerQueryFilter filter, EventHandler <RestClientEventArgs <dynamic> > callback)
        {
            string relativeUrl = "/CustomerService/Customer/Query";

            restClient.QueryDynamicData(relativeUrl, filter, callback);
        }