< Summary

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

Metrics

MethodLine coverage Branch coverage
.ctor()0%100%
.ctor(...)0%100%
.ctor(...)0%0%
.ctor(...)0%0%
get_error()0%100%
get_code()0%100%
get_stackTrace()0%100%
get_innerError()0%100%
get_innerStackTrace()0%100%
get_detailLink()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    {
 13        public string error { get; set; }
 14        public int code { get; set; }
 15        public string detailLink { get; set; }
 16
 17        public ErrorSimpleDto(string message)
 18        {
 19            error = message;
 20        }
 21        public override string ToString()
 22        {
 23            return JsonConvert.SerializeObject(this);
 24        }
 25    }
 26    public class ErrorDTO
 27    {
 028        public ErrorDTO()
 029        {
 30
 031        }
 32
 033        public ErrorDTO(string message)
 034        {
 035            error = message;
 036        }
 37
 038        public ErrorDTO(Exception ex)
 039        {
 040            error = $"{ex.Message} (Код ошибки: {ex.Data["errorcode"]})";
 041            stackTrace = ex.StackTrace;
 042            innerError = ex.InnerException?.Message;
 043            innerStackTrace = ex.InnerException?.StackTrace;
 044        }
 45
 046        public ErrorDTO(ModelStateDictionary modelState)
 047        {
 048            error = string.Join(", ", modelState.Keys
 049                .SelectMany(key => modelState[key].Errors.Select(x => x.ErrorMessage))
 050                .ToList());
 051        }
 52
 053        public string error { get; set; }
 54
 055        public int code { get; set; }
 56
 057        public string stackTrace { get; set; }
 58
 059        public string innerError { get; set; }
 60
 061        public string innerStackTrace { get; set; }
 62
 063        public string detailLink { get; set; }
 64
 65        public override string ToString()
 066        {
 067            return JsonConvert.SerializeObject(this);
 068        }
 69    }
 70}