/// <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); }
/// <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); }