public async Task Can_Assign_SubDataProcessors() { //Arrange const int organizationId = TestEnvironment.DefaultOrganizationId; var organization = await OrganizationHelper.CreateOrganizationAsync(organizationId, A <string>(), "87654321", OrganizationTypeKeys.Virksomhed, AccessModifier.Public); var registration = await DataProcessingRegistrationHelper.CreateAsync(organizationId, A <string>()); using var setStateRequest = await DataProcessingRegistrationHelper.SendSetUseSubDataProcessorsStateRequestAsync(registration.Id, YesNoUndecidedOption.Yes); Assert.Equal(HttpStatusCode.OK, setStateRequest.StatusCode); //Act using var assignResponse = await DataProcessingRegistrationHelper.SendAssignSubDataProcessorRequestAsync(registration.Id, organization.Id); using var duplicateResponse = await DataProcessingRegistrationHelper.SendAssignSubDataProcessorRequestAsync(registration.Id, organization.Id); //Assert Assert.Equal(HttpStatusCode.OK, assignResponse.StatusCode); Assert.Equal(HttpStatusCode.Conflict, duplicateResponse.StatusCode); var dto = await DataProcessingRegistrationHelper.GetAsync(registration.Id); var processor = Assert.Single(dto.SubDataProcessors); Assert.Equal(organization.Id, processor.Id); Assert.Equal(organization.Name, processor.Name); Assert.Equal(organization.Cvr, processor.CvrNumber); }
public ActionResult Editor(Guid id) { var logger = LogManager.GetLogger("VariableController"); logger.Debug("Entering Variable.Editor()"); using (var db = ApplicationDbContext.Create()) { logger.Debug("Getting file information"); var file = GetFile(id, db); logger.Debug("Got file information"); try { logger.Debug("Creating model"); var model = FileToVariableEditorMapper.GetModelFromFile(file); logger.Debug("Created model"); var user = db.Users .Where(x => x.UserName == User.Identity.Name) .FirstOrDefault(); var permissions = db.Permissions .Where(x => x.User.Id == user.Id && x.Organization.Id == file.CatalogRecord.Organization.Id); bool userCanViewAll = permissions.Any(x => x.Right == Right.CanViewAllCatalogRecords); string createdByUserName = file.CatalogRecord.CreatedBy != null ? file.CatalogRecord.CreatedBy.UserName : string.Empty; bool isUserCreator = createdByUserName == User.Identity.Name; model.IsUserCurator = file.CatalogRecord.Curators.Any(x => x.UserName == User.Identity.Name); bool isApprover = file.CatalogRecord.Approvers.Any(x => x.UserName == User.Identity.Name || OrganizationHelper.DoesUserHaveRight(db, User, file.CatalogRecord.Organization.Id, Right.CanApprove)); if (!isUserCreator && !model.IsUserCurator && !isApprover && !userCanViewAll) { logger.Warn("No permissions to show variable information"); throw new HttpException(403, "You must be a curator or an administrator to perform this action."); } logger.Debug("Leaving Variable.Editor()"); return(View("~/Areas/Ddi/Views/Variables/Editor.cshtml", model)); } catch (Exception ex) { logger.Error("Unhandled exception", ex); var model = new MissingPhysicalInstanceModel() { File = file, IsLocked = file.CatalogRecord.IsLocked, IsUserCurator = file.CatalogRecord.Curators.Any(x => x.UserName == User.Identity.Name), IsUserApprover = file.CatalogRecord.Approvers.Any(x => x.UserName == User.Identity.Name) || OrganizationHelper.DoesUserHaveRight(db, User, file.CatalogRecord.Organization.Id, Right.CanApprove), OperationStatus = file.CatalogRecord.OperationStatus }; return(View("~/Areas/Ddi/Views/Variables/MissingPhysicalInstance.cshtml", model)); } } }
static void Main() { // Task 1 WriteLine("BluePrint Software Systems"); WriteLine(); WriteLine("Please, enter the organization.xml file absolute path."); WriteLine("Or just 'Enter' for using the current location."); Write("Path: "); string xmlPath = ReadLine(); if (string.IsNullOrEmpty(xmlPath)) { xmlPath = $"{CurrentDirectory}{DirectorySeparatorChar}organization.xml"; } var organization = OrganizationHelper.FromXml(xmlPath); organization.PrintEmployeesReport(); // Task 2 WriteLine("Please, enter the absolute path for the json file with switched teams."); WriteLine("Or just 'Enter' for using the current location."); Write("Path: "); string jsonPath = ReadLine(); if (string.IsNullOrEmpty(jsonPath)) { jsonPath = $"{CurrentDirectory}{DirectorySeparatorChar}organization.json"; } organization.ShitchTeams("Platform Team", "Maintenance Team"); OrganizationHelper.ToJson(organization, jsonPath); WriteLine($"Json file was written successfully to the path: {jsonPath}"); }
public ActionResult Index() { using (var db = ApplicationDbContext.Create()) { if (!User.Identity.IsAuthenticated) { throw new HttpException(403, "Forbidden"); } var thisUser = db.Users.Where(x => x.UserName == User.Identity.Name) .Include(x => x.Organizations) .FirstOrDefault(); List <Organization> orgs = OrganizationHelper.GetAvailableOrganizationsForUser(db, User); var model = new OrganizationIndexModel(); model.IsSiteAdministrator = thisUser.IsAdministrator; foreach (var org in orgs) { var orgModel = new OrganizationInListModel() { Organization = org, CanUserAssignRights = OrganizationHelper.DoesUserHaveRight(db, User, org.Id, Right.CanAssignRights) }; model.Organizations.Add(orgModel); } return(View(model)); } }
public ActionResult AddUser(Guid orgId, Guid userId) { if (!ModelState.IsValid) { return(RedirectToAction("Details", new { id = orgId })); } using (var db = ApplicationDbContext.Create()) { if (!OrganizationHelper.DoesUserHaveRight(db, User, orgId, Right.CanEditOrganization)) { throw new HttpException(403, "Forbidden"); } var organization = db.Organizations.Find(orgId); var userToAdd = db.Users.FirstOrDefault(x => x.Id == userId.ToString()); if (organization != null && userToAdd != null) { organization.ApplicationUsers.Add(userToAdd); db.SaveChanges(); } return(RedirectToAction("Details", new { id = orgId })); } }
public void GetEmployeesRecursiveTest() { var Employee = new EmployeeEntity(SyedAbbasID); var actual = OrganizationHelper.GetEmployeesRecursive(Employee); Assert.AreEqual(SyedAbbas, actual.Text); }
void EnsureUserCanAssignRights(ApplicationDbContext db, Guid organizationId) { if (!OrganizationHelper.DoesUserHaveRight(db, User, organizationId, Right.CanAssignRights)) { throw new HttpException(403, "Forbidden"); } }
public ActionResult UserSpecificNavigation() { using (var db = ApplicationDbContext.Create()) { var thisUser = db.Users.Where(x => x.UserName == User.Identity.Name) .Include(x => x.Organizations) .FirstOrDefault(); var org = OrganizationHelper.GetOrganizationByHost(Request, db); bool isOrgAdmin = false; if (org != null) { isOrgAdmin = OrganizationHelper.DoesUserHaveRight(db, User, org.Id, Right.CanEditOrganization); } var model = new UserInfoModel() { IsOrgAdmin = isOrgAdmin, IsSiteAdministrator = thisUser.IsAdministrator, Organization = org }; return(PartialView("_UserSpecificNavigation", model)); } }
public ActionResult Create() { using (var db = ApplicationDbContext.Create()) { var thisUser = db.Users.Single(x => x.UserName == User.Identity.Name); var org = OrganizationHelper.GetOrganizationByHost(Request, db); bool isOrgAdmin = false; if (org != null) { isOrgAdmin = OrganizationHelper.DoesUserHaveRight(db, User, org.Id, Right.CanAssignRights); } if (thisUser == null || (!thisUser.IsAdministrator && !isOrgAdmin)) { throw new HttpException(403, "Only administrators can create new users."); } var model = new RegisterViewModel(); return(View(model)); } }
/// <summary> /// Assembly is Uploaded if it is database. /// We dont do Smart updates /// </summary> /// <param name="org"></param> /// <param name="pathToAssembly"></param> /// <param name="assembly"></param> public static void UpdateAssembly(CrmOrganization org, string pathToAssembly, CrmPluginAssembly assembly, params PluginType[] type) { if (org == null) { throw new ArgumentNullException("org"); } else if (assembly == null) { throw new ArgumentNullException("assembly"); } PluginAssembly ptl = (PluginAssembly)assembly.GenerateCrmEntities()[PluginAssembly.EntityLogicalName]; //If the assembly path is not set, then the content does not need to be updated if (!string.IsNullOrEmpty(pathToAssembly) && assembly.SourceType == CrmAssemblySourceType.Database) { ptl.Content = Convert.ToBase64String(File.ReadAllBytes(pathToAssembly)); } if (null != type && 0 != type.Length) { ptl.pluginassembly_plugintype = type; } org.OrganizationService.Update(ptl); OrganizationHelper.RefreshAssembly(org, assembly); }
public void GetManagersRecursiveTest1() { var Employee = new EmployeeEntity(SyedAbbasID); var actual = OrganizationHelper.GetManagersRecursive(Employee); Assert.AreEqual(KenSánchez, actual.Text); }
public async Task GetChildrenForOrganization( string[] include, bool includeFamily, bool includeDeterminations ) { Guid[] ids; int organizationId; using (var context = new TestHedwigContextProvider().Context) { var organization = OrganizationHelper.CreateOrganization(context); var children = ChildHelper.CreateChildren(context, 3, organization: organization); ids = children.Select(c => c.Id).ToArray(); organizationId = organization.Id; } using (var context = new TestHedwigContextProvider().Context) { var childRepo = new ChildRepository(context); var res = await childRepo.GetChildrenForOrganizationAsync(organizationId, include); Assert.Equal(ids.OrderBy(id => id), res.Select(c => c.Id).OrderBy(id => id)); Assert.Equal(includeFamily, res.TrueForAll(c => c.Family != null)); Assert.Equal(includeDeterminations, res.TrueForAll(c => c.Family != null && c.Family.Determinations != null)); } }
public static void UpdateImage(CrmOrganization org, CrmPluginImage image, CrmPluginStep step) { if (null == org) { throw new ArgumentNullException("org"); } else if (null == image) { throw new ArgumentNullException("image"); } else if (null == step) { throw new ArgumentNullException("step"); } //Retrieve the SDK entity equivalent of the given image Dictionary <string, object> entityList = image.GenerateCrmEntities(step.MessageId, step.MessageEntityId); SdkMessageProcessingStepImage sdkImage = (SdkMessageProcessingStepImage)entityList[SdkMessageProcessingStepImage.EntityLogicalName]; //If the step that owns this image is a profiled step, the step will be the original step (the step that is being profiled), //not the profiler step. The Profiler step is what should be set on the server, since that is the step that is actually enabled. if (step.IsProfiled && null != sdkImage.SdkMessageProcessingStepId) { sdkImage.SdkMessageProcessingStepId.Id = step.ProfilerStepId.GetValueOrDefault(); } org.OrganizationService.Update(sdkImage); OrganizationHelper.RefreshImage(org, image, step); }
public void GetReportsForFiscalYear( int year, int month, int day, int total ) { var reportDate = new DateTime(year, month, day); Organization organization; using (var context = new TestHedwigContextProvider().Context) { var dates = new List <DateTime> { new DateTime(2010, 1, 1), new DateTime(2010, 5, 1), new DateTime(2010, 7, 1), new DateTime(2011, 2, 1), new DateTime(2011, 7, 1), }; organization = OrganizationHelper.CreateOrganization(context); foreach (var date in dates) { var reportingPeriod = ReportingPeriodHelper.CreateReportingPeriod(context, period: date.ToString("yyyy-MM-dd")); ReportHelper.CreateCdcReport(context, organization: organization, reportingPeriod: reportingPeriod); } } using (var context = new TestHedwigContextProvider().Context) { var reportRepo = new ReportRepository(context); var result = reportRepo.GetReportsForOrganizationByFiscalYear(organization.Id, reportDate); Assert.Equal(total, result.Count()); } }
public int insertVendor(Organization org, CompanyDetails company, BranchLocation location) { int OrganizationID = 0; int CompanyDetailsID = 0; int LocationID = 0; bool insertResult = false; try { OrganizationHelper organizationhelper = new OrganizationHelper(); OrganizationID = organizationhelper.insertupdateOrganizationHier(org, 'I'); if (OrganizationID > 0) { company.Org_Hier_ID = OrganizationID; CompanyDetailsID = organizationhelper.insertupdateCompanyDetails(company, 'I'); location.Org_Hier_ID = OrganizationID; LocationID = organizationhelper.insertupdateBranchLocation(location, 'I'); } if (OrganizationID > 0 && CompanyDetailsID > 0) { insertResult = true; } } catch { throw; } return(OrganizationID); }
public int insertBranch(Organization org, BranchLocation branch) { int OrganizationID = 0; int BranchLocationID = 0; bool insertResult = false; try { OrganizationHelper organizationhelper = new OrganizationHelper(); OrganizationID = organizationhelper.insertupdateOrganizationHier(org, 'I'); if (OrganizationID > 0) { branch.Org_Hier_ID = OrganizationID; BranchLocationID = organizationhelper.insertupdateBranchLocation(branch, 'I'); } if (BranchLocationID != 0 && OrganizationID != 0) { insertResult = true; } } catch { throw; } return(OrganizationID); }
public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; using (var db = ApplicationDbContext.Create()) { var model = new LoginViewModel(); var settings = SettingsHelper.GetSiteSettings(db); model.CanCreateOrganization = settings.IsAnonymousOrganizationRegistrationAllowed; // Get the organization associated with the hostname. var org = OrganizationHelper.GetOrganizationByHost(Request, db); if (org == null) { model.CanRegisterForOrganization = false; } else { model.CanRegisterForOrganization = org.IsAnonymousRegistrationAllowed; model.ImageUrl = org.ImageUrl; model.OrganizationName = org.Name; model.LoginPageText = org.LoginPageText; } return(View(model)); } }
private string BindCompaniesListDropDown(int groupcompanyID) { OrganizationHelper OrganizationHelper = new OrganizationHelper(); DataSet dsGroupCompanies = OrganizationHelper.getCompanyListDropDown(groupcompanyID); string xmlGroupCompaniesList = dsGroupCompanies.GetXml(); return(xmlGroupCompaniesList); }
/// <summary> /// Default constructor /// </summary> /// <param name="service"><see cref="IOrganizationService"/></param> /// <param name="useUTC"> /// Set <c>true</c>, if you want to use Utc datetime format, otherwise set <c>false</c>. /// This parameter's default value is <c>true</c> /// </param> public CalendarHelper(IOrganizationService service, bool useUTC = true) : base(service) { this.SdkHelpUrl = "https://msdn.microsoft.com/en-us/library/gg328538(v=crm.8).aspx"; this.EntityName = "calendar"; this._useUtc = useUTC; this._organizationHelper = new OrganizationHelper(service); }
public AdministrationController() { _organizationHelper = new OrganizationHelper(); _userService = new UserService(); _genericService = new GenericService(); _applicationRoleService = new ApplicationRoleService(); _shiftManagemetHelper = new ShiftManagemetHelper(); }
private async Task <Organization> CreateOrganizationAsync() { var organizationName = CreateName(); var organization = await OrganizationHelper.CreateOrganizationAsync(TestEnvironment.DefaultOrganizationId, organizationName, "11224455", OrganizationTypeKeys.Virksomhed, AccessModifier.Public); return(organization); }
public async Task CreatesReportForOrganization( bool hasFundingSpace, string today, int numOfReportsGenerated ) { int organizationId; int lastReportingPeriodId; using (var context = new TestHedwigContextProvider().Context) { var organization = OrganizationHelper.CreateOrganization(context); organizationId = organization.Id; if (hasFundingSpace) { FundingSpaceHelper.CreateFundingSpace(context, organizationId); } var lastReportingPeriod = ReportingPeriodHelper.GetOrCreateReportingPeriodForPeriod( context, period: "2010-10-01", periodStart: "2010-10-01", periodEnd: "2010-10-31" ); lastReportingPeriodId = lastReportingPeriod.Id; } using (var context = new TestHedwigContextProvider().Context) { var logger = new Mock <ILogger <CdcReportGeneratorScopedService> >(); var orgRepo = new OrganizationRepository(context); var reportingPeriodRepo = new ReportingPeriodRepository(context); var reportRepo = new ReportRepository(context); var dateTime = new Mock <IDateTime>(); dateTime.Setup(dateTime => dateTime.UtcNow).Returns(DateTime.Parse(today)); var cdcReportGenerator = new CdcReportGeneratorScopedService( logger.Object, orgRepo, reportingPeriodRepo, reportRepo, dateTime.Object ); var previousReports = reportRepo.GetReportsForOrganization(organizationId); await cdcReportGenerator.TryGenerateReports(); var reports = reportRepo.GetReportsForOrganization(organizationId); Assert.Empty(previousReports); Assert.Equal(numOfReportsGenerated, reports.Count()); if (numOfReportsGenerated > 0) { Assert.True(reports.All(report => report.ReportingPeriodId == lastReportingPeriodId)); } } }
public ActionResult Index() { using (var db = ApplicationDbContext.Create()) { var thisUser = db.Users.Where(x => x.UserName == User.Identity.Name) .Include(x => x.Organizations) .FirstOrDefault(); var org = OrganizationHelper.GetOrganizationByHost(Request, db); List <ApplicationUser> users = null; if (org != null) { bool isOrgAdmin = OrganizationHelper.DoesUserHaveRight(db, User, org.Id, Right.CanAssignRights); // Site administrators can see all users of the current organization. if (thisUser.IsAdministrator) { users = db.Organizations .Where(x => x.Id == org.Id) .Include(x => x.ApplicationUsers) .Include("ApplicationUsers.Organizations") .FirstOrDefault() ?.ApplicationUsers ?.ToList(); } else if (isOrgAdmin) { // Organization administrators can see that organization's users. users = db.Organizations .Where(x => x.Id == org.Id) .Include(x => x.ApplicationUsers) .Include("ApplicationUsers.Organizations") .FirstOrDefault() ?.ApplicationUsers ?.ToList(); } else { // Regular users should just see their own page. return(RedirectToAction("Details", new { id = thisUser.UserName })); } } else { // When not on an organization-specific site, show all users. users = db.Users .Include(x => x.Organizations) .OrderBy(x => x.Email) .ToList(); } var model = new UsersViewModel(users); return(View(model)); } }
public async Task Get_Report_For_Organization(bool submitted, string[] include) { using (var context = new TestHedwigContextProvider().Context) { // Set up test data var organization = OrganizationHelper.CreateOrganization(context); var reportingPeriod = ReportingPeriodHelper.CreateReportingPeriod(context); var report = ReportHelper.CreateCdcReport(context, organization: organization, reportingPeriod: reportingPeriod); var site = SiteHelper.CreateSite(context, organization: organization); var enrollment = EnrollmentHelper.CreateEnrollment(context, site: site, ageGroup: Age.Preschool); var funding = FundingHelper.CreateFunding(context, enrollment: enrollment, firstReportingPeriod: reportingPeriod); if (submitted) { Thread.Sleep(1000); report.SubmittedAt = DateTime.Now; context.SaveChanges(); Thread.Sleep(1000); } enrollment.AgeGroup = Age.SchoolAge; context.SaveChanges(); // When the repository is queried var repo = new ReportRepository(context); var result = await repo.GetReportForOrganizationAsync(report.Id, organization.Id, include) as CdcReport; // It returns the Report Assert.Equal(result.Id, report.Id); // It includes the Organization Assert.Equal(include.Contains("organizations"), result.Organization != null); // It includes the Sites Assert.Equal(include.Contains("sites"), result.Organization != null && result.Organization.Sites != null); // It includes the Enrollments (and Fundings too) Assert.Equal( include.Contains("enrollments"), result.Enrollments != null && result.Enrollments.FirstOrDefault().Fundings != null ); // When it includes enrollments if (include.Contains("enrollments")) { var enrollmentResult = result.Enrollments.FirstOrDefault(); var fundingResult = enrollmentResult.Fundings.FirstOrDefault(); // A submitted report should return the data as of when it was submitted Assert.Equal(submitted ? Age.Preschool : Age.SchoolAge, enrollmentResult.AgeGroup); } } }
private string Bindlocation(int orgid) { OrganizationHelper helper = new OrganizationHelper(); DataSet vendors = helper.getBranchLocation(orgid); UtilityHelper utilityHelper = new UtilityHelper(); vendors = utilityHelper.ConvertNullsToEmptyString(vendors); string xmlvendors = vendors.GetXml(); return(xmlvendors); }
private string bindIndustryType() { OrganizationHelper OrganizationHelper = new OrganizationHelper(); DataSet dsCompliancetypes = OrganizationHelper.getIndustryType(); UtilityHelper utilityHelper = new UtilityHelper(); dsCompliancetypes = utilityHelper.ConvertNullsToEmptyString(dsCompliancetypes); string xmlCompaniesList = dsCompliancetypes.GetXml(); return(xmlCompaniesList); }
public string updatecomplianceTypes(int[] ComplianceTypeID, int OrgID) { string res = ""; OrganizationHelper helper = new OrganizationHelper(); foreach (var item in ComplianceTypeID) { res = helper.insertUpdateComplianceTypes(item, OrgID, 'U'); } return(res); }
private string BindBranchesAssociatedWithVendors(int VendorID) { OrganizationHelper vendorhelper = new OrganizationHelper(); DataSet vendors = vendorhelper.getBranchAssociatedWithVendors(VendorID); UtilityHelper utilityHelper = new UtilityHelper(); vendors = utilityHelper.ConvertNullsToEmptyString(vendors); string xmlroles = vendors.GetXml(); return(xmlroles); }
private string BindAssignedVendorsforBranch(int BranchID) { OrganizationHelper vendorhelper = new OrganizationHelper(); DataSet vendors = vendorhelper.getVendorsForBranch(BranchID); UtilityHelper utilityHelper = new UtilityHelper(); vendors = utilityHelper.ConvertNullsToEmptyString(vendors); string xmlroles = vendors.GetXml(); return(xmlroles); }
private string bindParticularCompliance(int ComplianceTypeID) { OrganizationHelper OrganizationHelper = new OrganizationHelper(); DataSet dsCompliancetypes = OrganizationHelper.getParticularComplianceType(ComplianceTypeID); UtilityHelper utilityHelper = new UtilityHelper(); dsCompliancetypes = utilityHelper.ConvertNullsToEmptyString(dsCompliancetypes); string xmlCompaniesList = dsCompliancetypes.GetXml(); return(xmlCompaniesList); }