Exemplo n.º 1
0
        private void CreateForm()
        {
            this.Controls.Clear();
            System.Windows.Forms.DataGridView grid = new System.Windows.Forms.DataGridView();
            grid.Dock            = DockStyle.Fill;
            grid.ColumnCount     = 3;
            grid.Columns[0].Name = "symbol działki";
            List <DataGridViewRow> rows = new List <DataGridViewRow>();

            for (int i = 0; i < models.Count; i++)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.Cells.Add(new DataGridViewTextBoxCell());
                var button = new ButtonCell(this);
                button.Value = "Usuń";
                ResolutionModel model  = models.ElementAt(i);
                string          name   = config.getConfig("Wydzielenia", "precintSymbol");
                object          result = null;
                model.resolution.TryGetValue(name, out result);
                row.Cells[0].Value    = result.ToString();
                row.Cells[0].ReadOnly = true;
                row.Cells.Add(button);
                ZoomButton zoom = new ZoomButton(this);
                zoom.Value = "Zbliż";
                row.Cells.Add(zoom);
                grid.Rows.Add(row);
            }
            grid.Size    = new Size(300, 300);
            grid.Visible = true;
            this.Controls.Add(grid);
        }
Exemplo n.º 2
0
        public ResolutionModel Add(ResolutionModel resolutionModel)
        {
            var resolution = _dataContext.Resolutions.Add(Mapper.ResolutionModelToResolutionEntity(resolutionModel));

            _dataContext.SaveChanges();
            return(Mapper.ResolutionEntityToResolutionModel(resolution));
        }
Exemplo n.º 3
0
 public static ResolutionEntity ResolutionModelToResolutionEntity(ResolutionModel resolutionModel)
 {
     return(new ResolutionEntity()
     {
         Id = resolutionModel.Id,
         Width = resolutionModel.Width,
         Height = resolutionModel.Height
     });
 }
Exemplo n.º 4
0
        internal void AddResolutionDocumentUnitChain(DocumentUnit documentUnit, ResolutionModel resolution, Guid chainId, ChainType chainType, IIdentityContext identity)
        {
            string documentName = string.Empty;

            if (chainType == ChainType.MainChain)
            {
                BiblosDS.BiblosDS.Document document = _biblosClient.Document.GetDocumentChildren(chainId).FirstOrDefault();
                documentName = document != null ? document.Name : string.Empty;
            }

            AddDocumentUnitChain(documentUnit, chainId, chainType, identity, resolution.Container.ReslLocation.ResolutionArchive, documentName);
        }
Exemplo n.º 5
0
            protected override void OnClick(DataGridViewCellEventArgs e)
            {
                ResolutionModel model = outer.models.ElementAt(e.RowIndex);
                object          shape = null;

                model.resolution.TryGetValue("Shape", out shape);
                Task t = QueuedTask.Run(() =>
                {
                    MapView.Active.ZoomTo((Polygon)shape);
                });

                t.Wait();
            }
Exemplo n.º 6
0
        private ResolutionModel GetResolution(string path)
        {
            var img        = Image.FromFile(path);
            var resolution = IoC.UnitOfWork.Resolutions.GetByWidthAndHeight(img.Height, img.Width);

            if (resolution != null)
            {
                return(resolution);
            }

            var resolutionModel = new ResolutionModel()
            {
                Height = img.Height,
                Width  = img.Width,
            };

            resolutionModel.Id = IoC.UnitOfWork.Resolutions.Add(resolutionModel).Id;
            return(resolutionModel);
        }
Exemplo n.º 7
0
        protected override void AfterSave(Resolution entity)
        {
            try
            {
                _logger.WriteDebug(new LogMessage(string.Concat("VecompSoftware.DocSuite.Private.WebAPI.Controllers.Entity.Resolutions.AfterSave with entity UniqueId ", entity.UniqueId)), LogCategories);
                Resolution resolution = _unitOfWork.Repository <Resolution>().GetFullByUniqueId(entity.UniqueId).SingleOrDefault();
                if (resolution != null)
                {
                    IList <CategoryFascicle> categoryFascicles = resolution.Category.CategoryFascicles.Where(f => (f.DSWEnvironment == (int)DSWEnvironmentType.Resolution || f.DSWEnvironment == 0)).ToList();
                    CategoryFascicle         categoryFascicle  = categoryFascicles.FirstOrDefault();
                    if (categoryFascicles != null && categoryFascicles.Count > 1)
                    {
                        categoryFascicle = categoryFascicles.FirstOrDefault(f => f.FascicleType == FascicleType.Period);
                    }
                    _mapper.FileResolution  = _unitOfWork.Repository <FileResolution>().GetByResolution(resolution.EntityId).SingleOrDefault();
                    _mapper.ResolutionRoles = _unitOfWork.Repository <ResolutionRole>().GetByResolution(resolution.EntityId);
                    IIdentityContext identity        = new IdentityContext(_currentIdentity.FullUserName);
                    ResolutionModel  resolutionModel = _mapper.Map(resolution, new ResolutionModel());

                    ICommandUpdateResolution commandUpdate = new CommandUpdateResolution(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty, identity, resolutionModel, categoryFascicle, null);

                    ServiceBusMessage message = _cqrsMapper.Map(commandUpdate, new ServiceBusMessage());
                    if (string.IsNullOrEmpty(message.ChannelName))
                    {
                        throw new DSWException(string.Concat("Queue name to command [", commandUpdate.ToString(), "] is not mapped"), null, DSWExceptionCode.SC_Mapper);
                    }

                    Task.Run(async() =>
                    {
                        await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                    }).Wait();
                }
                base.AfterSave(entity);
            }
            catch (DSWException ex)
            {
                _logger.WriteError(ex, LogCategories);
            }
        }
Exemplo n.º 8
0
        protected override void AfterSave(Fascicle entity)
        {
            try
            {
                _logger.WriteDebug(new LogMessage($"VecompSoftware.DocSuite.Private.WebAPI.Controllers.Entity.Fascicles.AfterSave with entity UniqueId {entity.UniqueId}"), LogCategories);

                if (CurrentDeleteActionType.HasValue && CurrentDeleteActionType == DeleteActionType.CancelFascicle)
                {
                    IQueryable <FascicleDocumentUnit> documentUnits = _unitOfWork.Repository <FascicleDocumentUnit>().GetByFascicle(entity.UniqueId);

                    ServiceBusMessage message;
                    foreach (FascicleDocumentUnit item in documentUnits)
                    {
                        if (item.DocumentUnit.Environment == (int)DSWEnvironmentType.Protocol)
                        {
                            Protocol protocol = _unitOfWork.Repository <Protocol>().GetByUniqueId(item.DocumentUnit.UniqueId).Single();
                            message = GenerateMessage(item.DocumentUnit.Category, (int)DSWEnvironmentType.Protocol,
                                                      (categoryFascicle) => new CommandUpdateProtocol(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, item.DocumentUnit.TenantAOO.UniqueId, null, null, null,
                                                                                                      new IdentityContext(_currentIdentity.FullUserName), protocol, categoryFascicle, null));
                            Task.Run(async() =>
                            {
                                await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                            }).Wait();
                        }
                        if (item.DocumentUnit.Environment == (int)DSWEnvironmentType.Resolution)
                        {
                            Resolution      resolution      = _unitOfWork.Repository <Resolution>().GetByUniqueId(item.DocumentUnit.UniqueId).Single();
                            ResolutionModel resolutionModel = _mapper.Map(resolution, new ResolutionModel());
                            _mapper.FileResolution  = _unitOfWork.Repository <FileResolution>().GetByResolution(item.DocumentUnit.EntityId).SingleOrDefault();
                            _mapper.ResolutionRoles = _unitOfWork.Repository <ResolutionRole>().GetByResolution(item.DocumentUnit.EntityId);
                            message = GenerateMessage(item.DocumentUnit.Category, (int)DSWEnvironmentType.Resolution,
                                                      (categoryFascicle) => new CommandUpdateResolution(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, item.DocumentUnit.TenantAOO.UniqueId,
                                                                                                        new IdentityContext(_currentIdentity.FullUserName), resolutionModel, categoryFascicle, null));
                            Task.Run(async() =>
                            {
                                await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                            }).Wait();
                        }
                        if (item.DocumentUnit.Environment == (int)DSWEnvironmentType.DocumentSeries)
                        {
                            DocumentSeriesItem documentSeriesItem = _unitOfWork.Repository <DocumentSeriesItem>().GetFullByUniqueId(item.DocumentUnit.UniqueId).SingleOrDefault();
                            message = GenerateMessage(item.DocumentUnit.Category, (int)DSWEnvironmentType.DocumentSeries,
                                                      (categoryFascicle) => new CommandUpdateDocumentSeriesItem(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, item.DocumentUnit.TenantAOO.UniqueId, null,
                                                                                                                new IdentityContext(_currentIdentity.FullUserName), documentSeriesItem, categoryFascicle, null));
                            Task.Run(async() =>
                            {
                                await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                            }).Wait();
                        }
                        if (item.DocumentUnit.Environment >= 100)
                        {
                            UDSBuildModel commandModel = _mapperUnitOfwork.Repository <IDomainMapper <DocumentUnit, UDSBuildModel> >().Map(item.DocumentUnit, new UDSBuildModel());
                            commandModel.UniqueId         = item.DocumentUnit.UniqueId;
                            commandModel.RegistrationDate = item.DocumentUnit.RegistrationDate;
                            commandModel.RegistrationUser = item.DocumentUnit.RegistrationUser;
                            message = GenerateMessage(item.DocumentUnit.Category, item.DocumentUnit.Environment,
                                                      (categoryFascicle) => new CommandCQRSUpdateUDSData(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, item.DocumentUnit.TenantAOO.UniqueId,
                                                                                                         new IdentityContext(_currentIdentity.FullUserName), commandModel, categoryFascicle, null, null, null, null));
                            Task.Run(async() =>
                            {
                                await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                            }).Wait();
                        }
                    }
                }
                if (CurrentInsertActionType.HasValue || CurrentUpdateActionType.HasValue)
                {
                    if (CurrentInsertActionType.HasValue)
                    {
                        Task.Run(async() =>
                        {
                            FascicleFolder fascicleNode = new FascicleFolder
                            {
                                UniqueId = Guid.NewGuid(),
                                Fascicle = entity,
                                Name     = "Fascicolo",
                                Category = entity.Category,
                                Status   = FascicleFolderStatus.Active,
                                Typology = FascicleFolderTypology.Fascicle
                            };
                            _unitOfWork.Repository <FascicleFolder>().Insert(fascicleNode);
                            await _unitOfWork.SaveChangesAsync();
                            _logger.WriteDebug(new LogMessage($"Created principal folder from Fascicle.UniqueId {entity.UniqueId}"), LogCategories);
                            Fascicle fascicleTemplateModel = null;
                            if (entity.FascicleTemplate != null && !string.IsNullOrEmpty(entity.FascicleTemplate.JsonModel))
                            {
                                fascicleTemplateModel = JsonConvert.DeserializeObject <Fascicle>(entity.FascicleTemplate.JsonModel, Defaults.DefaultJsonSerializer);
                                if (fascicleTemplateModel != null && fascicleTemplateModel.FascicleFolders.Any())
                                {
                                    _logger.WriteDebug(new LogMessage($"Evaluating fascicle template {entity.FascicleTemplate.UniqueId} with {fascicleTemplateModel.FascicleFolders.Count} folders from Fascicle.UniqueId {entity.UniqueId}"), LogCategories);
                                    IEnumerable <FascicleFolder> results = fascicleTemplateModel.FascicleFolders.Where(f => f.Typology == FascicleFolderTypology.SubFascicle);
                                    await RecursiveInsertFascicleFoldersAsync(entity, fascicleNode, results, results.Where(f => !f.ParentInsertId.HasValue));
                                }
                            }
                        }).Wait();
                    }
                    IIdentityContext identity = new IdentityContext(_currentIdentity.FullUserName);
                    Fascicle         fascicle = _unitOfWork.Repository <Fascicle>().GetByUniqueId(entity.UniqueId);
                    ICQRS            command  = new CommandCreateFascicle(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty, identity, fascicle);
                    if (CurrentUpdateActionType.HasValue)
                    {
                        command = new CommandUpdateFascicle(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty, identity, fascicle);
                    }

                    foreach (IWorkflowAction workflowAction in WorkflowActions)
                    {
                        workflowAction.IdWorkflowActivity = IdWorkflowActivity;
                        command.WorkflowActions.Add(workflowAction);
                    }
                    ServiceBusMessage message = _cqrsMapper.Map(command, new ServiceBusMessage());
                    if (message == null || string.IsNullOrEmpty(message.ChannelName))
                    {
                        throw new DSWException($"Queue name to command [{command}] is not mapped", null, DSWExceptionCode.SC_Mapper);
                    }
                    Task.Run(async() =>
                    {
                        await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                    }).Wait();
                }
            }
            catch (DSWException ex)
            {
                _logger.WriteError(ex, LogCategories);
            }
            base.AfterSave(entity);
        }
        protected override void AfterSave(FascicleDocumentUnit entity)
        {
            try
            {
                _logger.WriteDebug(new LogMessage(string.Concat("VecompSoftware.DocSuite.Private.WebAPI.Controllers.Entity.Fascicles.FascicleDocumentUnit.AfterSave with entity UniqueId ", entity.UniqueId)), LogCategories);
                ServiceBusMessage message = null;

                if (entity.ReferenceType == ReferenceType.Fascicle)
                {
                    switch (entity.DocumentUnit.Environment)
                    {
                    case 1:
                    {
                        Collaboration collaboration             = null;
                        Guid?         collaborationUniqueId     = null;
                        int?          collaborationId           = null;
                        string        collaborationTemplateName = string.Empty;
                        Protocol      protocol = _unitOfWork.Repository <Protocol>().GetByUniqueIdWithRole(entity.DocumentUnit.UniqueId).SingleOrDefault();
                        if (protocol != null)
                        {
                            collaboration = _unitOfWork.Repository <Collaboration>().GetByProtocol(protocol.Year, protocol.Number).SingleOrDefault();
                            if (collaboration != null)
                            {
                                collaborationId           = collaboration.EntityId;
                                collaborationUniqueId     = collaboration.UniqueId;
                                collaborationTemplateName = collaboration.TemplateName;
                            }
                        }
                        message = GenerateMessage(entity.DocumentUnit.Category, (int)DSWEnvironmentType.Protocol,
                                                  (categoryFascicle) => new CommandUpdateProtocol(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, protocol.TenantAOO.UniqueId,
                                                                                                  collaborationUniqueId, collaborationId, collaborationTemplateName, new IdentityContext(_currentIdentity.FullUserName), protocol, categoryFascicle, null));
                        Task.Run(async() =>
                            {
                                await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                            }).Wait();
                        break;
                    }

                    case 2:
                    {
                        Resolution resolution = _unitOfWork.Repository <Resolution>().GetFullByUniqueId(entity.DocumentUnit.UniqueId).SingleOrDefault();
                        if (resolution.AdoptionDate.HasValue)
                        {
                            ResolutionModel resolutionModel = _mapper.Map(resolution, new ResolutionModel());
                            _mapper.FileResolution  = _unitOfWork.Repository <FileResolution>().GetByResolution(resolution.EntityId).SingleOrDefault();
                            _mapper.ResolutionRoles = _unitOfWork.Repository <ResolutionRole>().GetByResolution(resolution.EntityId);
                            message = GenerateMessage(entity.DocumentUnit.Category, (int)DSWEnvironmentType.Resolution,
                                                      (categoryFascicle) => new CommandUpdateResolution(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty,
                                                                                                        new IdentityContext(_currentIdentity.FullUserName), resolutionModel, categoryFascicle, null));
                            Task.Run(async() =>
                                {
                                    await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                                }).Wait();
                        }
                        break;
                    }

                    case 4:
                    {
                        DocumentSeriesItem documentSeriesItem = _unitOfWork.Repository <DocumentSeriesItem>().GetFullByUniqueId(entity.DocumentUnit.UniqueId).SingleOrDefault();
                        message = GenerateMessage(entity.DocumentUnit.Category, (int)DSWEnvironmentType.DocumentSeries,
                                                  (categoryFascicle) => new CommandUpdateDocumentSeriesItem(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty, null,
                                                                                                            new IdentityContext(_currentIdentity.FullUserName), documentSeriesItem, categoryFascicle, null));
                        Task.Run(async() =>
                            {
                                await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                            }).Wait();
                        break;
                    }

                    default:
                    {
                        if (entity.DocumentUnit.Environment >= 100)
                        {
                            UDSBuildModel commandModel = _mapperUnitOfwork.Repository <IDomainMapper <DocumentUnit, UDSBuildModel> >().Map(entity.DocumentUnit, new UDSBuildModel());
                            commandModel.UniqueId         = entity.DocumentUnit.UniqueId;
                            commandModel.UDSId            = entity.DocumentUnit.UniqueId;
                            commandModel.RegistrationDate = entity.DocumentUnit.RegistrationDate;
                            commandModel.RegistrationUser = entity.DocumentUnit.RegistrationUser;
                            message = GenerateMessage(entity.DocumentUnit.Category, entity.DocumentUnit.Environment,
                                                      (categoryFascicle) => new CommandCQRSUpdateUDSData(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, entity.DocumentUnit.TenantAOO?.UniqueId ?? Guid.Empty,
                                                                                                         new IdentityContext(_currentIdentity.FullUserName), commandModel, categoryFascicle, entity.DocumentUnit, null, null, null));
                            Task.Run(async() =>
                                {
                                    await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                                }).Wait();
                        }
                        break;
                    }
                    }
                }

                if (CurrentInsertActionType.HasValue)
                {
                    message = GenerateMessage(entity.DocumentUnit.Category, (int)DSWEnvironmentType.Fascicle,
                                              (categoryFascicle) =>
                    {
                        return(new CommandCreateFascicleDocumentUnit(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty,
                                                                     new IdentityContext(_currentIdentity.FullUserName), entity));
                    });
                    Task.Run(async() =>
                    {
                        await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                    }).Wait();
                }

                if (CurrentDeleteActionType.HasValue)
                {
                    message = GenerateMessage(entity.DocumentUnit.Category, (int)DSWEnvironmentType.Fascicle,
                                              (categoryFascicle) =>
                    {
                        return(new CommandDeleteFascicleDocumentUnit(_parameterEnvService.CurrentTenantName, _parameterEnvService.CurrentTenantId, Guid.Empty,
                                                                     new IdentityContext(_currentIdentity.FullUserName), entity));
                    });
                    Task.Run(async() =>
                    {
                        await _queueService.SubscribeQueue(message.ChannelName).SendToQueueAsync(message);
                    }).Wait();
                }
            }
            catch (DSWException ex)
            {
                _logger.WriteError(ex, LogCategories);
            }
            base.AfterSave(entity);
        }
 public void AddResolution([FromBody] ResolutionModel resolutionModel)
 {
     _resolutions.Add(new ResolutionModel {
         DealerName = resolutionModel.DealerName, Id = resolutionModel.Id, UnitCount = resolutionModel.UnitCount
     });
 }
Exemplo n.º 11
0
        internal override async Task <DocumentUnit> MappingInsertAsync(IContentBase entity, IIdentityContext identity)
        {
            DocumentUnit documentUnit = new DocumentUnit();

            try
            {
                ResolutionModel resolutionModel = (ResolutionModel)entity;

                #region [ Base ]

                documentUnit.EntityId         = resolutionModel.IdResolution.HasValue ? resolutionModel.IdResolution.Value : 0;
                documentUnit.Environment      = (int)DocSuiteWeb.Entity.Commons.DSWEnvironmentType.Resolution;
                documentUnit.LastChangedDate  = null;
                documentUnit.LastChangedUser  = null;
                documentUnit.Number           = resolutionModel.Number.Value;
                documentUnit.RegistrationDate = resolutionModel.AdoptionDate.Value;
                documentUnit.RegistrationUser = resolutionModel.RegistrationUser;
                documentUnit.Subject          = resolutionModel.Subject;
                documentUnit.Title            = string.Concat(resolutionModel.Year.Value, "/", string.IsNullOrEmpty(resolutionModel.ServiceNumber) ? resolutionModel.Number.Value.ToString("0000000") : resolutionModel.ServiceNumber);
                documentUnit.UniqueId         = resolutionModel.UniqueId;
                documentUnit.Year             = resolutionModel.Year.Value;
                documentUnit.DocumentUnitName = resolutionModel.DocumentUnitName;
                documentUnit.Status           = DocumentUnitStatus.Active;
                #endregion

                #region [ Navigation Properties ]

                documentUnit.UDSRepository = null;
                documentUnit.Category      = MapCategoryModel(new Category(), resolutionModel.Category);
                documentUnit.Container     = MapContainerModel(new Container(), resolutionModel.Container);
                documentUnit.Fascicle      = await _webAPIClient.GetFascicleAsync(resolutionModel.UniqueId);

                foreach (ResolutionRoleModel item in resolutionModel.ResolutionRoles)
                {
                    documentUnit.DocumentUnitRoles.Add(new DocumentUnitRole()
                    {
                        UniqueIdRole          = item.Role.UniqueId.Value,
                        RegistrationDate      = DateTimeOffset.UtcNow,
                        RegistrationUser      = identity.User,
                        AuthorizationRoleType = GetRoleType(string.Empty)
                    });
                }

                if (resolutionModel.FileResolution.IdAnnexes.HasValue && resolutionModel.FileResolution.IdAnnexes.Value != Guid.Empty)
                {
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdAnnexes.Value, ChainType.AnnexedChain, identity);
                }

                if (resolutionModel.FileResolution.IdResolutionFile.HasValue && resolutionModel.FileResolution.IdResolutionFile.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdResolutionFile.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.MainChain, identity);
                }

                if (resolutionModel.FileResolution.IdAttachments.HasValue && resolutionModel.FileResolution.IdAttachments.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdAttachments.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.AttachmentsChain, identity);
                }

                if (resolutionModel.FileResolution.IdControllerFile.HasValue && resolutionModel.FileResolution.IdControllerFile.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdControllerFile.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.ControllerChain, identity);
                }

                if (resolutionModel.FileResolution.IdFrontespizio.HasValue && resolutionModel.FileResolution.IdFrontespizio.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdFrontespizio.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.FrontespizioChain, identity);
                }

                if (resolutionModel.FileResolution.IdAssumedProposal.HasValue && resolutionModel.FileResolution.IdAssumedProposal.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdAssumedProposal.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.AssumedProposalChain, identity);
                }

                if (resolutionModel.FileResolution.IdPrivacyAttachments.HasValue && resolutionModel.FileResolution.IdPrivacyAttachments.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdPrivacyAttachments.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.PrivacyAttachmentChain, identity);
                }

                if (resolutionModel.FileResolution.IdFrontalinoRitiro.HasValue && resolutionModel.FileResolution.IdFrontalinoRitiro.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdFrontalinoRitiro.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.FrontalinoRitiroChain, identity);
                }

                if (resolutionModel.FileResolution.IdPrivacyPublicationDocument.HasValue && resolutionModel.FileResolution.IdPrivacyPublicationDocument.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdPrivacyPublicationDocument.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.PrivacyPublicationDocumentChain, identity);
                }

                if (resolutionModel.FileResolution.IdUltimaPaginaFile.HasValue && resolutionModel.FileResolution.IdUltimaPaginaFile.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdUltimaPaginaFile.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.UltimaPaginaChain, identity);
                }

                if (resolutionModel.FileResolution.IdSupervisoryBoardFile.HasValue && resolutionModel.FileResolution.IdSupervisoryBoardFile.Value != 0)
                {
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdSupervisoryBoardFile.Value);
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.SupervisoryBoardChain, identity);
                }

                if (resolutionModel.FileResolution.IdMainDocumentsOmissis.HasValue && resolutionModel.FileResolution.IdMainDocumentsOmissis.Value != Guid.Empty)
                {
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdMainDocumentsOmissis.Value, ChainType.MainOmissisChain, identity);
                }

                if (resolutionModel.FileResolution.IdAttachmentsOmissis.HasValue && resolutionModel.FileResolution.IdAttachmentsOmissis.Value != Guid.Empty)
                {
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdAttachmentsOmissis.Value, ChainType.AttachmentOmissisChain, identity);
                }

                if (resolutionModel.FileResolution.DematerialisationChainId.HasValue && resolutionModel.FileResolution.DematerialisationChainId.Value != Guid.Empty)
                {
                    AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.DematerialisationChainId.Value, ChainType.DematerialisationChain, identity);
                }

                #endregion
            }
            catch (Exception ex)
            {
                _logger.WriteError(new LogMessage("Resolution, MappingInsertAsync Error: "), ex, LogCategories);
                throw ex;
            }


            return(documentUnit);
        }
Exemplo n.º 12
0
        internal override async Task <DocumentUnit> MappingUpdateAsync(IContentBase entity, DocumentUnit documentUnit, IIdentityContext identity)
        {
            try
            {
                ResolutionModel resolutionModel = (ResolutionModel)entity;

                #region [ Base ]

                documentUnit.Subject         = resolutionModel.Subject;
                documentUnit.Title           = documentUnit.Title;
                documentUnit.LastChangedDate = resolutionModel.LastChangedDate;
                documentUnit.LastChangedUser = resolutionModel.LastChangedUser;

                #endregion

                #region [ Navigation Properties ]
                if (resolutionModel.Category.UniqueId.HasValue && resolutionModel.Category.UniqueId.Value != Guid.Empty && documentUnit.Category.UniqueId != resolutionModel.Category.UniqueId)
                {
                    documentUnit.Category = MapCategoryModel(new Category(), resolutionModel.Category);
                }

                if (resolutionModel.Container.UniqueId.HasValue && resolutionModel.Container.UniqueId.Value != Guid.Empty && documentUnit.Container.UniqueId != resolutionModel.Container.UniqueId)
                {
                    documentUnit.Container = MapContainerModel(new Container(), resolutionModel.Container);
                }

                documentUnit.Fascicle = await _webAPIClient.GetFascicleAsync(resolutionModel.UniqueId);

                if (resolutionModel.ResolutionRoles == null || !resolutionModel.ResolutionRoles.Any())
                {
                    documentUnit.DocumentUnitRoles.Clear();
                }
                if (resolutionModel.ResolutionRoles != null)
                {
                    foreach (ResolutionRoleModel item in resolutionModel.ResolutionRoles.Where(t => !documentUnit.DocumentUnitRoles.Any(x => x.UniqueIdRole == t.Role.UniqueId)).ToList())
                    {
                        documentUnit.DocumentUnitRoles.Add(new DocumentUnitRole()
                        {
                            UniqueIdRole          = item.Role.UniqueId.Value,
                            RegistrationDate      = DateTimeOffset.UtcNow,
                            RegistrationUser      = identity.User,
                            AuthorizationRoleType = GetRoleType(string.Empty)
                        });
                    }

                    foreach (DocumentUnitRole item in documentUnit.DocumentUnitRoles.Where(t => !resolutionModel.ResolutionRoles.Any(x => x.Role.UniqueId == t.UniqueIdRole)).ToList())
                    {
                        documentUnit.DocumentUnitRoles.Remove(item);
                    }
                }

                //Annessi
                if (resolutionModel.FileResolution.IdAnnexes.HasValue && resolutionModel.FileResolution.IdAnnexes.Value != Guid.Empty)
                {
                    DocumentUnitChain annexed = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.AnnexedChain).FirstOrDefault();
                    if (annexed != null)
                    {
                        if (annexed.IdArchiveChain != resolutionModel.FileResolution.IdAnnexes.Value)
                        {
                            documentUnit.DocumentUnitChains.Remove(annexed);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdAnnexes.Value, ChainType.AnnexedChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdAnnexes.Value, ChainType.AnnexedChain, identity);
                    }
                }
                else
                {
                    foreach (DocumentUnitChain chain in documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.AnnexedChain).ToList())
                    {
                        documentUnit.DocumentUnitChains.Remove(chain);
                    }
                }

                //Allegati
                if (resolutionModel.FileResolution.IdAttachments.HasValue && resolutionModel.FileResolution.IdAttachments.Value != 0)
                {
                    DocumentUnitChain attachment = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.AttachmentsChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdAttachments.Value);
                    if (attachment != null)
                    {
                        if (attachment.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(attachment);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.AttachmentsChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.AttachmentsChain, identity);
                    }
                }


                //AttachmentOmissis
                if (resolutionModel.FileResolution.IdAttachmentsOmissis.HasValue && resolutionModel.FileResolution.IdAttachmentsOmissis.Value != Guid.Empty)
                {
                    DocumentUnitChain attachmentOmissis = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.AttachmentOmissisChain).FirstOrDefault();
                    if (attachmentOmissis != null)
                    {
                        if (attachmentOmissis.IdArchiveChain != resolutionModel.FileResolution.IdAttachmentsOmissis.Value)
                        {
                            documentUnit.DocumentUnitChains.Remove(attachmentOmissis);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdAttachmentsOmissis.Value, ChainType.AttachmentOmissisChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdAttachmentsOmissis.Value, ChainType.AttachmentOmissisChain, identity);
                    }
                }


                //ResolutionFile
                if (resolutionModel.FileResolution.IdResolutionFile.HasValue && resolutionModel.FileResolution.IdResolutionFile.Value != 0)
                {
                    DocumentUnitChain resolutionFile = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.MainChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdResolutionFile.Value);
                    if (resolutionFile != null)
                    {
                        if (resolutionFile.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(resolutionFile);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.MainChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.MainChain, identity);
                    }
                }

                //Frontespizio
                if (resolutionModel.FileResolution.IdFrontespizio.HasValue && resolutionModel.FileResolution.IdFrontespizio.Value != 0)
                {
                    DocumentUnitChain frontespizio = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.FrontespizioChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdFrontespizio.Value);
                    if (frontespizio != null)
                    {
                        if (frontespizio.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(frontespizio);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.FrontespizioChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.FrontespizioChain, identity);
                    }
                }

                //ControllerFile
                if (resolutionModel.FileResolution.IdControllerFile.HasValue && resolutionModel.FileResolution.IdControllerFile.Value != 0)
                {
                    DocumentUnitChain controllerFile = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.ControllerChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdControllerFile.Value);
                    if (controllerFile != null)
                    {
                        if (controllerFile.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(controllerFile);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.ControllerChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.ControllerChain, identity);
                    }
                }

                //FrontalinoRitiro
                if (resolutionModel.FileResolution.IdFrontalinoRitiro.HasValue && resolutionModel.FileResolution.IdFrontalinoRitiro.Value != 0)
                {
                    DocumentUnitChain frontalinoRitiro = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.FrontalinoRitiroChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdFrontalinoRitiro.Value);
                    if (frontalinoRitiro != null)
                    {
                        if (frontalinoRitiro.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(frontalinoRitiro);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.FrontalinoRitiroChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.FrontalinoRitiroChain, identity);
                    }
                }

                //MainDocumentOmissis
                if (resolutionModel.FileResolution.IdMainDocumentsOmissis.HasValue && resolutionModel.FileResolution.IdMainDocumentsOmissis.Value != Guid.Empty)
                {
                    DocumentUnitChain mainDocumentOmissis = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.MainOmissisChain).FirstOrDefault();
                    if (mainDocumentOmissis != null)
                    {
                        if (mainDocumentOmissis.IdArchiveChain != resolutionModel.FileResolution.IdMainDocumentsOmissis.Value)
                        {
                            documentUnit.DocumentUnitChains.Remove(mainDocumentOmissis);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdMainDocumentsOmissis.Value, ChainType.MainOmissisChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.IdMainDocumentsOmissis.Value, ChainType.MainOmissisChain, identity);
                    }
                }

                //PrivacyAttachments
                if (resolutionModel.FileResolution.IdPrivacyAttachments.HasValue && resolutionModel.FileResolution.IdPrivacyAttachments.Value != 0)
                {
                    DocumentUnitChain privacyAttachemnt = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.PrivacyAttachmentChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdPrivacyAttachments.Value);
                    if (privacyAttachemnt != null)
                    {
                        if (privacyAttachemnt.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(privacyAttachemnt);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.PrivacyAttachmentChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.PrivacyAttachmentChain, identity);
                    }
                }

                //PrivacyPublicationDocument
                if (resolutionModel.FileResolution.IdPrivacyPublicationDocument.HasValue && resolutionModel.FileResolution.IdPrivacyPublicationDocument.Value != 0)
                {
                    DocumentUnitChain privacyPublicationAttachemnt = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.PrivacyPublicationDocumentChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdPrivacyAttachments.Value);
                    if (privacyPublicationAttachemnt != null)
                    {
                        if (privacyPublicationAttachemnt.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(privacyPublicationAttachemnt);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.PrivacyPublicationDocumentChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.PrivacyPublicationDocumentChain, identity);
                    }
                }

                //SupervisoryBoard
                if (resolutionModel.FileResolution.IdSupervisoryBoardFile.HasValue && resolutionModel.FileResolution.IdSupervisoryBoardFile.Value != 0)
                {
                    DocumentUnitChain supervisoryBoard = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.SupervisoryBoardChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdSupervisoryBoardFile.Value);
                    if (supervisoryBoard != null)
                    {
                        if (supervisoryBoard.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(supervisoryBoard);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.SupervisoryBoardChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.SupervisoryBoardChain, identity);
                    }
                }

                //UltimaPagina
                if (resolutionModel.FileResolution.IdUltimaPaginaFile.HasValue && resolutionModel.FileResolution.IdUltimaPaginaFile.Value != 0)
                {
                    DocumentUnitChain lastPage = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.UltimaPaginaChain).FirstOrDefault();
                    Guid chainId = _biblosClient.Document.GetDocumentId(resolutionModel.Container.ReslLocation.ResolutionArchive, resolutionModel.FileResolution.IdUltimaPaginaFile.Value);
                    if (lastPage != null)
                    {
                        if (lastPage.IdArchiveChain != chainId)
                        {
                            documentUnit.DocumentUnitChains.Remove(lastPage);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.UltimaPaginaChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, chainId, ChainType.UltimaPaginaChain, identity);
                    }
                }

                //Dematerialisation
                if (resolutionModel.FileResolution.DematerialisationChainId.HasValue && resolutionModel.FileResolution.DematerialisationChainId.Value != Guid.Empty)
                {
                    DocumentUnitChain dematerialisation = documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.DematerialisationChain).FirstOrDefault();
                    if (dematerialisation != null)
                    {
                        if (dematerialisation.IdArchiveChain != resolutionModel.FileResolution.DematerialisationChainId.Value)
                        {
                            documentUnit.DocumentUnitChains.Remove(dematerialisation);
                            AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.DematerialisationChainId.Value, ChainType.DematerialisationChain, identity);
                        }
                    }
                    else
                    {
                        AddResolutionDocumentUnitChain(documentUnit, resolutionModel, resolutionModel.FileResolution.DematerialisationChainId.Value, ChainType.DematerialisationChain, identity);
                    }
                }
                else
                {
                    foreach (DocumentUnitChain chain in documentUnit.DocumentUnitChains.Where(t => t.ChainType == ChainType.DematerialisationChain).ToList())
                    {
                        documentUnit.DocumentUnitChains.Remove(chain);
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                _logger.WriteError(new LogMessage("Resolution, MappingUpdateAsync Error: "), ex, LogCategories);
                throw ex;
            }

            return(documentUnit);
        }
Exemplo n.º 13
0
        private void PreloadDataFromCloneInstance(string vmName)
        {
            this.Dpi = Utils.GetDpiFromBootParameters(RegistryManager.RegistryManagers[this.OEM].Guest[vmName].BootParameters);
            if (this.Is64BitABIValuesValid())
            {
                this.Is64BitABIValid = true;
            }
            string valueInBootParams = Utils.GetValueInBootParams("abivalue", vmName, string.Empty, this.OEM);

            if (!string.IsNullOrEmpty(valueInBootParams))
            {
                if (this.Is64BitABIValuesValid())
                {
                    switch (valueInBootParams)
                    {
                    case "7":
                        this.AbiValue = ABISetting.Auto64;
                        break;

                    case "15":
                        this.AbiValue = ABISetting.ARM64;
                        break;

                    default:
                        this.AbiValue = ABISetting.Custom;
                        break;
                    }
                }
                else
                {
                    switch (valueInBootParams)
                    {
                    case "15":
                        this.AbiValue = ABISetting.Auto;
                        break;

                    case "4":
                        this.AbiValue = ABISetting.ARM;
                        break;

                    default:
                        this.AbiValue = ABISetting.Custom;
                        break;
                    }
                }
            }
            else if (this.Is64BitABIValuesValid())
            {
                Utils.UpdateValueInBootParams("abivalue", ABISetting.Auto64.GetDescription(), vmName, true, this.OEM);
            }
            else
            {
                Utils.UpdateValueInBootParams("abivalue", ABISetting.Auto.GetDescription(), vmName, true, this.OEM);
            }
            if (this.AbiValue == ABISetting.Custom)
            {
                this.IsCustomABI = true;
            }
            int      currentCpucount = RegistryManager.RegistryManagers[this.OEM].CurrentEngine == "raw" ? 1 : RegistryManager.RegistryManagers[this.OEM].Guest[vmName].VCPUs;
            CpuModel cpuModel        = this.CPUList.FirstOrDefault <CpuModel>((Func <CpuModel, bool>)(x => x.CoreCount == currentCpucount));

            if (cpuModel == null)
            {
                cpuModel           = this.CPUList.First <CpuModel>((Func <CpuModel, bool>)(x => x.PerformanceSettingType == PerformanceSetting.Custom));
                cpuModel.CoreCount = currentCpucount;
                this.CoreCount     = currentCpucount;
            }
            this.SelectedCPU = cpuModel;
            RamModel ramModel = this.RamList.FirstOrDefault <RamModel>((Func <RamModel, bool>)(x => x.RAM == RegistryManager.RegistryManagers[this.OEM].Guest[vmName].Memory));

            if (ramModel == null)
            {
                ramModel     = this.RamList.First <RamModel>((Func <RamModel, bool>)(x => x.PerformanceSettingType == PerformanceSetting.Custom));
                ramModel.RAM = RegistryManager.RegistryManagers[this.OEM].Guest[vmName].Memory;
            }
            this.SelectedRAM = ramModel;
            ResolutionModel resolutionModel = this.ResolutionsList.FirstOrDefault <ResolutionModel>((Func <ResolutionModel, bool>)(x => x.AvailableResolutionsDict.Keys.Contains <string>(string.Format("{0} x {1}", (object)RegistryManager.RegistryManagers[this.OEM].Guest[vmName].GuestWidth, (object)RegistryManager.RegistryManagers[this.OEM].Guest[vmName].GuestHeight)))) ?? this.ResolutionsList.First <ResolutionModel>((Func <ResolutionModel, bool>)(x => x.OrientationType == OrientationType.Custom));

            resolutionModel.CombinedResolution = string.Format("{0} x {1}", (object)RegistryManager.RegistryManagers[this.OEM].Guest[vmName].GuestWidth, (object)RegistryManager.RegistryManagers[this.OEM].Guest[vmName].GuestHeight);
            this.ResolutionType = resolutionModel;
        }