Beispiel #1
0
        public bool?IsEditableApp(Guid?appId, bool raiseError = false)
        {
            if (appId == null || appId == Guid.Empty)
            {
                return(null);
            }

            var appStates = GetAppStates(appId);

            if (appStates == null)
            {
                return(null);
            }

            var func = new Func <bool>(delegate
            {
                var BackOfficeAppState = appStates["BackOfficeAppState"];
                var AppState           = appStates["AppState"];

                if (string.IsNullOrEmpty(BackOfficeAppState) && AppState == "Project" ||
                    BackOfficeAppState == "Project" && string.IsNullOrEmpty(AppState))
                {
                    var AppSort = appStates["AppSort"];
                    switch (AppSort)
                    {
                    case "IncreaseToPRLApplication":
                    case "IncreaseToIMLApplication":
                    case "IncreaseToTRLApplication":
                    case "RenewLicenseApplication":
                    case "GetLicenseApplication":
                    case "AdditionalInfoToLicense":
                        return(true);

                    default:
                        return(false);
                    }
                }

                return(false);
            });

            if (func.Invoke())
            {
                return(true);
            }

            if (!raiseError)
            {
                return(false);
            }

            throw BusinessRulesException.CreateNew("Ця заява не може бути редагована!");
        }
Beispiel #2
0
        public bool?IsEditableEdoc(Guid?edocId, bool raiseError = false)

        {
            if (edocId == null || edocId == Guid.Empty)
            {
                return(null);
            }

            var func = new Func <bool>(delegate
            {
                var branchId = DataService
                               .GetEntity <BranchEDocument>(x => x.EDocumentId == edocId).First()
                               .BranchId;
                var appId = DataService.GetEntity <ApplicationBranch>(apBrn => apBrn.BranchId == branchId).Single()
                            .LimsDocumentId;
                var appStates = GetAppStates(appId);

                if (appStates[nameof(BaseApplication.AppState)] == "Project" ||
                    appStates[nameof(BaseApplication.BackOfficeAppState)] == "Project")
                {
                    var appSort = appStates[nameof(BaseApplication.AppSort)];
                    switch (appSort)
                    {
                    case "GetLicenseApplication":
                    case "RenewLicenseApplication":
                    case "IncreaseToPRLApplication":
                    case "IncreaseToIMLApplication":
                    case "IncreaseToTRLApplication":
                    case "AddBranchInfoApplication":
                    case "AddBranchApplication":
                    case "AdditionalInfoToLicense":
                        return(true);

                    default:
                        return(false);
                    }
                }

                return(false);
            });

            if (func.Invoke())
            {
                return(true);
            }

            if (!raiseError)
            {
                return(false);
            }

            throw BusinessRulesException.CreateNew("Ця відповідальна одиниця не може бути редагована!");
        }
Beispiel #3
0
        public bool?IsEditableContractor(Guid?contractorId, bool raiseError = false)
        {
            if (contractorId == null || contractorId == Guid.Empty)
            {
                return(null);
            }

            var func = new Func <bool>(delegate
            {
                var branchId = DataService
                               .GetEntity <PrlBranchContractor>(contractor => contractor.ContractorId == contractorId).First()
                               .BranchId;
                var appId = DataService.GetEntity <ApplicationBranch>(apBrn => apBrn.BranchId == branchId).Single()
                            .LimsDocumentId;
                var appStates = GetAppStates(appId);

                if (appStates[nameof(BaseApplication.AppState)] == "Project" ||
                    appStates[nameof(BaseApplication.BackOfficeAppState)] == "Project")
                {
                    var appSort = appStates[nameof(BaseApplication.AppSort)];
                    switch (appSort)
                    {
                    case "GetLicenseApplication":
                    case "RenewLicenseApplication":
                    case "ChangeContrApplication":
                    case "IncreaseToPRLApplication":
                    case "AddBranchApplication":
                    case "AdditionalInfoToLicense":
                        return(true);

                    default:
                        return(false);
                    }
                }

                return(false);
            });

            if (func.Invoke())
            {
                return(true);
            }

            if (!raiseError)
            {
                return(false);
            }

            throw BusinessRulesException.CreateNew("Цей контрактний контрагент не може бути редагований!");
        }
Beispiel #4
0
        public bool?IsEditableBranch(Guid?branchId, bool raiseError = false)
        {
            if (branchId == null || branchId == Guid.Empty)
            {
                return(null);
            }

            var func = new Func <bool>(delegate
            {
                var appId = DataService.GetEntity <ApplicationBranch>(apBrn => apBrn.BranchId == branchId).Single()
                            .LimsDocumentId;
                var appStates = GetAppStates(appId);
                if (appStates[nameof(BaseApplication.AppState)] == "Project" ||
                    appStates[nameof(BaseApplication.BackOfficeAppState)] == "Project")
                {
                    var appSort = appStates[nameof(BaseApplication.AppSort)];
                    switch (appSort)
                    {
                    case "GetLicenseApplication":
                    case "RenewLicenseApplication":
                    case "AddBranchInfoApplication":
                    case "RemBranchInfoApplication":
                    case "AdditionalInfoToLicense":
                        return(true);

                    case "AddBranchApplication":
                        var branch = DataService.GetEntity <Branch>(br => br.Id == branchId).Single();
                        return(branch.IsFromLicense == null || !branch.IsFromLicense.Value);

                    default:
                        return(false);
                    }
                }

                return(false);
            });

            if (func.Invoke())
            {
                return(true);
            }

            if (!raiseError)
            {
                return(false);
            }

            throw BusinessRulesException.CreateNew("Це МПД не може бути редаговане!");
        }
Beispiel #5
0
        public bool?IsEditableMedicine(Guid?medicineId, bool raiseError = false)

        {
            if (medicineId == null || medicineId == Guid.Empty)
            {
                return(null);
            }

            var func = new Func <bool>(delegate
            {
                var medicine  = DataService.GetEntity <ImlMedicine>(x => x.Id == medicineId).FirstOrDefault();
                var appStates = GetAppStates(medicine.ApplicationId);

                if (appStates[nameof(BaseApplication.AppState)] == "Project" ||
                    appStates[nameof(BaseApplication.BackOfficeAppState)] == "Project")
                {
                    var appSort = appStates[nameof(BaseApplication.AppSort)];
                    switch (appSort)
                    {
                    case "AdditionalInfoToLicense":
                    case "GetLicenseApplication":
                    case "RenewLicenseApplication":
                    case "IncreaseToIMLApplication":
                    case "AddBranchApplication":
                        return(true);

                    default:
                        return(false);
                    }
                }

                return(false);
            });

            if (func.Invoke())
            {
                return(true);
            }

            if (!raiseError)
            {
                return(false);
            }

            throw BusinessRulesException.CreateNew("Ця відповідальна одиниця не може бути редагована!");
        }