Ejemplo n.º 1
0
        internal static string CalculateFullName(IFigureDto figure)
        {
            if (!string.IsNullOrEmpty(figure.UniquelyDisplayedFullName))
            {
                return(figure.UniquelyDisplayedFullName);
            }

            StringBuilder fullName = new StringBuilder();

            if (!string.IsNullOrEmpty(figure.Title))
            {
                fullName.Append(figure.Title);
                fullName.Append(" ");
            }

            if (figure.IsLastNameFirst && !string.IsNullOrEmpty(figure.LastName))
            {
                fullName.Append(figure.LastName);
                fullName.Append(" ");

                if (!string.IsNullOrEmpty(figure.MiddleName))
                {
                    fullName.Append(figure.MiddleName);
                    fullName.Append(" ");
                }

                fullName.Append(figure.FirstName);
                fullName.Append(" ");
            }
            else
            {
                fullName.Append(figure.FirstName);
                fullName.Append(" ");

                if (!string.IsNullOrEmpty(figure.MiddleName))
                {
                    fullName.Append(figure.MiddleName);
                    fullName.Append(" ");
                }

                if (!string.IsNullOrEmpty(figure.LastName))
                {
                    fullName.Append(figure.LastName);
                    fullName.Append(" ");
                }
            }

            return(fullName.ToString().Trim());
        }
Ejemplo n.º 2
0
        public async Task <FigureCreationResultDto> StoreFigureAsync([FromBody] IFigureDto figureDto)
        {
            if (figureDto == null)
            {
                throw new ArgumentNullException(nameof(figureDto));
            }

            IFigure figure = figureDto switch
            {
                CircleDto circleDto => new Circle(circleDto.Radius),
                TriangleDto triangleDto => new Triangle(triangleDto.A, triangleDto.B, triangleDto.C),
                _ => throw new InvalidOperationException(
                          $"Controller does not support figures with the type {figureDto.GetType()}")
            };

            var id = await _figureRepository.StoreAsync(figure).ConfigureAwait(true);

            return(new FigureCreationResultDto
            {
                Id = id
            });
        }