Beispiel #1
0
        public async Task <IActionResult> GetClientList(ClientSearchViewModel model)
        {
            _logger.LogInformation(GetLogDetails() + " - model:{@Model}", args: new object[] { model });
            var result = await _clientService.GetClientListViewModelAsync(model);

            return(Json(result.Model));
        }
Beispiel #2
0
        protected override void OnActivate()
        {
            base.OnActivate();

            #region Инициализация поисковых комбобоксов

            this.ObtainerCombo = new EmployeeSearchViewModel(Model, "Приёмщик",
                                                             Builders <Employee> .Filter.Eq(nameof(Employee.Profession), EmployeeProfession.Advisor));
            this.CorpObtainerCombo = new ClientSearchViewModel(Model, "Приёмщик (корпоративный)",
                                                               Builders <Client> .Filter.Eq(nameof(Client.IsCorporative), true));
            this.InCourierCombo = new EmployeeSearchViewModel(Model, "Курьер, забирающий заказ",
                                                              Builders <Employee> .Filter.Eq(nameof(Employee.Profession), EmployeeProfession.Courier));
            this.WasherCombo = new EmployeeSearchViewModel(Model, "Прачечник",
                                                           Builders <Employee> .Filter.Eq(nameof(Employee.Profession), EmployeeProfession.Washer));
            this.OutCourierCombo = new EmployeeSearchViewModel(Model, "Курьер, вовзращающий заказ",
                                                               Builders <Employee> .Filter.Eq(nameof(Employee.Profession), EmployeeProfession.Courier));
            this.CorpDistributerCombo = new ClientSearchViewModel(Model, "Приёмщик (корпоративный), принимающий заказ",
                                                                  Builders <Client> .Filter.Eq(nameof(Client.IsCorporative), true));
            this.DistributerCombo = new EmployeeSearchViewModel(Model, "Приёмщик, выдающий заказ",
                                                                Builders <Employee> .Filter.Eq(nameof(Employee.Profession), EmployeeProfession.Advisor));

            this.ObtainerCombo.EntityChanged     += obtainer => this.EntityRepository.SetObtainer(this.Entity, obtainer);
            this.CorpObtainerCombo.EntityChanged +=
                corpObtainer => this.EntityRepository.SetObtainer(this.Entity, corpObtainer);
            this.InCourierCombo.EntityChanged       += inCourier => this.EntityRepository.SetInCourier(this.Entity, inCourier);
            this.WasherCombo.EntityChanged          += washer => this.EntityRepository.SetWasher(this.Entity, washer);
            this.OutCourierCombo.EntityChanged      += outCourier => this.EntityRepository.SetOutCourier(this.Entity, outCourier);
            this.CorpDistributerCombo.EntityChanged += corpDistributer =>
                                                       this.EntityRepository.SetDistributer(this.Entity, corpDistributer);
            this.DistributerCombo.EntityChanged +=
                distributer => this.EntityRepository.SetDistributer(this.Entity, distributer);

            #endregion
        }
Beispiel #3
0
        // GET: Client
        public ActionResult Index(ClientSearchViewModel viewModel)
        {
            IQueryable <Client> query = null;

            if (ModelState.IsValid)
            {
                query = SearchClientsByCriteria(viewModel);
            }

            var result = from c in query
                         select new ClientViewModel
            {
                ClientId     = c.Id,
                ClientName   = c.Name,
                CreatedDate  = c.CreatedDate,
                ModifiedDate = c.ModifiedDate,
                AccountList  = c.Accounts.Select(a => new AccountViewModel
                {
                    Id            = a.Id,
                    AccountNumber = a.AccountNumber,
                    Title         = a.Title,
                    Balance       = a.Balance,
                    CurrencyId    = a.CurrencyId
                }).ToList()
            };

            viewModel.ClientList = result.ToPagedList(viewModel.page ?? 1, viewModel.pageSize ?? 10);

            return(View(viewModel));
        }
Beispiel #4
0
        public ActionResult Profile()
        {
            ClientSearchViewModel clientSearch = new ClientSearchViewModel();

            using (var db = new PCMConnection())
            {
                clientSearch.Clients = db.ClientMasters.Where(c => c.Active == true).ToList();
            }
            return(View("ClientList", clientSearch));
        }
Beispiel #5
0
        public IActionResult Search(ClientSearchViewModel model)
        {
            if (model.SearchBy == "FirstName")
            {
                model.Clients =
                    context.Clients.Where(u => u.FirstName == model.Value)
                    .ToList()
                    .OrderBy(u => u.FirstName)
                    .ThenBy(u => u.LastName)
                    .Select(u => new ClientViewModel()
                {
                    Id        = u.Id,
                    FirstName = u.FirstName,
                    LastName  = u.LastName,
                    IsAdult   = u.IsAdult
                })
                    .ToList();
            }
            else if (model.SearchBy == "LastName")
            {
                model.Clients =
                    context.Clients.Where(u => u.LastName == model.Value)
                    .ToList()
                    .OrderBy(u => u.FirstName)
                    .ThenBy(u => u.LastName)
                    .Select(u => new ClientViewModel()
                {
                    Id        = u.Id,
                    FirstName = u.FirstName,
                    LastName  = u.LastName,
                    IsAdult   = u.IsAdult
                })
                    .ToList();
            }
            else
            {
                model.Clients = context.Clients
                                .OrderBy(u => u.FirstName)
                                .ThenBy(u => u.LastName)
                                .Select(u => new ClientViewModel()
                {
                    Id        = u.Id,
                    FirstName = u.FirstName,
                    LastName  = u.LastName,
                    IsAdult   = u.IsAdult
                })
                                .ToList();
            }

            return(View(model));
        }
Beispiel #6
0
        private IQueryable <Client> SearchClientsByCriteria(ClientSearchViewModel viewModel)
        {
            var query = from c in db.Clients
                        select c;

            if (!string.IsNullOrEmpty(viewModel.ClientName))
            {
                query = from c in query
                        where c.Name.ToLower().Contains(viewModel.ClientName.ToLower())
                        select c;
            }

            query = ApplySortOrder(viewModel, query);

            return(query);
        }
Beispiel #7
0
        public ActionResult Profile(ClientSearchViewModel searchName)
        {
            ClientSearchViewModel clientSearch = new ClientSearchViewModel();

            using (var db = new PCMConnection())
            {
                if (searchName.NameSearch == null)
                {
                    clientSearch.Clients = db.ClientMasters.Where(c => c.Active == true).ToList();
                }
                else
                {
                    clientSearch.Clients = db.ClientMasters.Where(c => c.Name.Contains(searchName.NameSearch)).ToList();
                }
            }
            return(View("ClientList", clientSearch));
        }
Beispiel #8
0
        // GET: Clients
        public ActionResult Index(ClientSearchViewModel search)
        {
            IEnumerable <Client> searched = data;

            if (search != null)
            {
                if (!string.IsNullOrEmpty(search.Name))
                {
                    searched = data.Where(p => p.Name.Contains(search.Name));
                }
                if (!string.IsNullOrEmpty(search.Phone))
                {
                    searched = searched.Where(p => p.Phone.Contains(search.Phone));
                }
            }

            return(View(searched));
        }
Beispiel #9
0
 public async Task <ICollection <ClientListViewModel> > ListClientsAsync(ClientSearchViewModel model)
 {
     return(await _context.Client
            .Where(e => (!model.StartDate.HasValue || e.Date >= model.StartDate) &&
                   (!model.EndDate.HasValue || e.Date <= model.EndDate) &&
                   (string.IsNullOrEmpty(model.FirstName) || e.FirstName.Contains(model.FirstName)) &&
                   (string.IsNullOrEmpty(model.LastName) || e.LastName.Contains(model.LastName)))
            .Select(e => new ClientListViewModel
     {
         ClientId = e.ClientId,
         FirstName = e.FirstName,
         LastName = e.LastName,
         ReferenceNumber = e.ReferenceNumber,
         Date = e.Date
     })
            .OrderByDescending(vm => vm.CreatedUtc)
            .ToListAsync());
 }
Beispiel #10
0
        public ActionResult Index(string sort = "", string sortdir = "", string searchText = "")
        {
            ViewBag.ddlSearchUnit   = GetItemsUnit(string.Empty);
            ViewBag.ddlSearchLedger = GetItemsLedger(string.Empty);

            ClientSearchViewModel model;

            if (string.IsNullOrEmpty(sort) && string.IsNullOrEmpty(sortdir) && string.IsNullOrEmpty(searchText))
            {
                ViewBag.ShowAdvancedSearch = "hideAdvancedSearch"; //standard
                model = new ClientSearchViewModel();
            }
            else
            {
                model = DoSort(sort, sortdir);
            }

            return(View(model));
        }
        // GET: Client
        public async Task <IActionResult> Index(string firstName, string searchString)
        {
            IQueryable <string> fnQuery = from m in _context.Clients
                                          orderby m.FirstName
                                          select m.FirstName;
            var clients = from m in _context.Clients
                          select m;

            if (!String.IsNullOrEmpty(searchString))
            {
                clients = clients.Where(s => s.LastName.Contains(searchString));
            }
            if (!string.IsNullOrEmpty(firstName))
            {
                clients = clients.Where(x => x.FirstName == firstName);
            }
            var FnlnVM = new ClientSearchViewModel
            {
                FirstNames = new SelectList(await fnQuery.Distinct().ToListAsync()),
                Clients    = await clients.ToListAsync()
            };

            return(View(FnlnVM));
        }
Beispiel #12
0
        public async Task <(bool Success, string Error, ICollection <ClientListViewModel> Model)> GetClientListViewModelAsync(ClientSearchViewModel model)
        {
            var    success = false;
            string error   = string.Empty;
            ICollection <ClientListViewModel> retModel = new List <ClientListViewModel>();

            try
            {
                retModel = await _clientRepository.ListClientsAsync(model);

                success = true;
            }
            catch (Exception ex)
            {
                error = "Somethong went wrong while processing your request.";
                _logger.LogError("ClientService.GetClientListViewModelAsync - exception:{@Ex}", args: new object[] { ex });
            }

            return(Success : success, Error : error, Model : retModel);
        }
 public void Cleanup()
 {
     this._mockRepository        = null;
     this._clientSearchViewModel = null;
     GC.Collect();
 }
Beispiel #14
0
        //
        // GET: /ClientEntry/

        public ActionResult Index(string sortOrder, string CurrentSort, int?page)
        {
            int pageSize  = 10;
            int pageIndex = 1;

            pageIndex = page.HasValue ? Convert.ToInt32(page) : 1;

            IPagedList <SET_CLIENT_INFO> client_info = null;
            ClientSearchViewModel        clientModel = null;

            var clients = db.SET_CLIENT_INFO.AsQueryable();

            if (Request.QueryString.HasKeys() && !page.HasValue)
            {
                clientModel = new ClientSearchViewModel();

                if (!string.IsNullOrEmpty(Request.QueryString["Search_Name"]))
                {
                    clientModel.Search_Name = Request.QueryString["Search_Name"];
                    clients = clients.Where(u => u.CLIENT_NAME.ToLower()
                                            .Contains(clientModel.Search_Name.ToLower()));
                }
                if (!string.IsNullOrEmpty(Request.QueryString["Search_Mobile"]))
                {
                    clientModel.Search_Mobile = Request.QueryString["Search_Mobile"];
                    clients = clients.Where(u => u.CLIENT_MOBILE.ToLower()
                                            .Contains(clientModel.Search_Mobile.ToLower()));
                }
                if (!string.IsNullOrEmpty(Request.QueryString["Search_Division"]))
                {
                    clientModel.Search_Division = decimal.Parse(Request.QueryString["Search_Division"]);
                    clients = clients.Where(u => u.DIVISION_NO == clientModel.Search_Division);
                }
                if (!string.IsNullOrEmpty(Request.QueryString["Search_Zilla"]))
                {
                    clientModel.Search_Zilla = decimal.Parse(Request.QueryString["Search_Zilla"]);
                    clients = clients.Where(u => u.ZILLA_NO == clientModel.Search_Zilla);
                }
                if (!string.IsNullOrEmpty(Request.QueryString["Search_Thana"]))
                {
                    clientModel.Search_Thana = decimal.Parse(Request.QueryString["Search_Thana"]);
                    clients = clients.Where(u => u.THANA_NO == clientModel.Search_Thana);
                }
                if (!string.IsNullOrEmpty(Request.QueryString["Search_Active"]) &&
                    Request.QueryString["Search_Active"] != "null")
                {
                    clientModel.Search_Active = bool.Parse(Request.QueryString["Search_Active"]);
                    decimal active = clientModel.Search_Active == true ? 1 : 0;
                    clients = clients.Where(u => u.IS_ACTIVE == active);
                }

                Session["Client_Search_Model"] = clientModel;
            }

            if (!Request.QueryString.HasKeys() && !page.HasValue)
            {
                Session["Client_Search_Model"] = null;
            }

            if (Session["Client_Search_Model"] != null)
            {
                clientModel = (ClientSearchViewModel)Session["Client_Search_Model"];
                if (!string.IsNullOrEmpty(clientModel.Search_Name))
                {
                    clients = clients.Where(u => u.CLIENT_NAME.ToLower()
                                            .Contains(clientModel.Search_Name.ToLower()));
                }
                if (!string.IsNullOrEmpty(clientModel.Search_Mobile))
                {
                    clients = clients.Where(u => u.CLIENT_MOBILE.ToLower()
                                            .Contains(clientModel.Search_Mobile.ToLower()));
                }
                if (clientModel.Search_Division.HasValue)
                {
                    clients = clients.Where(u => u.DIVISION_NO == clientModel.Search_Division);
                }
                if (clientModel.Search_Zilla.HasValue)
                {
                    clients = clients.Where(u => u.ZILLA_NO == clientModel.Search_Zilla);
                }
                if (clientModel.Search_Thana.HasValue)
                {
                    clients = clients.Where(u => u.THANA_NO == clientModel.Search_Thana);
                }

                if (clientModel.Search_Active.HasValue)
                {
                    decimal active = clientModel.Search_Active == true ? 1 : 0;
                    clients = clients.Where(u => u.IS_ACTIVE == active);
                }
            }

            client_info = clients.OrderBy(m => m.CLIENT_NAME)
                          .ToPagedList(pageIndex, pageSize);

            ViewBag.Search_Client_Model = (ClientSearchViewModel)Session["Client_Search_Model"];

            if (clientModel != null && clientModel.Search_Division.HasValue)
            {
                ViewBag.Search_Division = new SelectList(db.SET_DIVISION, "DIVISION_NO", "DIVISION_NAME",
                                                         clientModel.Search_Division);
            }
            else
            {
                ViewBag.Search_Division = new SelectList(db.SET_DIVISION, "DIVISION_NO", "DIVISION_NAME");
            }

            if (clientModel != null && clientModel.Search_Zilla.HasValue)
            {
                ViewBag.Search_Zilla = new SelectList(db.SET_ZILLA, "ZILLA_NO", "ZILLA_NAME",
                                                      clientModel.Search_Zilla);
            }
            else
            {
                if (clientModel != null && clientModel.Search_Division.HasValue)
                {
                    ViewBag.Search_Zilla = new SelectList(db.SET_ZILLA
                                                          .Where(z => z.DIVISION_NO == clientModel.Search_Division), "ZILLA_NO", "ZILLA_NAME");
                }
                else
                {
                    ViewBag.Search_Zilla = new SelectList(db.SET_ZILLA.Where(z => z.ZILLA_NO < 0));
                }
            }

            if (clientModel != null && clientModel.Search_Thana.HasValue)
            {
                ViewBag.Search_Thana = new SelectList(db.SET_THANA, "THANA_NO", "THANA_NAME",
                                                      clientModel.Search_Thana);
            }
            else
            {
                if (clientModel != null && clientModel.Search_Zilla.HasValue)
                {
                    ViewBag.Search_Thana = new SelectList(db.SET_THANA
                                                          .Where(t => t.ZILLA_NO == clientModel.Search_Zilla), "THANA_NO", "THANA_NAME");
                }
                else
                {
                    ViewBag.Search_Thana = new SelectList(db.SET_THANA.Where(t => t.THANA_NO < 0));
                }
            }

            /*
             * var set_client_info = db.SET_CLIENT_INFO.Include("SET_DIVISION")
             *                      .Include("SET_ZILLA").Include("SET_THANA");*/

            return(View(client_info));
        }
 public void Init()
 {
     this._mockRepository        = new Mock <IRepository>();
     this._mockDialogService     = new Mock <IDialogService>();
     this._clientSearchViewModel = new ClientSearchViewModel(this._mockRepository.Object, this._mockDialogService.Object);
 }
Beispiel #16
0
 public ClientSearch(ModelContainer context)
 {
     InitializeComponent();
     DataContext = ViewModel = new ClientSearchViewModel(this, context);
 }
Beispiel #17
0
        private IQueryable <Client> ApplySortOrder(ClientSearchViewModel viewModel, IQueryable <Client> query)
        {
            #region Apply sort order

            switch (viewModel.SortParameter)
            {
            case "NameSortParameter":
                query = query.OrderBy(q => q.Name);
                viewModel.NameSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "NameSortParameter_desc":
                query = query.OrderByDescending(q => q.Name);
                viewModel.NameSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "AccountsSortParameter":
                query = query.OrderBy(q => q.Accounts.Count());
                viewModel.AccountsSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "AccountsSortParameter_desc":
                query = query.OrderByDescending(q => q.Accounts.Count());
                viewModel.AccountsSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "AccountTotalSortParameter":
                query = query.OrderBy(q => q.Accounts.Sum(a => a.Balance));
                viewModel.AccountTotalSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "AccountTotalSortParameter_desc":
                query = query.OrderByDescending(q => q.Accounts.Sum(a => a.Balance));
                viewModel.AccountTotalSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "CreatedDateSortParameter":
                query = query.OrderBy(q => q.CreatedDate);
                viewModel.CreatedDateSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "CreatedDateSortParameter_desc":
                query = query.OrderByDescending(q => q.CreatedDate);
                viewModel.CreatedDateSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "ModifiedDateSortParameter":
                query = query.OrderBy(q => q.CreatedDate);
                viewModel.CreatedDateSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            case "ModifiedDateSortParameter_desc":
                query = query.OrderByDescending(q => q.CreatedDate);
                viewModel.CreatedDateSortParameter = MVCStringHelper.ConvertSortDirection(viewModel.SortParameter);
                break;

            default:
                query = query.OrderBy(q => q.Name);
                break;
            }

            #endregion

            return(query);
        }
Beispiel #18
0
        public ActionResult Index(FormCollection form)
        {
            ViewBag.ddlSearchUnit   = GetItemsUnit(string.Empty);
            ViewBag.ddlSearchLedger = GetItemsLedger(string.Empty);

            var searchText = form["txtSearchText"].Trim();
            var model      = new ClientSearchViewModel
            {
                SearchText    = searchText,
                SearchUnit    = form["ddlSearchUnit"],
                SortField     = form["SortField"],
                SortDirection = form["SortDirection"]
            };

            ViewBag.ShowAdvancedSearch = form["hidIsAdvanced"].Trim();
            form["hidIsAdvanced"]      = ViewBag.ShowAdvancedSearch;

            ViewBag.txtSearchText = searchText;
            var searchUnit                = form["ddlSearchUnit"];
            var searchLedger              = form["ddlSearchLedger"];
            var searchName                = form["txtSearchText"];
            var searchClientCode          = form["txtSearchClientCode"];
            var searchAddress             = form["txtSearchAddress"];
            var searchUnderWriterPolicyNo = form["txtSearchUnderWriterPolicyNo"];
            var searchMemoNo              = form["txtSearchMemoNo"];
            var searchInvoiceNo           = form["txtSearchInvoiceNo"];
            var searchDepositBsb          = form["txtSearchDepositBSB"];
            var searchDepositAccount      = form["txtSearchDepositAccount"];

            var clientFromAdvancedSearch = Searcher.AdvancedSearchProc(searchUnit,
                                                                       searchLedger,
                                                                       searchName,
                                                                       searchAddress,
                                                                       searchUnderWriterPolicyNo,
                                                                       searchMemoNo,
                                                                       searchInvoiceNo,
                                                                       searchDepositBsb,
                                                                       searchDepositAccount,
                                                                       searchClientCode);

            model.SearchResults = clientFromAdvancedSearch;

            var cache = new DefaultCacheProvider();

            if (Request.LogonUserIdentity != null)
            {
                var cacheKey = Request.LogonUserIdentity.Name;
                cache.Set(cacheKey, model, 30);
            }

            //reset fields for reshowing
            ViewBag.ddlSearchUnit                = GetItemsUnit(searchUnit);
            ViewBag.ddlSearchLedger              = GetItemsLedger(searchLedger);
            ViewBag.txtSearchName                = searchName;
            ViewBag.txtSearchAddress             = searchAddress;
            ViewBag.txtSearchUnderWriterPolicyNo = searchUnderWriterPolicyNo;
            ViewBag.txtSearchMemoNo              = searchMemoNo;
            ViewBag.txtSearchInvoiceNo           = searchInvoiceNo;
            ViewBag.txtSearchDepositBSB          = searchDepositBsb;
            ViewBag.txtSearchDepositAccount      = searchDepositAccount;
            ViewBag.txtSearchClientCode          = searchClientCode;
            return(View(model));
        }
Beispiel #19
0
        private ClientSearchViewModel DoSort(string sort, string sortdir)
        {
            ClientSearchViewModel model;
            var cache       = new DefaultCacheProvider();
            var cacheKey    = Request.LogonUserIdentity.Name;
            var cachedModel = cache.Get(cacheKey);

            if (cachedModel == null)
            {
                model = new ClientSearchViewModel();
            }
            else
            {
                model = (ClientSearchViewModel)cachedModel;

                sortdir = string.IsNullOrEmpty(sortdir) ? "asc" : sortdir;
                sort    = string.IsNullOrEmpty(sort) ? "name" : sort;

                if (string.Equals(model.SortField, sort, StringComparison.CurrentCultureIgnoreCase))
                {
                    model.SortDirection = string.Equals(sortdir.ToLowerInvariant(), "asc") ? "desc" : "asc";
                }
                model.SortField = sort;

                switch (sort.ToLowerInvariant())
                {
                case "unit":
                {
                    model.SearchResults = string.Equals(model.SortDirection, "asc")
                            ? model.SearchResults.OrderBy(x => x.Unit)
                            : model.SearchResults.OrderByDescending(x => x.Unit);
                    break;
                }

                case "ledger code":
                {
                    model.SearchResults = string.Equals(model.SortDirection, "asc")
                            ? model.SearchResults.OrderBy(x => x.LedgerCode)
                            : model.SearchResults.OrderByDescending(x => x.LedgerCode);
                    break;
                }

                case "name":
                {
                    model.SearchResults = string.Equals(model.SortDirection, "asc")
                            ? model.SearchResults.OrderBy(x => x.Name)
                            : model.SearchResults.OrderByDescending(x => x.Name);
                    break;
                }

                case "client code":
                {
                    model.SearchResults = string.Equals(model.SortDirection, "asc")
                            ? model.SearchResults.OrderBy(x => x.ClientCode)
                            : model.SearchResults.OrderByDescending(x => x.ClientCode);
                    break;
                }

                case "account executive":
                {
                    model.SearchResults = string.Equals(model.SortDirection, "asc")
                            ? model.SearchResults.OrderBy(x => x.AccountExecutive)
                            : model.SearchResults.OrderByDescending(x => x.AccountExecutive);
                    break;
                }
                }
            }
            return(model);
        }