Example #1
0
        internal static UDSLog CreateUDSLog(Guid idUDS, UDSRepository repository, string logDescription, UDSLogType logType, string registrationUser, DateTimeOffset?logDate = null, string systemComputer = "")
        {
            UDSLog log = new UDSLog()
            {
                LogType          = logType,
                LogDescription   = logDescription,
                SystemComputer   = string.IsNullOrEmpty(systemComputer) ? Environment.MachineName : systemComputer,
                Entity           = repository,
                RegistrationDate = logDate.HasValue && logDate.Value != DateTimeOffset.MinValue ? logDate.Value : DateTimeOffset.UtcNow,
                RegistrationUser = registrationUser,
                IdUDS            = idUDS,
                Environment      = repository.DSWEnvironment,
            };

            log.Hash = HashGenerator.GenerateHash(string.Concat(log.RegistrationUser, "|", log.LogType, "|", log.LogDescription, "|", log.UniqueId, "|", idUDS, "|", log.RegistrationDate.ToString("yyyyMMddHHmmss")));
            return(log);
        }
        protected void PrepareDocumentUnitLog(FascicleDocumentUnit entity, FascicleLog fascicleLog)
        {
            if (entity.DocumentUnit.Environment == (int)DSWEnvironmentType.Protocol)
            {
                Protocol    protocol    = _unitOfWork.Repository <Protocol>().GetByUniqueId(entity.DocumentUnit.UniqueId).SingleOrDefault();
                ProtocolLog protocolLog = new ProtocolLog()
                {
                    Year             = entity.DocumentUnit.Year,
                    Number           = entity.DocumentUnit.Number,
                    LogDate          = fascicleLog.RegistrationDate.DateTime,
                    LogType          = "FS",
                    Program          = "Private.WebAPI",
                    LogDescription   = fascicleLog.LogDescription,
                    RegistrationUser = fascicleLog.RegistrationUser,
                    SystemComputer   = fascicleLog.SystemComputer,
                    Entity           = protocol,
                };
                protocolLog.Hash = HashGenerator.GenerateHash(string.Concat(protocolLog.RegistrationUser, "|", protocolLog.Year, "|", protocolLog.Number, "|", protocolLog.LogType, "|", protocolLog.LogDescription, "|", protocolLog.UniqueId, "|", protocolLog.Entity.UniqueId, "|", protocolLog.LogDate.ToString("yyyyMMddHHmmss")));
                _unitOfWork.Repository <ProtocolLog>().Insert(protocolLog);
            }

            if (entity.DocumentUnit.Environment == (int)DSWEnvironmentType.Resolution)
            {
                Resolution    resolution    = _unitOfWork.Repository <Resolution>().GetByUniqueId(entity.DocumentUnit.UniqueId).SingleOrDefault();
                ResolutionLog resolutionLog = new ResolutionLog()
                {
                    LogDate          = fascicleLog.RegistrationDate.DateTime,
                    LogType          = "FS",
                    Program          = "Private.WebAPI",
                    LogDescription   = fascicleLog.LogDescription,
                    RegistrationUser = fascicleLog.RegistrationUser,
                    SystemComputer   = fascicleLog.SystemComputer,
                    Entity           = resolution,
                };
                resolutionLog.Hash = HashGenerator.GenerateHash(string.Concat(resolutionLog.RegistrationUser, "|", resolutionLog.LogType, "|", resolutionLog.LogDescription, "|", resolutionLog.UniqueId, "|", resolutionLog.Entity.UniqueId, "|", resolutionLog.LogDate.ToString("yyyyMMddHHmmss")));
                _unitOfWork.Repository <ResolutionLog>().Insert(resolutionLog);
            }

            if (entity.DocumentUnit.Environment == (int)DSWEnvironmentType.DocumentSeries)
            {
                DocumentSeriesItem    documentSeriesItem    = _unitOfWork.Repository <DocumentSeriesItem>().GetByUniqueId(entity.DocumentUnit.UniqueId).SingleOrDefault();
                DocumentSeriesItemLog documentSeriesItemLog = new DocumentSeriesItemLog()
                {
                    LogDate          = fascicleLog.RegistrationDate.DateTime,
                    LogType          = "FS",
                    Program          = "Private.WebAPI",
                    LogDescription   = fascicleLog.LogDescription,
                    RegistrationUser = fascicleLog.RegistrationUser,
                    SystemComputer   = fascicleLog.SystemComputer,
                    Entity           = documentSeriesItem,
                };
                documentSeriesItemLog.Hash = HashGenerator.GenerateHash(string.Concat(documentSeriesItemLog.RegistrationUser, "|", documentSeriesItemLog.LogType, "|", documentSeriesItemLog.LogDescription, "|", documentSeriesItemLog.UniqueId, "|", documentSeriesItemLog.Entity.UniqueId, "|", documentSeriesItemLog.LogDate.ToString("yyyyMMddHHmmss")));
                _unitOfWork.Repository <DocumentSeriesItemLog>().Insert(documentSeriesItemLog);
            }

            if (entity.DocumentUnit.Environment >= 100)
            {
                UDSRepository uDSRepository = _unitOfWork.Repository <UDSRepository>().GetByIdDocumentUnit(entity.DocumentUnit.UniqueId);
                UDSLog        log           = new UDSLog()
                {
                    LogType          = UDSLogType.Delete,
                    LogDescription   = fascicleLog.LogDescription,
                    SystemComputer   = string.IsNullOrEmpty(fascicleLog.SystemComputer) ? Environment.MachineName : fascicleLog.SystemComputer,
                    Entity           = uDSRepository,
                    RegistrationDate = fascicleLog.RegistrationDate.DateTime,
                    RegistrationUser = fascicleLog.RegistrationUser,
                    IdUDS            = entity.DocumentUnit.UniqueId,
                    Environment      = entity.DocumentUnit.Environment,
                };
                log.Hash = HashGenerator.GenerateHash(string.Concat(log.RegistrationUser, "|", log.LogType, "|", log.LogDescription, "|", log.UniqueId, "|", log.IdUDS, "|", log.RegistrationDate.ToString("yyyyMMddHHmmss")));
                _unitOfWork.Repository <UDSLog>().Insert(log);
            }
        }