Skip to content

Commit 888ecb4

Browse files
committed
Adding more SentrySdk calls. Fixing broken excel generator
1 parent 060f918 commit 888ecb4

File tree

3 files changed

+26
-135
lines changed

3 files changed

+26
-135
lines changed

eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Controllers/TaskManagementController.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1818
SOFTWARE.
1919
*/
2020

21+
using Sentry;
22+
2123
namespace BackendConfiguration.Pn.Controllers;
2224

2325
using System;
@@ -133,6 +135,7 @@ public async Task GetWordReport([FromBody]TaskManagementRequestModel filtersMode
133135
}
134136
catch (Exception e)
135137
{
138+
SentrySdk.CaptureException(e);
136139
Response.ContentLength = e.Message.Length;
137140
Response.ContentType = "text/plain";
138141
Response.StatusCode = 400;
@@ -171,6 +174,7 @@ public async Task GetExcelReport([FromBody]TaskManagementRequestModel filtersMod
171174
}
172175
catch (Exception e)
173176
{
177+
SentrySdk.CaptureException(e);
174178
Response.ContentLength = e.Message.Length;
175179
Response.ContentType = "text/plain";
176180
Response.StatusCode = 400;

eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/BackendConfigurationTaskManagementService/BackendConfigurationTaskManagementService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2828
using BackendConfiguration.Pn.Services.RebusService;
2929
using ImageMagick;
3030
using Rebus.Bus;
31+
using Sentry;
3132

3233
namespace BackendConfiguration.Pn.Services.BackendConfigurationTaskManagementService;
3334

@@ -180,6 +181,7 @@ public async Task<List<WorkorderCaseModel>> Index(TaskManagementRequestModel fil
180181
}
181182
catch (Exception e)
182183
{
184+
SentrySdk.CaptureException(e);
183185
Log.LogException(e.Message);
184186
Log.LogException(e.StackTrace);
185187
throw;
@@ -252,6 +254,7 @@ public async Task<OperationDataResult<WorkOrderCaseReadModel>> GetTaskById(int w
252254
}
253255
catch (Exception e)
254256
{
257+
SentrySdk.CaptureException(e);
255258
Log.LogException(e.Message);
256259
Log.LogException(e.StackTrace);
257260
return new OperationDataResult<WorkOrderCaseReadModel>(false,
@@ -286,6 +289,7 @@ public async Task<OperationDataResult<List<string>>> GetItemsEntityListByPropert
286289
}
287290
catch (Exception e)
288291
{
292+
SentrySdk.CaptureException(e);
289293
Log.LogException(e.Message);
290294
Log.LogException(e.StackTrace);
291295
return new OperationDataResult<List<string>>(false,
@@ -394,6 +398,7 @@ public async Task<OperationResult> DeleteTaskById(int workOrderCaseId)
394398
}
395399
catch (Exception e)
396400
{
401+
SentrySdk.CaptureException(e);
397402
Log.LogException(e.Message);
398403
Log.LogException(e.StackTrace);
399404
return new OperationResult(false,
@@ -636,6 +641,7 @@ await _bus.SendLocal(new WorkOrderCreated(
636641
}
637642
catch (Exception e)
638643
{
644+
SentrySdk.CaptureException(e);
639645
Log.LogException(e.Message);
640646
Log.LogException(e.StackTrace);
641647
return new OperationResult(false,

eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/ExcelService/ExcelService.cs

Lines changed: 16 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,18 @@ public async Task<Stream> GenerateWorkOrderCaseReport(TaskManagementFiltersModel
5454
.Select(x => x.Name)
5555
.FirstOrDefaultAsync().ConfigureAwait(false);
5656

57+
if (string.IsNullOrEmpty(propertyName))
58+
{
59+
propertyName = localizationService.GetString("All");
60+
}
61+
62+
if (string.IsNullOrEmpty(filtersModel.AreaName))
63+
{
64+
filtersModel.AreaName = localizationService.GetString("All");
65+
}
66+
67+
Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), "results"));
68+
5769
var resultDocument = Path.Combine(Path.GetTempPath(), "results",
5870
$"{propertyName}_{filtersModel.AreaName}.xlsx");
5971

@@ -93,6 +105,7 @@ public async Task<Stream> GenerateWorkOrderCaseReport(TaskManagementFiltersModel
93105
}
94106
catch (Exception ex)
95107
{
108+
SentrySdk.CaptureException(ex);
96109
logger.LogError(ex.Message);
97110
throw;
98111
}
@@ -224,6 +237,7 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(List<OldRe
224237
}
225238
catch (Exception e)
226239
{
240+
SentrySdk.CaptureException(e);
227241
logger.LogError(e.Message);
228242
return new OperationDataResult<Stream>(false,
229243
localizationService.GetString("ErrorWhileCreatingWordFile"));
@@ -436,141 +450,6 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(List<Repor
436450
}
437451
}
438452
}
439-
440-
// var workbookPart = spreadsheetDocument.AddWorkbookPart();
441-
// workbookPart.Workbook = new Workbook();
442-
//
443-
// // Create Stylesheet for bold headers and date format
444-
// var stylesPart = workbookPart.AddNewPart<WorkbookStylesPart>();
445-
// stylesPart.Stylesheet = CreateStylesheet();
446-
// stylesPart.Stylesheet.Save();
447-
//
448-
// var sheets = workbookPart.Workbook.AppendChild(new Sheets());
449-
// var worksheetNames = new List<string>();
450-
// var duplicateNumber = 0;
451-
//
452-
// foreach (var eformModel in reportModel)
453-
// {
454-
// foreach (var reportEformGroupModel in eformModel.GroupEform)
455-
// {
456-
// if (eformModel.FromDate != null)
457-
// {
458-
// var sheetName = eformModel.GroupEform.Count > 1
459-
// ? $"{eformModel.GroupTagName} - {reportEformGroupModel.CheckListId}"
460-
// : $"{eformModel.GroupTagName}";
461-
//
462-
// sheetName = CreateSafeSheetName(sheetName);
463-
//
464-
// // Check for duplicate sheet names
465-
// if (worksheetNames.Contains(sheetName))
466-
// {
467-
// duplicateNumber++;
468-
// sheetName = $"({duplicateNumber}){sheetName}";
469-
// sheetName = sheetName.Substring(0, Math.Min(31, sheetName.Length));
470-
// }
471-
// else
472-
// {
473-
// worksheetNames.Add(sheetName);
474-
// }
475-
//
476-
// var worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
477-
// worksheetPart.Worksheet = new Worksheet(new SheetData());
478-
// var sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
479-
//
480-
// var sheet = new Sheet
481-
// {
482-
// Id = workbookPart.GetIdOfPart(worksheetPart),
483-
// SheetId = (uint)(sheets.Count() + 1),
484-
// Name = sheetName
485-
// };
486-
// sheets.Append(sheet);
487-
//
488-
// // Create header row with bold formatting
489-
// var headerRow = new Row();
490-
// var headers = new List<Cell>
491-
// {
492-
// ConstructCell(localizationService.GetString("Id"), CellValues.String, 1),
493-
// ConstructCell(localizationService.GetString("Property"), CellValues.String, 1),
494-
// ConstructCell(localizationService.GetString("SubmittedDate"), CellValues.String, 1),
495-
// ConstructCell(localizationService.GetString("DoneBy"), CellValues.String, 1),
496-
// ConstructCell(localizationService.GetString("EmployeeNo"), CellValues.String, 1),
497-
// ConstructCell(localizationService.GetString("ItemName"), CellValues.String, 1)
498-
// };
499-
//
500-
// foreach (var itemHeader in reportEformGroupModel.ItemHeaders)
501-
// {
502-
// headers.Add(ConstructCell(itemHeader.Value, CellValues.String, 1));
503-
// }
504-
//
505-
// headerRow.Append(headers);
506-
// sheetData.AppendChild(headerRow);
507-
//
508-
// // Populate data rows
509-
// foreach (var dataModel in reportEformGroupModel.Items)
510-
// {
511-
// var dataRow = new Row();
512-
// dataRow.Append(
513-
// ConstructCell(dataModel.MicrotingSdkCaseId.ToString(), CellValues.String),
514-
// ConstructCell(dataModel.PropertyName, CellValues.String),
515-
// ConstructCell(dataModel.MicrotingSdkCaseDoneAt?.ToString("dd.MM.yyyy HH:mm:ss"),
516-
// CellValues.String),
517-
// ConstructCell(dataModel.DoneBy, CellValues.String),
518-
// ConstructCell(dataModel.EmployeeNo, CellValues.String),
519-
// ConstructCell(dataModel.ItemName, CellValues.String)
520-
// );
521-
//
522-
// foreach (var dataModelCaseField in dataModel.CaseFields)
523-
// {
524-
// var value = dataModelCaseField.Value switch
525-
// {
526-
// "checked" => "1",
527-
// "unchecked" => "0",
528-
// _ => dataModelCaseField.Value
529-
// };
530-
//
531-
// switch (dataModelCaseField.Key)
532-
// {
533-
// case "date":
534-
// if (DateTime.TryParse(value, out var dateValue))
535-
// {
536-
// dataRow.Append(ConstructCell(dateValue.ToString("dd.MM.yyyy"),
537-
// CellValues.String));
538-
// }
539-
// else
540-
// {
541-
// dataRow.Append(ConstructCell(value, CellValues.String));
542-
// }
543-
//
544-
// break;
545-
// case "number":
546-
// if (double.TryParse(value, out var numberValue))
547-
// {
548-
// dataRow.Append(ConstructCell(
549-
// numberValue.ToString(CultureInfo.InvariantCulture),
550-
// CellValues.Number));
551-
// }
552-
// else
553-
// {
554-
// dataRow.Append(ConstructCell(value, CellValues.String));
555-
// }
556-
//
557-
// break;
558-
// default:
559-
// dataRow.Append(ConstructCell(value, CellValues.String));
560-
// break;
561-
// }
562-
// }
563-
//
564-
// sheetData.AppendChild(dataRow);
565-
// }
566-
//
567-
// // Apply autofilter and table formatting
568-
// // ApplyTableFormatting(sheet, worksheetPart, sheetData);
569-
// }
570-
// }
571-
// }
572-
//
573-
// workbookPart.Workbook.Save();
574453
}
575454
ValidateExcel(filePath);
576455

@@ -579,6 +458,7 @@ public async Task<OperationDataResult<Stream>> GenerateExcelDashboard(List<Repor
579458
}
580459
catch (Exception e)
581460
{
461+
SentrySdk.CaptureException(e);
582462
logger.LogError(e.Message);
583463
return new OperationDataResult<Stream>(false,
584464
localizationService.GetString("ErrorWhileCreatingExcelFile"));
@@ -884,6 +764,7 @@ public Task<Stream> GenerateTaskTracker(List<TaskTrackerModel> model)
884764
}
885765
catch (Exception ex)
886766
{
767+
SentrySdk.CaptureException(ex);
887768
logger.LogError(ex.Message);
888769
throw;
889770
}

0 commit comments

Comments
 (0)