Ejemplo n.º 1
0
        public IList<SearchAgentResult> SearchAgentByCriterial(AgentCriterial criterial)
        {
            List<SearchAgentResult> listResult = new List<SearchAgentResult>();
            if (criterial != null)
            {
                var listAgent = (agentRepository.Get.Where(c=>!c.IsDeleted)
                    .Include(m => m.Member)
                    .Where(c => (c.FirstName.Contains(criterial.FirstName) || String.IsNullOrEmpty(criterial.FirstName)) &&
                    (c.LastName.Contains(criterial.LastName) || String.IsNullOrEmpty(criterial.LastName)) &&
                    (c.ChaufferLic.Equals(criterial.ChaufferLic) || String.IsNullOrEmpty(criterial.ChaufferLic)))).ToList();

                var listMedallion = medallionRepository.Get

                    .Where(c => c.MedallionNumber.Contains(criterial.Medallion) || String.IsNullOrEmpty(criterial.Medallion)).ToList();

                listResult = (from agent in listAgent
                              join medallion in listMedallion on agent.MemberId equals medallion.MemberId into B
                              from b in B.DefaultIfEmpty()
                              select new SearchAgentResult()
                              {
                                  AccountNumber = agent.Member != null ? agent.Member.AccountNumber : string.Empty,
                                  Id = agent.Id,
                                  ChaufferLic = agent.ChaufferLic,
                                  FirstName = agent.FirstName,
                                  LastName = agent.LastName,
                                  MedallionId = b != null ? b.Id : Guid.Empty,
                                  MedallionNumber = b != null ? b.MedallionNumber : string.Empty,
                                  MemberId = agent.MemberId.HasValue?agent.MemberId.Value:Guid.Empty
                              }).Distinct().ToList();
                listResult = (from a in listResult
                              group a by a.Id into g
                              select new SearchAgentResult()
                              {
                                  AccountNumber = g != null ? g.First().AccountNumber : string.Empty,
                                   Id = g != null ? g.First(). Id : Guid.Empty,
                                  ChaufferLic = g != null ? g.First().ChaufferLic : string.Empty,
                                  FirstName = g != null ? g.First().FirstName : string.Empty,
                                  LastName = g != null ? g.First().LastName : string.Empty,
                                  MedallionId = g != null ? g.First().MedallionId : Guid.Empty,
                                  MedallionNumber = g != null ? g.First().MedallionNumber : string.Empty,
                                  MemberId = g != null ? g.First().MemberId : Guid.Empty

                              }).ToList();

            }
            return listResult;
        }
Ejemplo n.º 2
0
        public ActionResult SearchAgentByCriterial(AgentCriterial criterial)
        {
            var listResult = agentService.SearchAgentByCriterial(criterial);

            return Json(listResult, JsonRequestBehavior.AllowGet);
        }