Ejemplo n.º 1
0
        /// <summary>
        ///  Retrieves triangle's start up information
        /// </summary>
        /// <param name="taskId">Task identification</param>
        /// <param name="bLTriangleModel">Business layer triangle model that contains the beginning row and column information to obtain</param>
        /// <param name="cancellationToken">Cancellation token to cancel operation</param>
        /// <returns>Business layer result model that contains if the operation was successful
        /// and the triangle startup information</returns>
        public IBLResultBase TriangleStartUpInfo(long taskId
                                                 , IBLTriangleModel bLTriangleModel
                                                 , CancellationToken?cancellationToken = null)
        {
            IBLResultBase resultBase = new BLResultBase();

            resultBase.ResultOperation = ResultOperationEnums.TraingleStartUpInfo;

            var dlRow    = _mapper.Map <DLRowModel>(bLTriangleModel);
            var dlColumn = _mapper.Map <DLColumnModel>(bLTriangleModel);

            var startUpInfo = _dLWebApiTriangle.TriangleStartUpInfo(dlRow, dlColumn);

            if (startUpInfo != null)
            {
                var startUpInfoTriangle = startUpInfo as DLTriangleStartUpInfoModel;
                ;
                var blStartUpInfo = new BLTriangleStartupInfoModel(startUpInfoTriangle.Rows.Select(row => row.Row).ToList()
                                                                   , startUpInfoTriangle.Columns.Select(col => col.Column).ToList());
                //  var blStartUpInfo = _mapper.Map<BLTriangleStartupInfoModel>(startUpInfoTriangle);

                resultBase.ResultContent = blStartUpInfo;
                resultBase.ResultSuccess = true;
            }
            else
            {
                resultBase.ResultSuccess = false;
                _logger.Error($"TriangleStartUpInfo Failed: Content null ");
                resultBase.Errors = new List <string> {
                    $"TriangleStartUpInfo Failed"
                };
            }

            return(resultBase);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///  Retrieves triangle vertice information
        /// </summary>
        /// <param name="taskId">Task identification</param>
        /// <param name="bLTriangleModel">Business layer triangle model that contains the  row and column information</param>
        /// <param name="cancellationToken">Cancellation token to cancel operation</param>
        /// <returns>Business layer result model that contains if the operation was successful
        /// and the triangle vertice information</returns>
        public IBLResultBase TriangleCalculateVerices(long taskId
                                                      , IBLTriangleModel bLTriangleModel
                                                      , CancellationToken?cancellationToken = null)
        {
            IBLResultBase resultBase = new BLResultBase();

            resultBase.ResultOperation = ResultOperationEnums.TriangleCalulateVertices;
            resultBase.Errors          = new List <string>();

            // Verify
            var validateResults = new List <ValidationResult>();
            var res             = _dataAnnotationsValidator.TryValidateObject(bLTriangleModel, validateResults);

            if (res)
            {
                var blModels = new List <IBLModel>();
                var dlRow    = _mapper.Map <DLRowModel>(bLTriangleModel);
                var dlColumn = _mapper.Map <DLColumnModel>(bLTriangleModel);
                var vertices = _dLWebApiTriangle.TriangleVertices(dlRow, dlColumn);
                if (vertices != null)
                {
                    blModels.AddRange(vertices.Select(vertice => _mapper.Map <BLTriangleVerticeModel>(vertice as DLTriangleVerticeModel)));
                }
                resultBase.ResultContent = blModels;
                if (blModels.Any())
                {
                    resultBase.ResultSuccess = true;
                }
                else
                {
                    resultBase.ResultSuccess = false;
                    resultBase.Errors.Add($"No vertices found for row = {bLTriangleModel.Row}, column = {bLTriangleModel.Column}");
                }
            }
            else
            {
                resultBase.HasErrors     = true;
                resultBase.ResultSuccess = false;

                resultBase.Errors.Add(validateResults[0].ErrorMessage);
            }
            return(resultBase);
        }