private async Task SetInformLicense(string msgType, Message msg, bool isActiveLicense) { var activeLicenses = await _licenseService.GetActiveLicenses(); ViewBag.isPRL = activeLicenses.FirstOrDefault(p => p.type == "PRL").isActive; ViewBag.isIML = activeLicenses.FirstOrDefault(p => p.type == "IML").isActive; ViewBag.isTRL = activeLicenses.FirstOrDefault(p => p.type == "TRL").isActive; var prlInfo = isActiveLicense ? _messageService.GetOrgInfo(LicenseType.ePRL_LICENSE) : _messageService.GetOrgInfoByMsgId(LicenseType.ePRL_LICENSE, msg.Id); var imlInfo = isActiveLicense ? _messageService.GetOrgInfo(LicenseType.eIML_LICENSE) : _messageService.GetOrgInfoByMsgId(LicenseType.eIML_LICENSE, msg.Id); var trlInfo = isActiveLicense ? _messageService.GetOrgInfo(LicenseType.eTRL_LICENSE) : _messageService.GetOrgInfoByMsgId(LicenseType.eTRL_LICENSE, msg.Id); switch (msgType) { case "SgdChiefNameChange": { ViewBag.PrlLicenseDirector = !string.IsNullOrEmpty(prlInfo.EDRPOU) ? prlInfo.OrgDirector : prlInfo.Name; ViewBag.ImlLicenseDirector = !string.IsNullOrEmpty(imlInfo.EDRPOU) ? imlInfo.OrgDirector : imlInfo.Name; ViewBag.TrlLicenseDirector = !string.IsNullOrEmpty(trlInfo.EDRPOU) ? trlInfo.OrgDirector : trlInfo.Name; } break; case "SgdNameChange": { ViewBag.PrlLicenseOrgName = prlInfo.Name; ViewBag.ImlLicenseOrgName = imlInfo.Name; ViewBag.TrlLicenseOrgName = trlInfo.Name; } break; case "OrgFopLocationChange": { // PRL var address = DataService.GetDto <AtuSubjectAddressDTO>(p => p.Id == prlInfo.AddressId).SingleOrDefault(); ViewBag.PrlLicenseOrgAddress = address?.Address; // IML address = DataService.GetDto <AtuSubjectAddressDTO>(p => p.Id == imlInfo.AddressId).SingleOrDefault(); ViewBag.ImlLicenseOrgAddress = address?.Address; // TRL address = DataService.GetDto <AtuSubjectAddressDTO>(p => p.Id == trlInfo.AddressId).SingleOrDefault(); ViewBag.TrlLicenseOrgAddress = address?.Address; } break; case "ProductionDossierChange": { var selectListHelper = new SelectListHelper(DataService); ViewBag.LicenseList = selectListHelper.Enum("ActivityType", dto => (activeLicenses.FirstOrDefault(p => p.type == "PRL").isActive&& dto.Code == "PRL") || (activeLicenses.FirstOrDefault(p => p.type == "IML").isActive&& dto.Code == "IML")); } break; case "PharmacyHeadReplacement": { var assignee = DataService.GetEntity <AppAssignee>(p => p.Id == msg.MpdSelectedId).SingleOrDefault(); if (assignee != null) { var AssgneeTypeName = DataService.GetEntity <EnumRecord>(x => x.Code == assignee.OrgPositionType && x.EnumType == "OrgPositionType") .SingleOrDefault(); ViewBag.AssgneeTypeName = AssgneeTypeName?.Name; } ViewBag.AssigneeLicenseFIO = assignee?.FIO; } break; } }