Exemplo n.º 1
0
        private async Task <UDSEntityModel> InsertDataAsync(UDSBuildModel model, string userName, DateTimeOffset creationTime)
        {
            UDSEntityModel udsModel;

            try
            {
                UDSDataFacade udsDataFacade = new UDSDataFacade(_logger, _biblosClient, model.XMLContent, CurrentUDSSchemaRepository.SchemaXML, DBSchema);
                udsModel = udsDataFacade.AddUDS(ConnectionString, model.UDSRepository.Id, model.UDSRepository.Name, model.Roles.Where(f => f.UniqueId.HasValue && f.IdRole.HasValue).Select(f => new AuthorizationInstance()
                {
                    AuthorizationInstanceType = AuthorizationInstanceType.Role,
                    AuthorizationType         = (AuthorizationType)f.AuthorizationType,
                    IdAuthorization           = f.IdRole.Value,
                    UniqueId = f.UniqueId.Value.ToString(),
                }), userName, creationTime, null, model.Year, model.Number);

                ///TODO: Tali attività devono essere integrate in transazione con l'inserimento della UDS. In questo momento sono fuori in quanto non risulta possibile gestire la
                ///transazione della UDS e delle attività nelle web api
                await InsertRelationsAsync(udsModel, model.UDSRepository.Id, model.UDSRepository.DSWEnvironment, userName, creationTime);
                await InsertLogAsync(udsModel, model.UDSRepository.Id, model.UDSRepository.DSWEnvironment);
            }
            catch (Exception ex)
            {
                _logger.WriteError(ex, LogCategories);
                throw ex;
            }
            return(udsModel);
        }
Exemplo n.º 2
0
        private async Task <UDSEntityModel> CancelDataAsync(UDSBuildModel model, string userName, DateTimeOffset creationTime)
        {
            UDSEntityModel udsEntityModel;

            try
            {
                UDSDataFacade udsDataFacade = new UDSDataFacade(_logger, _biblosClient, model.XMLContent, CurrentUDSSchemaRepository.SchemaXML, DBSchema);
                udsEntityModel = udsDataFacade.CancelUDS(ConnectionString, model.UniqueId, userName, creationTime, model.CancelMotivation);
                await InsertLogAsync(udsEntityModel, model.UDSRepository.Id, model.UDSRepository.DSWEnvironment);
            }
            catch (Exception ex)
            {
                _logger.WriteError(ex, LogCategories);
                throw ex;
            }
            return(udsEntityModel);
        }
Exemplo n.º 3
0
        private async Task <UDSEntityModel> UpdateData(UDSBuildModel model, string userName, DateTimeOffset creationTime)
        {
            UDSEntityModel udsModel;

            try
            {
                UDSDataFacade df = new UDSDataFacade(_logger, _biblosClient, model.XMLContent, CurrentUDSSchemaRepository.SchemaXML, DBSchema);
                udsModel = df.UpdateUDS(ConnectionString, model.UniqueId, model.Roles.Where(f => f.UniqueId.HasValue && f.IdRole.HasValue).Select(f => new AuthorizationInstance()
                {
                    AuthorizationInstanceType = AuthorizationInstanceType.Role,
                    AuthorizationType         = (AuthorizationType)f.AuthorizationType,
                    IdAuthorization           = f.IdRole.Value,
                    UniqueId = f.UniqueId.Value.ToString(),
                }), userName, creationTime);
                await UpdateRelationsAsync(udsModel, model.UDSRepository.Id, model.UDSRepository.DSWEnvironment, userName, creationTime);
                await InsertLogAsync(udsModel, model.UDSRepository.Id, model.UDSRepository.DSWEnvironment);
            }
            catch (Exception ex)
            {
                _logger.WriteError(ex, LogCategories);
                throw ex;
            }
            return(udsModel);
        }