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("Ця заява не може бути редагована!"); }
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("Ця відповідальна одиниця не може бути редагована!"); }
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("Цей контрактний контрагент не може бути редагований!"); }
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("Це МПД не може бути редаговане!"); }
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("Ця відповідальна одиниця не може бути редагована!"); }