public FileSumList GetDataByTime(int catalogueID, int? modifiedYear, int? modifiedMonth, int? modifiedDay) { StatisticsFilter filter = new StatisticsFilter(StatisticsType.TimePeriod); filter.CatalogueID = catalogueID; filter.Year = modifiedYear; filter.Month = modifiedMonth; filter.Day = modifiedDay; OperationRepository repository = new OperationRepository(); return repository.GetTimeStatistics(filter); }
public bool IsDeletable(string userName) { User user = GetByName(userName); if (user != null && user.RoleName != RoleConstants.ADMINISTRATOR) { OperationRepository repository = new OperationRepository(); return (repository.GetCount(user.UserName) == 0); } else { return false; } }
public FileSumList GetDataByUser(int catalogueID, int? modifiedYear, int? modifiedMonth, int? modifiedDay, short? partOfBook, bool? useOCR, string userName, int? status) { StatisticsFilter filter = new StatisticsFilter(StatisticsType.Users); filter.CatalogueID = catalogueID; filter.Year = modifiedYear; filter.Month = modifiedMonth; filter.Day = modifiedDay; filter.PartOfBook = (PartOfBook?)partOfBook; filter.UseOCR = useOCR; filter.UserName = userName; filter.Status = (StatusCode?)status; OperationRepository repository = new OperationRepository(); return repository.GetUserStatistics(filter); }
//private byte[] GetScanImage(int scanFileID) //{ // byte[] image = null; // try // { // ScanFileRepository repository = new ScanFileRepository(); // ScanFile scanFile = repository.Select(scanFileID); // if (scanFile != null) // { // string filePath = scanFile.GetScanFilePath(); // image = ImageFunctions.ReadFile(filePath); // } // } // catch (Exception ex) // { // throw new ApplicationException(String.Format("Nepodařilo se načíst naskenovaný soubor (ID={0}) z disku: {1}.", scanFileID, ex.Message)); // } // return image; //} private Operation LogOperation(int scanFileID, string userName, string computer, DateTime executed, string comment, StatusCode status) { Operation operation = new Operation(); operation.ScanFileID = scanFileID; operation.UserName = userName; //prihlaseny uzivatel operation.Computer = computer; //pocitac uzivatele operation.Executed = executed; //datum zmeny operation.Comment = comment; //popis zpracovani operation.Status = status; //stav zpracovani OperationRepository repository = new OperationRepository(); return repository.Create(operation); }
public void UndoCheckOut(int scanFileID, string userName, string computer, string comment) { //kontrola vstupnich parametru if (scanFileID == 0) throw new ArgumentException("Neplatný parametr identifikátor souboru."); if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Neplatný parametr jméno uživatele."); if (String.IsNullOrEmpty(computer)) throw new ArgumentException("Neplatný parametr název počítače."); ScanFileRepository repository = new ScanFileRepository(); //kontrola existence naskenovaneho souboru ScanFile result = repository.Select(scanFileID); if (result == null) throw new ApplicationException(String.Format("Soubor (ID={0}) neexistuje.", scanFileID)); //kontrola ulozenych parametrov if (result.PartOfBook != PartOfBook.TableOfContents) throw new ApplicationException(String.Format("Soubor (ID={0}) není typ pro OCR zpracování.", result.ScanFileID)); if (result.UseOCR == false) throw new ApplicationException(String.Format("Soubor (ID={0}) není určen pro OCR zpracování.", result.ScanFileID)); if (result.Status != StatusCode.InProgress) throw new ApplicationException(String.Format("Soubor (ID={0}) nemá status ve zpracování.", result.ScanFileID)); Operation lastOperation = result.Operations.LastOrDefault(); if (result.Status != lastOperation.Status) throw new ApplicationException(String.Format("Soubor (ID={0}) nemá poslední operaci ve zpracování.", result.ScanFileID)); //ulozenie operace do databazy using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { try { OperationRepository operations = new OperationRepository(); operations.Delete(lastOperation); Operation scanOperation = result.Operations.SingleOrDefault(o => o.Status == StatusCode.Scanned); result.Modified = scanOperation.Executed; result.Comment = comment; result.Status = StatusCode.Scanned; repository.Update(result); ts.Complete(); } catch (Exception ex) { throw new ApplicationException(String.Format("Nepodařilo se uložit data souboru (ID={0}) do databáze.", scanFileID), ex); } } }
public FileSumList GetStatistics(StatisticsType type, int catalogueID, short? partOfBook, short? processingMode, int? modifiedYear, int? modifiedMonth, int? modifiedDay, string userName, int? status) { OperationRepository repository = new OperationRepository(); StatisticsFilter filter = new StatisticsFilter(StatisticsType.TimePeriod); filter.CatalogueID = catalogueID; filter.PartOfBook = (PartOfBook?)partOfBook; filter.UseOCR = (processingMode.HasValue ? (bool?)(processingMode.Value == (short)ProcessingMode.OCR) : null); filter.Year = modifiedYear; filter.Month = modifiedMonth; filter.Day = modifiedDay; filter.UserName = userName; filter.Status = (StatusCode?)status; switch (type) { case StatisticsType.TimePeriod: return repository.GetTimeStatistics(filter); case StatisticsType.Users: return repository.GetUserStatistics(filter); case StatisticsType.Catalogues: return null; default: return null; } }