Exemplo n.º 1
0
        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;
            }
        }