Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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);
        }
Example #4
0
        //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);
        }
Example #5
0
        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);
                }
            }
        }
Example #6
0
        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;
            }
        }