public async Task <TariffOptionDescriptionViewModel> UpdateAsync(TariffOptionDescriptionViewModel model)
        {
            var tariffOptionDescription = _context.TariffOptionsDescriptions.First(x => x.Id == model.Id);

            if (tariffOptionDescription is null)
            {
                return(null);
            }

            tariffOptionDescription.Name        = model.Name;
            tariffOptionDescription.Description = model.Description;

            _context.Update(tariffOptionDescription);
            await _context.SaveChangesAsync();

            var newTariffOptionDescription = new TariffOptionDescriptionViewModel
            {
                Id          = tariffOptionDescription.Id,
                Name        = tariffOptionDescription.Name,
                Description = tariffOptionDescription.Description
            };

            var userForLog = await _userManager.FindByEmailAsync(_httpContext.User.Identity.Name);

            _logger.LogInformation("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}",
                                   userForLog.UserName,
                                   userForLog.Id,
                                   _httpContext.Request.GetRawTarget(),
                                   $"TariffOptionDescription: {JsonConvert.SerializeObject(newTariffOptionDescription)} was successfully updated.");

            return(newTariffOptionDescription);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> EditTariffOptionDescription([FromForm] TariffOptionDescriptionViewModel model)
        {
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Values.SelectMany(x => x.Errors.Select(xx => xx.ErrorMessage)).ToList();
                errors.ForEach(x => ModelState.AddModelError("", x));
                return(View(model));
            }

            if (model.Id is null)
            {
                await _tariffOptionDescriptionService.CreateAsync(model);

                return(RedirectToAction("TariffManager"));
            }

            var tariffUpdated = await _tariffOptionDescriptionService.UpdateAsync(model);

            if (tariffUpdated is null)
            {
                return(View("SomethingWentWrong", "on updating existing tariff option"));
            }

            return(View(tariffUpdated));
        }
        public async Task <TariffOptionDescriptionViewModel> CreateAsync(TariffOptionDescriptionViewModel model)
        {
            var tariffOptionDescription = new TariffOptionDescription
            {
                Name        = model.Name,
                Description = model.Description
            };

            _context.TariffOptionsDescriptions.Add(tariffOptionDescription);
            await _context.SaveChangesAsync();

            var userForLog = await _userManager.FindByEmailAsync(_httpContext.User.Identity.Name);

            _logger.LogInformation("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}",
                                   userForLog.UserName,
                                   userForLog.Id,
                                   _httpContext.Request.GetRawTarget(),
                                   $"TariffOptionDescription: {JsonConvert.SerializeObject(tariffOptionDescription)} was successfully created.");

            return(model);
        }