예제 #1
0
        // GET: Miles/Create
        public IActionResult Create()
        {
            var model = new CreateMileViewModel
            {
                MilesType = _combosHelper.GetComboMilesTypes()
            };

            return(View(model));
        }
예제 #2
0
 public Mile CreateMileViewModelToMile(CreateMileViewModel model, Client client, MilesType mileType)
 {
     return(new Mile
     {
         Miles = model.Miles,
         Client = client,
         MilesTypeId = mileType.Id,
         CreditDate = model.CreditDate,
         ExpiryDate = model.ExpiryDate,
         Description = model.Description
     });
 }
예제 #3
0
        public async Task <IActionResult> Create(CreateMileViewModel model)
        {
            if (ModelState.IsValid)
            {
                var client = await _clientRepository
                             .GetClientByNumberAsync(model.MilesProgramNumber);

                if (client == null)
                {
                    ModelState.AddModelError(string.Empty, "Client does not exist");

                    model.MilesType = _combosHelper.GetComboMilesTypes();

                    return(View(model));
                }

                var milesType = await _milesTypeRepository
                                .GetByIdAsync(model.MilesTypeId);

                if (milesType == null)
                {
                    ModelState.AddModelError(string.Empty, "Type does not exist");

                    model.MilesType = _combosHelper.GetComboMilesTypes();

                    return(View(model));
                }

                var mile = _converterHelper.CreateMileViewModelToMile(model, client, milesType);

                await _mileRepository.CreateAsync(mile);

                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }