public ActionResult ReconcilationCommissions(int?type, int?carrierId, string smd, string pId, bool?isSaved) { var commisions = new List <CommisionModel>(); ViewBag.carrierStatementDates = new List <SelectListCommon>(); ViewBag.carrierStatementDatePayments = new List <SelectListCommon>(); if (carrierId != null) { ViewBag.carrierStatementDates = _commisionService.GetCarrierStatementDates(Convert.ToString(carrierId)); } if (!string.IsNullOrEmpty(smd)) { ViewBag.carrierStatementDatePayments = _commisionService.GetCarrierStatementDatePayments(Convert.ToString(carrierId), smd); } try { //ViewBag.Carriers = _carrierService.GetAllCarriers(); if (carrierId != null && carrierId > 0) { ViewBag.Status = CommonUtil.GetStatus(); commisions = _commisionService.GetAllSavedCommissionsForCarrier(Convert.ToInt32(carrierId)); } ViewBag.PersistMessage = isSaved != null && isSaved == true ? "Commissions updated successfully" : ""; commisions = commisions.Where(c => c.CarrierId == carrierId).ToList(); if (!string.IsNullOrEmpty(smd) && commisions != null && commisions.Count > 0 && smd != "-- Please select a statement date --") { commisions = commisions.Where(c => c.StatementDateAsString == smd).ToList(); } var savedCommissions = _commisionService.GetSavedCommisions(); if (!string.IsNullOrEmpty(pId) && commisions != null && commisions.Count > 0 && pId != "-- Please select a paymentid --") { commisions = commisions.Where(c => c.PaymentId == pId).ToList(); } if (type == 1) { commisions = commisions.Where(c => c.ReconsilationStatus == "Open").ToList(); savedCommissions = savedCommissions.Where(c => c.ReconcilationStatus == null).ToList(); } if (type == 2) { commisions = commisions.Where(c => c.ReconsilationStatus == "Verified").ToList(); savedCommissions = savedCommissions.Where(c => c.ReconcilationStatus == "Verified").ToList(); } if (savedCommissions != null && savedCommissions.Count > 0) { var vbCarriers = new List <CarrierModel>(); var carriers = _carrierService.GetAllCarriers(); var cpIds = savedCommissions.Select(c => c.ClientPolicyId).ToList(); cpIds.ForEach(cp => { var clientPolicy = _commisionService.GetAllClientPoliciesByIndexId(cp); var policy = _policyService.GetById(clientPolicy.PolicieId); var carrier = carriers.FirstOrDefault(c => c.Id == policy.CarId); if (vbCarriers.FirstOrDefault(vbc => vbc.Id == carrier.Id) == null) { vbCarriers.Add(carrier); } }); ViewBag.Carriers = vbCarriers; } else { ViewBag.Carriers = new List <CarrierModel>(); } return(View(commisions)); } catch (Exception ex) { return(View(commisions)); } }