public void AddOrder(String ccode, String cname, String pname, String qty)
        {
            //Select Customer
            SearchCustomer.Click();
            Thread.Sleep(3000);
            SearchCode.SendKeys(ccode);
            SearchName.SendKeys(cname);
            RunSearch.Click();
            Thread.Sleep(3000);
            SelectCustomer.Click();
            Thread.Sleep(5000);

            //Select Product
            SearchProduct.Click();
            Thread.Sleep(3000);
            SearchPName.SendKeys(pname);
            RunPSearch.Click();
            Thread.Sleep(3000);
            SelectProduct.Click();
            Thread.Sleep(3000);

            //Finish the follow flow
            AddQty.SendKeys(qty);
            AddBtn.Click();
            Thread.Sleep(3000);
            CompleteBtn.Click();
        }
예제 #2
0
        public QueryCustomer[] GetVipCustomers(string orderBy, SearchCustomer c)
        {
            var reservations = from reservation in reservationsList
                               let subtraction = DateTime.Today.Subtract(reservation.StartDate)
                                                 where subtraction.Days <= 30 && subtraction.Days >= 0
                                                 group reservation by reservation.CustomerId into g

                                                 select new
            {
                CustomerId        = g.Key,
                ReservationsCount = g.Count()
            };

            var tempCustomers = GetUnorderedCustomers(c);

            var customers = from customer in tempCustomers
                            join reservation in reservations on customer.CustomId equals reservation.CustomerId
                            where reservation.ReservationsCount > 1

                            select new QueryCustomer
            {
                CustomId          = customer.CustomId,
                Name              = customer.Name,
                BirthDate         = customer.BirthDate,
                Location          = customer.Location,
                ReservationsCount = reservation.ReservationsCount,
                Status            = reservation.ReservationsCount < 4 ? "Silver" : "Gold"
            };

            return(OrderItems(customers.AsQueryable(), orderBy));
        }
예제 #3
0
        public async Task <IActionResult> SearchCustomers(
            string currentFilter,
            string searchString,
            int?pageNumber)
        {
            if (searchString != null)
            {
                pageNumber = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewData["CurrentFilter"] = searchString;
            SearchCustomer model = new SearchCustomer();

            model.UserInput = searchString;
            var customers = model.GetResults();

            ViewData["TotalResults"] = customers.ToList().Count;

            int pageSize = 50;

            return(View(await PaginatedList <Domain.Customer> .CreateAsync(customers, pageNumber ?? 1, pageSize)));
        }
예제 #4
0
        private List <QueryCustomer> GetUnorderedCustomers(SearchCustomer c)
        {
            int?     customId  = c.CustomId;
            string   name      = c.Name;
            string   location  = c.Location;
            DateTime?birthDate = c.BirthDate;

            bool isNameEmpty     = string.IsNullOrWhiteSpace(name);
            bool isLocationEmpty = string.IsNullOrWhiteSpace(location);

            var customers = customerRepo.Collection().ToList();
            var locations = locationRepo.Collection().ToList();

            return((from customer in customers
                    join locationTable in locations on customer.LocationId equals locationTable.Id into leftJoin
                    from locationJoined in leftJoin.DefaultIfEmpty()
                    where (customId == null || customer.CustomId == customId) &&
                    (birthDate == null || customer.BirthDate == birthDate) &&
                    (!isNameEmpty && customer.Name == name || isNameEmpty) &&
                    (!isLocationEmpty && locationJoined.Name == location || isLocationEmpty)

                    select new QueryCustomer
            {
                CustomId = customer.CustomId,
                Name = customer.Name,
                BirthDate = customer.BirthDate,
                Location = locationJoined != null ? locationJoined.Name : "undefined",
                ReservationsCount = 0,
                Status = "undefined"
            }).ToList());
        }
예제 #5
0
        public async Task <CustomersModel> GetAllCustomer(SearchCustomer searchCustomer = null)
        {
            var model        = new CustomersModel();
            var allUserModel = _mapper.Map <List <User>, List <UserModel> >(await _customerManager.GetAllCustomer(searchCustomer));

            model.Customers  = allUserModel;
            model.TotalCount = allUserModel.Count;
            return(model);
        }
예제 #6
0
 private void btnSearch_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(textSearchCustomer.Text))
     {
         var searchCustomer = new SearchCustomer(CurrentUser, textSearchCustomer.Text);
         searchCustomer.ShowDialog();
         textSearchCustomer.Text = string.Empty;
     }
 }
예제 #7
0
        public async Task <byte[]> ExportCustomer(SearchCustomer searchCustomer = null)
        {
            try
            {
                var comlumHeadrs = new string[]
                {
                    Model.Resources.Common.FullName,
                    Model.Resources.Common.PhoneNumber,
                    Model.Resources.Common.InitialInvestmentAmount,
                    Model.Resources.Common.CurrentAccountAmount,
                    Model.Resources.Common.AccountCreated,
                    Model.Resources.Common.ActiveStatus
                };

                var predicate = SetPredicate(searchCustomer);

                var listCustomer = (await _unitOfWork.UserRepository.FindByAsync(u => !u.IsDeleted && _appUserManager.IsInRoleAsync(u, RoleName.Customer).Result))
                                   .Where(predicate).OrderByDescending(u => u.Created)
                                   .ToList();

                using (var package = new ExcelPackage())
                {
                    var worksheet = package.Workbook.Worksheets.Add("Customers");
                    using (var cells = worksheet.Cells[1, 1, 1, 6])
                    {
                        cells.Style.Font.Bold = true;
                    }

                    for (var i = 0; i < comlumHeadrs.Count(); i++)
                    {
                        worksheet.Cells[1, i + 1].Value = comlumHeadrs[i];
                    }

                    var j = 2;
                    foreach (var customer in listCustomer)
                    {
                        worksheet.Cells["A" + j].Value = customer.FullName;
                        worksheet.Cells["B" + j].Value = customer.PhoneNumber;
                        worksheet.Cells["C" + j].Style.Numberformat.Format = "#,##0";
                        worksheet.Cells["C" + j].Value = customer.InitialInvestmentAmount;
                        worksheet.Cells["D" + j].Style.Numberformat.Format = "#,##0";
                        worksheet.Cells["D" + j].Value = customer.CurrentAccountAmount;
                        worksheet.Cells["E" + j].Value = customer.Created.ToString("dd/MM/yyyy");
                        worksheet.Cells["F" + j].Value = (DateTime.Now - customer.LastLogin).Days < 365 ? Model.Resources.Common.Active : Model.Resources.Common.Inactive;
                        j++;
                    }

                    return(package.GetAsByteArray());
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Export Customer: " + ex.Message);
            }
        }
예제 #8
0
        public async Task <IActionResult> List([FromBody] SearchCustomer model, int pageSize = 0, int pageIndex = 0)
        {
            var size = pageSize > 0 ? pageSize : _configuration.GetValue <int>("PagingConfig:PageSize");
            var page = pageIndex > 0 ? pageIndex : 1;

            var customersModel = await _customerService.GetListCustomer(size, page, model);

            customersModel.PageIndex = page;
            customersModel.PageSize  = size;

            return(PartialView("Views/Customer/ListCustomerPartial.cshtml", customersModel));
        }
예제 #9
0
 public ActionResult SelectCustomer()
 {
     if (Request.IsAuthenticated)
     {
         SearchCustomer searchModel = new SearchCustomer();
         ViewBag.CustomerTypes = db.CustomerTypes.ToArray <CustomerType>();
         return(PartialView("SelectCustomer", searchModel));
     }
     else
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
예제 #10
0
        public void SearchCustomerTest()
        {
            mockRepository.Setup(x => x.SearchCustomer(1))
            .Returns(listaCustomers.Where(y => y.CustomerId == 1).First);

            var handler = new SearchCustomerHandler(mockRepository.Object);

            SearchCustomer sc = new SearchCustomer(1);

            var res = handler.Handle(sc, ct);

            Assert.IsNotNull(res.Result);
        }
예제 #11
0
        public ActionResult Index(SearchCustomer viewModel)
        {
            IEnumerable <Customer> customers = _data.GetCustomers(viewModel.FirstName, viewModel.LastName, viewModel.Id);

            viewModel.customers = customers.Select(c => new CustomerInfoViewModel
            {
                Id        = c.Id,
                FirstName = c.FirstName,
                LastName  = c.LastName,
            });

            return(View(viewModel));
        }
예제 #12
0
        private void OnSearchCustomer(SearchCustomer e, IServer server, ISession session)
        {
            if (e.Quantity > mCustomers.Count)
            {
                e.Quantity = mCustomers.Count;
            }
            List <Customer> result = new List <Customer>();

            for (int i = 0; i < e.Quantity; i++)
            {
                result.Add(mCustomers[i]);
            }
            server.Send(result, session);
        }
예제 #13
0
        public async Task <List <User> > GetAllCustomer(SearchCustomer searchCustomer = null)
        {
            var predicate    = SetPredicate(searchCustomer);
            var listCustomer = (await _appUserManager.GetUsersInRoleAsync(RoleName.Customer)).Where(u => !u.IsDeleted).Where(predicate).ToList();
            //Get all KVRR
            var kvrr = _unitOfWork.KVRRRepository.GetAllKVRR();

            foreach (var customer in listCustomer)
            {
                customer.KVRR = kvrr.FirstOrDefault(h => h.Id == customer.KVRRId);
            }
            //var listCustomer = (await _unitOfWork.UserRepository.FindByAsync(u => !u.IsDeleted && u., "KVRR"))
            //                    .Where(predicate).OrderByDescending(u => u.Created)
            //                    .ToList().Where(u=> _appUserManager.IsInRoleAsync(u, RoleName.Customer).Result).ToList();
            return(listCustomer.ToList());
        }
예제 #14
0
파일: Searcher.cs 프로젝트: dendiod/RentC
        private void ReadCustomer()
        {
            int?     id        = reader.ReadIntOptional("Client Id: ");
            string   name      = reader.ReadStringOptional("Client Name: ");
            DateTime?birthDate = reader.ReadDateOptional("Birth Date: ");
            string   location  = reader.ReadStringOptional("Location: ");

            var customer = new SearchCustomer();

            customer.CustomId  = id;
            customer.Name      = name;
            customer.BirthDate = birthDate;
            customer.Location  = location;

            SetProps(customer);
        }
예제 #15
0
        public ActionResult GetCustomerWithSeraching(SearchCustomer search, int?page)
        {
            List <Customer> customers = new List <Customer>();

            try
            {
                CustomerBIZ custBiz = new CustomerBIZ();
                customers = custBiz.GetAllCustomer();
            }
            catch (Exception ex)
            {
                // use logging error
                Response.Write(ex.Message);
            }

            return(PartialView("_PartialCustomers", customers.ToPagedList(page ?? 1, 5)));
        }
예제 #16
0
        public async Task <ActionResult> GetCustomersAsync(Pagination pagination, SearchCustomer search)
        {
            // Mapping: Customer
            var customersSource = await _unitOfWork.Customers.GetAllAsync();

            var customers = _mapper.Map <IEnumerable <Customer>, IEnumerable <CustomerDTO> >(customersSource);

            // Search by Id:
            if (search.Id != "")
            {
                customers = customers.Where(c =>
                                            c.Id.ToLower().Contains(search.Id.ToLower()));
            }

            // Search by Phone:
            if (search.Phone != "")
            {
                customers = customers.Where(c =>
                                            c.Phone.Contains(search.Phone));
            }

            // Search by FullName:
            if (search.FullName != "")
            {
                customers = customers.Where(c =>
                                            c.FullName.ToLower().Contains(search.FullName.ToLower()));
            }

            // Sort Asc:
            if (search.sortAsc != "")
            {
                customers = customers.OrderBy(c =>
                                              c.GetType().GetProperty(search.sortAsc).GetValue(c));
            }

            // Sort Desc:
            if (search.sortDesc != "")
            {
                customers = customers.OrderByDescending(c =>
                                                        c.GetType().GetProperty(search.sortDesc).GetValue(c));
            }

            return(Ok(PaginatedList <CustomerDTO> .Create(customers, pagination.current, pagination.pageSize)));
        }
예제 #17
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     Log.Info("Before: Process to Create Excel Sheet on ShowRecord of Customer");
     if (datalist.Items.Count != 0)
     {
         List <Sale>    lst = (List <Sale>)datalist.ItemsSource;
         SearchCustomer rpt = new SearchCustomer(fdate.Content.ToString()
                                                 , ldate.Content.ToString(),
                                                 lst, cname.Content.ToString(),
                                                 advance.Content.ToString(),
                                                 balance.Content.ToString());
         rpt.ShowDialog();
         Log.Info("After: Process to Create Excel Sheet on ShowRecord of Customer");
     }
     else
     {
         MessageBox.Show("No Records Found");
     }
 }
예제 #18
0
        private void NewBill_Click(object sender, EventArgs e)
        {
            //se localiza el formulario buscandolo entre los forms abiertos
            Form fnsc = Application.OpenForms.Cast <Form>().FirstOrDefault(x => x is SearchCustomer);

            if (fnsc != null)
            {
                if (fnsc.WindowState == FormWindowState.Minimized)
                {
                    fnsc.WindowState = FormWindowState.Normal;
                }
                //si la instancia existe la pongo en primer plano
                fnsc.BringToFront();
                return;
            }
            //sino existe la instancia se crea una nueva
            SearchCustomer fnscd = new SearchCustomer();

            fnscd.Show();
        }
예제 #19
0
        public ActionResult VipCustomersList(CustomerViewModel viewModel, string orderBy = "CustomId")
        {
            if (!ModelState.IsValid)
            {
                return(View(new CustomerViewModel()
                {
                    Customers = new List <QueryCustomer>()
                }));
            }
            SearchCustomer c            = viewModel.SearchCustomer ?? new SearchCustomer();
            QueryManager   queryManager = new QueryManager(carRepo, customerRepo, reservationRepo, locationRepo,
                                                           modelRepo, manufacurerRepo);

            QueryCustomer[] customers = queryManager.GetVipCustomers(orderBy, c);

            viewModel.Customers      = customers;
            viewModel.SearchCustomer = new SearchCustomer();

            return(View(viewModel));
        }
예제 #20
0
        private ExpressionStarter <User> SetPredicate(SearchCustomer searchCustomer)
        {
            var predicate = PredicateBuilder.New <User>(true);

            if (searchCustomer != null)
            {
                if (!string.IsNullOrWhiteSpace(searchCustomer.FullName))
                {
                    var fullName = searchCustomer.FullName.Trim().ToLower();
                    predicate = predicate.And(u => !string.IsNullOrWhiteSpace(u.FullName) && u.FullName.ToLower().Contains(fullName));
                }
                if (!string.IsNullOrWhiteSpace(searchCustomer.PhoneNumber))
                {
                    var phone = searchCustomer.PhoneNumber.Trim().ToLower();
                    predicate = predicate.And(u => !string.IsNullOrWhiteSpace(u.PhoneNumber) && u.PhoneNumber.Contains(phone));
                }
                if (!string.IsNullOrWhiteSpace(searchCustomer.Email))
                {
                    var email = searchCustomer.Email.Trim().ToLower();
                    predicate = predicate.And(u => !string.IsNullOrWhiteSpace(u.Email) && u.Email.ToLower().Contains(email));
                }
                var created = new DateTime();
                if (!string.IsNullOrWhiteSpace(searchCustomer.CreatedDate) && DateTime.TryParseExact(searchCustomer.CreatedDate, "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, out created))
                {
                    predicate = predicate.And(u => u.Created.Date == created);
                }
                if (searchCustomer.ActiveStatus == ActiveStatus.Active)
                {
                    predicate = predicate.And(u => (DateTime.Now - u.LastLogin).Days < 365);
                }
                if (searchCustomer.ActiveStatus == ActiveStatus.Inactive)
                {
                    predicate = predicate.And(u => (DateTime.Now - u.LastLogin).Days >= 365);
                }
            }

            return(predicate);
        }
예제 #21
0
        static void Main(string[] args)
        {
            Messages.ClientPacket packet = new Messages.ClientPacket();
            packet.Register(typeof(Employee).Assembly);
            TcpClient client = SocketFactory.CreateClient <TcpClient>(packet, "127.0.0.1", 9090);

            //TcpClient client = SocketFactory.CreateClient<TcpClient>(packet, "127.0.0.1", 9090, "localhost");
            while (true)
            {
                Console.Write("select search category 1.customer  2.employee :");
                string line = Console.ReadLine();
                int    category;
                if (int.TryParse(line, out category))
                {
                    if (category == 1)
                    {
                        Console.Write("enter get customer quantity:");
                        line = Console.ReadLine();
                        int quantity;
                        if (int.TryParse(line, out quantity))
                        {
                            SearchCustomer search = new SearchCustomer();
                            search.Quantity = quantity;
                            client.SendMessage(search);
                            var result = client.ReceiveMessage <IList <Customer> >();
                            foreach (Customer item in result)
                            {
                                Console.WriteLine("\t{0}", item.CompanyName);
                            }
                        }
                        else
                        {
                            Console.WriteLine("input not a number!");
                        }
                    }
                    else if (category == 2)
                    {
                        Console.Write("enter get employee quantity:");
                        line = Console.ReadLine();
                        int quantity;
                        if (int.TryParse(line, out quantity))
                        {
                            SearchEmployee search = new SearchEmployee();
                            search.Quantity = quantity;
                            client.SendMessage(search);
                            var result = client.ReceiveMessage <IList <Employee> >();
                            foreach (Employee item in result)
                            {
                                Console.WriteLine("\t{0} {1}", item.FirstName, item.LastName);
                            }
                        }
                        else
                        {
                            Console.WriteLine("input not a number!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("input category error!");
                    }
                }
                else
                {
                    Console.WriteLine("input not a number!");
                }
            }
        }
예제 #22
0
        // GET: Search
        public ActionResult Index()
        {
            var viewModel = new SearchCustomer();

            return(View(viewModel));
        }
예제 #23
0
        public async Task <IActionResult> Export(SearchCustomer searchModel)
        {
            var fileContent = await _customerService.ExportCustomer(searchModel);

            return(File(fileContent, "application/ms-excel", $"Customers.xlsx"));
        }
        private void btnSelect_Click(object sender, RoutedEventArgs e)
        {
            SearchCustomer window = new SearchCustomer(this);

            window.Show();
        }
예제 #25
0
        public async Task <CustomersModel> GetListCustomer(int pageSize, int pageIndex, SearchCustomer searchCustomer = null)
        {
            var model         = new CustomersModel();
            var listUser      = (await _customerManager.GetListCustomer(pageSize, pageIndex, searchCustomer)).ToList();
            var listUserModel = _mapper.Map <List <User>, List <UserModel> >(listUser);

            model.Customers  = listUserModel;
            model.TotalCount = (await _customerManager.GetAllCustomer(searchCustomer)).Count;
            return(model);
        }
예제 #26
0
        public async Task <List <User> > GetListCustomer(int pageSize, int pageIndex, SearchCustomer searchCustomer = null)
        {
            if (pageSize < 1 || pageIndex < 1)
            {
                return(null);
            }

            var predicate = SetPredicate(searchCustomer);

            var listCustomer = (await _unitOfWork.UserRepository.FindByAsync(u => !u.IsDeleted && _appUserManager.IsInRoleAsync(u, RoleName.Customer).Result))
                               .Where(predicate).OrderByDescending(u => u.Created)
                               .Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();

            return(listCustomer);
        }
예제 #27
0
 public async Task <byte[]> ExportCustomer(SearchCustomer searchCustomer = null)
 {
     return(await _customerManager.ExportCustomer(searchCustomer));
 }
예제 #28
0
        public ActionResult SearchCustomer()
        {
            SearchCustomer searchModel = new SearchCustomer();

            if (TryUpdateModel(searchModel))
            {
                SearchCustomer[] searchResult = null;
                if (searchModel.RFONumber != null)
                {
                    var results = from rfo in db.RFONumbers.Where(r => (r.RFONumber1 == searchModel.RFONumber))
                                  join com in db.Companies
                                  on rfo.CompanyId equals com.CompanyId
                                  join csm in db.CustomerTypes
                                  on rfo.CustomerTypeId equals csm.CustomerTypeId
                                  select new SearchCustomer
                    {
                        RFONumber            = rfo.RFONumber1,
                        SelectedCustomerType = rfo.CustomerType,
                        Name         = com.Name,
                        PostCode     = rfo.PostCode,
                        BusinessArea = com.BusinessArea
                    };
                    if (results != null)
                    {
                        searchResult = results.ToArray <SearchCustomer>();
                    }
                }
                else
                {
                    var results = from rfo in db.RFONumbers.Where(r => ((searchModel.RFONumber == null || r.RFONumber1 == searchModel.RFONumber) &&
                                                                        r.CustomerTypeId == searchModel.SelectedCustomerType.CustomerTypeId &&
                                                                        (string.IsNullOrEmpty(searchModel.PostCode) || r.PostCode.Contains(searchModel.PostCode))))

                                  join com in db.Companies.Where(co => ((string.IsNullOrEmpty(searchModel.Name) || co.Name.Contains(searchModel.Name)) &&
                                                                        (string.IsNullOrEmpty(searchModel.BusinessArea) || co.BusinessArea.Contains(searchModel.BusinessArea))))
                                  on rfo.CompanyId equals com.CompanyId

                                  join csm in db.CustomerTypes
                                  on rfo.CustomerTypeId equals csm.CustomerTypeId
                                  select new SearchCustomer
                    {
                        RFONumber            = rfo.RFONumber1,
                        SelectedCustomerType = rfo.CustomerType,
                        Name         = com.Name,
                        PostCode     = rfo.PostCode,
                        BusinessArea = com.BusinessArea
                    };
                    if (results != null)
                    {
                        searchResult = results.ToArray <SearchCustomer>();
                    }
                }
                if (searchResult != null)
                {
                    return(PartialView("SearchCustomerResults", searchResult));
                }
                else
                {
                    return(PartialView("SelectCustomer", new SearchCustomer[0]));
                }
            }
            else
            {
                return(PartialView("SearchCustomerResults", new SearchCustomer[0]));
            }
        }
예제 #29
0
        public QueryCustomer[] GetCustomers(string orderBy, SearchCustomer c)
        {
            var customers = GetUnorderedCustomers(c).AsQueryable();

            return(OrderItems(customers, orderBy));
        }
예제 #30
0
        public async Task <ActionResult> GetCustomersAsync([FromQuery] Pagination pagination, [FromQuery] SearchCustomer search)
        {
            var customers = await _service.GetCustomersAsync(pagination, search);

            return(customers);
        }