// GET: CallCenterOffer public ActionResult Index(string id, int saveLogId) { var customer = _customerRepository.GetCustomerInformation(id, _httpContextBase.User.Identity.Name); if (customer == null || customer.Account == null || customer.Packages == null) { return(RedirectToAction("NotFound", "Customer", new { accountNumber = id })); } var customerModel = _mapper.Map <CustomerModel>(customer); customerModel.Rating = _customerRepository.GetCustomerRatingData(id); var packages = _mapper.Map <PackageInfo[], Package[]>(customer.Packages); var isCable = customer.Cable != null && customer.Cable.DisconnectDate == null; var isPhone = customer.Phone != null && customer.Phone.DisconnectDate == null; var isInternet = customer.Internet != null && customer.Internet.DisconnectDate == null; customerModel.RateIncrease = _customerRepository.GetCustomerRateIncrease(id, packages, customer.Account.MarketId, isCable, isPhone, isInternet); var offers = _customerRepository.GetOffers(packages, customerModel.Rating, Convert.ToInt32(customer.Account.MarketId), Convert.ToInt32(customer.Account.AccountTenure), isCable, isPhone, isInternet, EnumsOfferGroup.Loyalty, saveLogId); var loyalty1Offer = offers.FirstOrDefault(o => o.DiscountType == EnumsDiscountType.Loyalty1); var loyalty2Offer = offers.FirstOrDefault(o => o.DiscountType == EnumsDiscountType.Loyalty2); var contractOffer = offers.FirstOrDefault(o => o.DiscountType == EnumsDiscountType.Contract); var loyaltyOffersModel = new LoyaltyOffersModel(); loyaltyOffersModel.CustomerModel = customerModel; loyaltyOffersModel.Loyalty1Offer = _mapper.Map <LoyaltyOffer>(loyalty1Offer); loyaltyOffersModel.Loyalty2Offer = _mapper.Map <LoyaltyOffer>(loyalty2Offer); loyaltyOffersModel.ContractOffer = _mapper.Map <LoyaltyOffer>(contractOffer); loyaltyOffersModel.LoyaltyHsdSpeeds = GetHsdList(); loyaltyOffersModel.LoyaltyCableSizes = GetCableList(); loyaltyOffersModel.LoyaltyPhoneOptions = GetPhoneList(); loyaltyOffersModel.FiveYearDiscountAmts = GetFiveYearDiscountList(); loyaltyOffersModel.SavesLogId = saveLogId; return(View(loyaltyOffersModel)); }
public ActionResult Index(LoyaltyOffersModel offersModel, string command) { if (command == "Submit") { OfferList[] listArray = new OfferList[3]; var loyalty1OfferList = new OfferList(); loyalty1OfferList.IsOffered = offersModel.Loyalty1Offer.WasOffered; loyalty1OfferList.IsAccepted = offersModel.Loyalty1Offer.WasAccepted; loyalty1OfferList.OfferType = "Loyalty1"; listArray[0] = loyalty1OfferList; var loyalty2OfferList = new OfferList(); loyalty2OfferList.IsOffered = offersModel.Loyalty2Offer.WasOffered; loyalty2OfferList.IsAccepted = offersModel.Loyalty2Offer.WasAccepted; loyalty2OfferList.OfferType = "Loyalty2"; listArray[1] = loyalty2OfferList; var contractOfferList = new OfferList(); contractOfferList.IsOffered = offersModel.ContractOffer.WasOffered; contractOfferList.IsAccepted = offersModel.ContractOffer.WasAccepted; contractOfferList.OfferType = "Contract"; listArray[2] = contractOfferList; decimal fiveYearDiscountAmt = 0; if (offersModel.ContractOffer.WasAccepted) { string selectedDiscountAmt = offersModel.SelectedFiveYearDiscountAmt.Remove(0, 1).Trim(); decimal returnValue = 0; fiveYearDiscountAmt = decimal.TryParse(selectedDiscountAmt, out returnValue) ? Convert.ToDecimal(selectedDiscountAmt) : 0; } _logRepository.LogSaveOffers(listArray, offersModel.SavesLogId, offersModel.SelectedHsd, offersModel.SelectedPhone, offersModel.SelectedCable, "Save", fiveYearDiscountAmt, offersModel.TwelveMonthContract.WasAccepted); return(View("Summary", offersModel)); } //TODO: Log Action return(RedirectToAction("Index", "Home")); }