Ejemplo n.º 1
0
        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));
            }
        }