public IHttpActionResult PolicyRegister(PolicyRegistrationBindingModel model) { //Логгирование: запрос регистрации полиса. _logger.Trace($"Запрос регистрации полиса."); if (!ModelState.IsValid) { //Логгирование: ошибка модели данных. _logger.Error($"Модель данных регистрации полиса не валидна."); return(BadRequest(ModelState)); } var email = string.Empty; try { email = Request .Headers .FirstOrDefault(c => c.Key.Equals("email")) .Value .FirstOrDefault(); } catch { //Логгирование: ошибка получения email. _logger.Error($"Ошибка, заголовок не содержит email."); return(NotFound()); } var policyNumber = _policyService.PolicyRegistration( email, model.CarCost, model.CarNumber, model.CarModel, model.ManufacturedYear, model.EnginePower ); if (string.IsNullOrEmpty(policyNumber)) { //Логгирование: ошибка регистрации полиса. _logger.Error($"Ошибка регистрации полиса на автомобиль <{model.CarNumber}>."); return(NotFound()); } else { //Логгирование: запрос регистрации выполнен. _logger.Trace($"Запрос регистрации полиса на автомобиль <{model.CarNumber}> выполнен."); return(Ok(policyNumber)); } }
public IHttpActionResult PolicyCost(PolicyRegistrationBindingModel model) { //Логгирование: запрос рассчета полиса. _logger.Trace($"Запрос рассчета полиса."); DateTime birthDate; DateTime driverLicenseDate; var email = string.Empty; try { email = Request .Headers .FirstOrDefault(c => c.Key.Equals("email")) .Value .FirstOrDefault(); } catch { //Логгирование: ошибка получения email. _logger.Error($"Ошибка, заголовок не содержит email."); return(NotFound()); } var user = _authService.GetUser(email); if (user == null) { //Логгирование: пустой пользователь. _logger.Error($"Ошибка пользователь <{email}> пустой."); return(NotFound()); } if (user.BirthDate == null || user.DriverLicenseDate == null) { //Логгирование: ошибка даты. _logger.Error( $"Ошибка дата рождения <{user.BirthDate}>, " + $"или дата выдачи прав <{user.DriverLicenseDate}> " + $"пользователя <{email}> некорректна."); } birthDate = user.BirthDate; driverLicenseDate = user.DriverLicenseDate; var policyCost = _policyService.PolicyCalculate( email, model.CarCost, model.ManufacturedYear, driverLicenseDate, birthDate, model.EnginePower); //Логгирование: запрос регистрации выполнен. _logger.Trace( $"Запрос регистрации полиса на автомобиль <{model.CarNumber}> выполнен." + $" Стоимость полиса <{policyCost}> рублей."); return(Ok(policyCost)); }