< Summary

Class:SVETA.Api.Data.DTO.ErrorSimpleDto
Assembly:SVETA.Api
File(s):/opt/dev/sveta_api_build/SVETA.Api/Data/DTO/ErrorDTO.cs
Covered lines:0
Uncovered lines:10
Coverable lines:10
Total lines:70
Line coverage:0% (0 of 10)
Covered branches:0
Total branches:0

Metrics

MethodLine coverage Branch coverage
get_error()0%100%
get_code()0%100%
get_detailLink()0%100%
.ctor(...)0%100%
ToString()0%100%

File(s)

/opt/dev/sveta_api_build/SVETA.Api/Data/DTO/ErrorDTO.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Mvc.ModelBinding;
 2using Newtonsoft.Json;
 3using System;
 4using System.Collections.Generic;
 5using System.Linq;
 6using System.Threading.Tasks;
 7
 8namespace SVETA.Api.Data.DTO
 9{
 10    // Класс для возврата ошибки на проде
 11    public class ErrorSimpleDto
 12    {
 013        public string error { get; set; }
 014        public int code { get; set; }
 015        public string detailLink { get; set; }
 16
 017        public ErrorSimpleDto(string message)
 018        {
 019            error = message;
 020        }
 21        public override string ToString()
 022        {
 023            return JsonConvert.SerializeObject(this);
 024        }
 25    }
 26    public class ErrorDTO
 27    {
 28        public ErrorDTO()
 29        {
 30
 31        }
 32
 33        public ErrorDTO(string message)
 34        {
 35            error = message;
 36        }
 37
 38        public ErrorDTO(Exception ex)
 39        {
 40            error = $"{ex.Message} (Код ошибки: {ex.Data["errorcode"]})";
 41            stackTrace = ex.StackTrace;
 42            innerError = ex.InnerException?.Message;
 43            innerStackTrace = ex.InnerException?.StackTrace;
 44        }
 45
 46        public ErrorDTO(ModelStateDictionary modelState)
 47        {
 48            error = string.Join(", ", modelState.Keys
 49                .SelectMany(key => modelState[key].Errors.Select(x => x.ErrorMessage))
 50                .ToList());
 51        }
 52
 53        public string error { get; set; }
 54
 55        public int code { get; set; }
 56
 57        public string stackTrace { get; set; }
 58
 59        public string innerError { get; set; }
 60
 61        public string innerStackTrace { get; set; }
 62
 63        public string detailLink { get; set; }
 64
 65        public override string ToString()
 66        {
 67            return JsonConvert.SerializeObject(this);
 68        }
 69    }
 70}