using System; using System.Collections.Generic; using System.Threading.Tasks; using _0_Framework.Application; namespace CompanyManagment.App.Contracts.CameraBugReport { public interface ICameraBugReportApplication { Task CreateAsync(CreateCameraBugReportCommand command); Task EditAsync(EditCameraBugReportCommand command); Task DeleteAsync(Guid id); Task> GetAllAsync(CameraBugReportSearchModel searchModel); Task GetDetailsAsync(Guid id); Task IsExistAsync(Guid id); // Keep sync methods for backward compatibility but they delegate to async OperationResult Create(CreateCameraBugReportCommand command); OperationResult Edit(EditCameraBugReportCommand command); OperationResult Delete(Guid id); List GetAll(CameraBugReportSearchModel searchModel); CameraBugReportDetailViewModel GetDetails(Guid id); bool IsExist(Guid id); } public class CameraBugReportSearchModel { public CameraBugReportType? Type { get; set; } public CameraBugPriority? Priority { get; set; } public CameraBugReportStatus? Status { get; set; } public string SearchTerm { get; set; } public int PageNumber { get; set; } = 1; public int PageSize { get; set; } = 10; } } /// /// وضعیت گزارش خرابی دوربین /// public enum CameraBugReportStatus { Reopened = 5, // مجدداً باز شده Closed = 4, // بسته شده Fixed = 3, // رفع شده InProgress = 2, // در حال بررسی Open = 1, // باز } /// /// اولویت گزارش خرابی دوربین /// public enum CameraBugPriority { Low = 4, // پایین Medium = 3, // متوسط High = 2, // بالا Critical = 1, // بحرانی } /// /// انواع گزارش خرابی دوربین /// public enum CameraBugReportType { Other = 8, // سایر CrashOnCapture = 7, // کرش هنگام عکس‌برداری LightingIssue = 6, // مشکل روشنایی FocusIssue = 5, // مشکل فوکوس PerformanceIssue = 4, // مشکل عملکردی FaceRecognitionFailed = 3, // شناسایی چهره ناموفق BlurryImage = 2, // تصویر مبهم CameraNotWorking = 1, // دوربین کار نمی‌کند }