public async Task <IActionResult> ConfirmTierChange(int?id)
        {
            if (id == null)
            {
                return(new NotFoundViewResult("_Error404"));
            }

            try
            {
                TierChange tierChange = await _tierChangeRepository.GetByIdWithIncludesAsync(id.Value);

                if (tierChange == null)
                {
                    return(new NotFoundViewResult("_Error404"));
                }

                tierChange.ModifiedBy = await GetCurrentUser();

                tierChange.UpdateDate = DateTime.Now;
                tierChange.Status     = 0;

                await _tierChangeRepository.UpdateAsync(tierChange);

                // _mailHelper.SendMail(user.Email, $"Your Tier change has been confirmed.",
                //$"<h1>You can now use our service as a {tierChange.NewTier}.</h1>");

                return(RedirectToAction(nameof(TierChange)));
            }
            catch (Exception exception)
            {
                ModelState.AddModelError(string.Empty, exception.Message);
            }
            return(RedirectToAction(nameof(TierChange)));
        }
        public TierChangeViewModel ToTierChangeViewModel(TierChange tierChange)
        {
            var tierChanges = new TierChangeViewModel
            {
                TierChangeId    = tierChange.Id,
                OldTier         = tierChange.OldTier,
                NewTier         = tierChange.NewTier,
                NumberOfFlights = tierChange.NumberOfFlights,
                NumberOfMiles   = tierChange.NumberOfMiles,
                Status          = tierChange.Status,
                ClientName      = tierChange.Client.Name
            };

            return(tierChanges);
        }
        public TierChange ToTierChange(TierChangeViewModel model, bool isNew)
        {
            var tier = new TierChange
            {
                Id              = isNew ? 0 : model.TierChangeId,
                UpdateDate      = DateTime.Now,
                OldTier         = model.OldTier,
                NewTier         = model.NewTier,
                NumberOfFlights = model.NumberOfFlights,
                NumberOfMiles   = model.NumberOfMiles,
                Status          = 1
            };

            return(tier);
        }