private void AddNewOrganization() { try { OrganizationDto newOrganization = _controller.GetConfigs <OrganizationCardView, OrganizationCardViewModel>() .View(v => v.Icon = _imageManager.GetImage(ImageType.OrganizationImage)) .AdditionalViewModelParams(SelectedCity) .RunDialogWithResult(vm => vm.Organization); if (newOrganization != null) { newOrganization.City_Id = SelectedCity.Id; var result = _dataProxy.CreateItems(newOrganization); if (result?.Count > 0) { newOrganization = result.First(); newOrganization.City = SelectedCity; SelectedCity.Organizations.Add(newOrganization); Organizations.Add(newOrganization); } } } catch (Exception ex) { MessageService.ShowError(ex.Message); } }
public async Task Init() { IsFinishedLoading = false; var data = await _organizationsService.Get <IEnumerable <OrganizationDTO> >( new OrganizationSearchRequest { RatingMin = RatingMin, DistanceKilometers = DistanceKilometers, DeliveryTimeMinutesMax = DeliveryTimeMinutesMax, AverageProductPriceMax = AveragePriceMax, OrganizationType = new OrganizationTypeDTO() }); Organizations.Clear(); foreach (var item in data) { Organizations.Add(new OrganizationModel { Organization = item, ProfilePhoto = $"{APIService._apiUrl}/Organization/ProfilePhoto/{item.Id}" }); } IsFinishedLoading = true; }
public static int[] PersonsWithRoleInOrg(RoleType roleType, int p, bool includeChildOrgs) { Organizations line = new Organizations(); if (includeChildOrgs) { line = Organization.FromIdentity(p).GetLine(); } else { line.Add(Organization.FromIdentity(p)); } BasicPersonRole[] basPersons = SwarmDb.GetDatabaseForReading().GetPeopleWithRoleType(roleType, line.Identities, new int[] {}); List <int> retList = new List <int>(); foreach (BasicPersonRole b in basPersons) { retList.Add(b.PersonId); } return(retList.ToArray()); }
public MainWindowViewModel(IServiceProvider sp) { this.HumanCenter = sp.GetService(typeof(IHumanCenter)) as IHumanCenter; this.PersonFactory = sp.GetService(typeof(IPersonFactory)) as IPersonFactory; this.OrganizationFactory = sp.GetService(typeof(IOrganizationFactory)) as IOrganizationFactory; this.Organizations = new ObservableCollection <Organization>(); HumanCenter.GetOrganizations().ForEach(org => Organizations.Add(org as Organization)); var names = new List <string>(); foreach (var o in Organizations) { names.Add(o.Name); } //this.OrganizationNames = new ObservableCollection<string>(names); OrganizationTypes = new ObservableCollection <string>(new List <string> { "School", "Company" }); PersonTypes = new ObservableCollection <string>(new List <string> { "Student", "Worker" }); PersonGenders = new ObservableCollection <string>(new List <string> { "Male", "Female" }); }
public void Update(Config config) { Organizations.Clear(); foreach (var item in config.Organizations) { Organizations.Add(item); } }
private static void InitOrganizations() { Organizations.Add(new OrganizationModel { Id = 1, Name = "Dom dziecka \"Dobra Chata\"", Address = "Kielce, ul. Sandomierska 126", Phone = "41 365 76 53" }); Organizations.Add(new OrganizationModel { Id = 2, Name = "Miejska Biblioteka Publiczna Filia nr 4", Address = "Kielce, ul. Górnicza 64", Phone = "41 500 64 66" }); Organizations.Add(new OrganizationModel { Id = 3, Name = "Świetlica Wspierająco-Integrująca w Kielcach", Address = "Kielce, ul. Żeromskiego 13a", Phone = "41 230 01 00" }); Organizations.Add(new OrganizationModel { Id = 4, Name = "Miejska Biblioteka Publiczna Filia nr 50", Address = "Kielce, ul. Zagórska 60", Phone = "41 215 61 55" }); Organizations.Add(new OrganizationModel { Id = 5, Name = "Schronisko dla zwierząt", Address = "Kielce", Phone = "41 215 61 55" }); Organizations.Add(new OrganizationModel { Id = 6, Name = "Szlachetna paczka", Address = "Kielce, ul. Zapolskiej 14d", Phone = "517 667 323" }); Organizations.Add(new OrganizationModel { Id = 7, Name = "Biblioteka Publiczna Filia nr 13", Address = "Kielce, ul. Naruszewicza 25 14d", Phone = "41 589 25 01" }); }
private void RepositoryOrganizationChanged(object sender, ItemChangedEventArgs <Organization> e) { if (e.Action == ItemChangedEventArgs <Organization> .ActionType.Add) { var organization = new OrganizationViewModel(e.Item); Organizations.Add(organization); SelectedOrganization = organization; } }
private void LoadPanel(string header) { switch (header) { case "news feed": if (EventsRequest == null) { EventsRequest = new UserReceivedEventsRequest(_githubService.Username); } break; case "owned repos": if (OwnedRepositoriesRequest == null) { OwnedRepositoriesRequest = new RepositoriesRequest(); } break; case "watched reps": if (WatchedRepositoriesRequest == null) { WatchedRepositoriesRequest = new RepositoriesWatchedRequest(_githubService.Username); } break; case "follower": if (FollowersRequest == null) { FollowersRequest = new UserFollowersRequest(_githubService.Username); } break; case "following": if (FollowingsRequest == null) { FollowingsRequest = new UserFollowingRequest(_githubService.Username); } break; case "profile": if (User == null) { User = _githubService.Load(new UserRequest(_githubService.Username), u => { User = u; _githubService.Load(new UserOrganizationRequest(_githubService.Username), organizations => { foreach (var organization in organizations) { Organizations.Add(organization); } }); }); } break; } }
public ScientistAddsOrganizationViewModel(ScientistModel selectedScientist) { SelectedScientist = selectedScientist; List <Organization> conferences = OrganizationService.GetOrganizations(); foreach (Organization o in conferences) { Organizations.Add(new OrganizationModel(o)); } }
private void PopulateData() { Organization objorg = new Organization() { Name = "artexacta" }; Area area = new Area() { Name = "marketing" }; objorg.Areas.Add(area.ObjectId, area); area.Owner = objorg; Areas.Add(area.ObjectId, area); area = new Area() { Name = "development" }; objorg.Areas.Add(area.ObjectId, area); area.Owner = objorg; Areas.Add(area.ObjectId, area); ////Kpi kpi = new Kpi() ////{ //// Name = "KPI Test Data", //// Progress = 32 ////}; ////kpi.Owner = objOrg; ////Kpis.Add(kpi.ObjectId, kpi); ////objOrg.Kpis.Add(kpi.ObjectId, kpi); Project project = new Project() { Name = "Project 1" }; project.Owner = objorg; Projects.Add(project.ObjectId, project); objorg.Projects.Add(project.ObjectId, project); Activity activity = new Activity() { Name = "Activity 1" }; activity.Owner = objorg; Activities.Add(activity.ObjectId, activity); objorg.Activities.Add(activity.ObjectId, activity); Organizations.Add(objorg.ObjectId, objorg); }
public Organization CreateOrganization(string name, string description, string webSiteUrl, string ownerId) { if (Organizations == null) { Organizations = new List <Organization>(); } Organization newOrganization = Organization.Factory.Create(name, description, webSiteUrl, ownerId, this.Id); Organizations.Add(newOrganization); return(newOrganization); }
/// <summary> /// public method that add Organization to the current context /// </summary> /// <param name="user">The user.</param> /// <param name="SetInContext">Add in Current Context</param> /// <returns>New Instance of Organization</returns> public Organization AddNewOrganization(User user, bool SetInContext) { #region → Add New organization . Organization organization = new Organization() { OrganizationID = Guid.NewGuid(), Deleted = false, DeletedBy = user.UserID, DeletedOn = DateTime.Now, }; #endregion Organizations.Add(organization); return(organization); }
private void RepositoryOrganizationChanged(object sender, ItemChangedEventArgs <Organization> e) { if (e.Action == ItemChangedEventArgs <Organization> .ActionType.Add) { var organization = new OrganizationViewModel(e.Item); Organizations.Add(organization); } if (e.Action == ItemChangedEventArgs <Organization> .ActionType.Remove) { foreach (var organization in Organizations.Where(x => x.Model.Id == e.Item.Id).ToArray()) { Organizations.Remove(organization); } } }
public void Add(long?organizationId = null, long?repositoryId = null, long?userId = null) { if (organizationId != null) { Organizations.Add(organizationId.Value); } if (repositoryId != null) { Repositories.Add(repositoryId.Value); } if (userId != null) { Users.Add(userId.Value); } }
public void LoadView(GithubService githubService) { if (User == null) { User = _githubService.Load(new UserRequest(_githubService.Username), u => { User = u; _githubService.Load(new UserOrganizationRequest(_githubService.Username), organizations => { foreach (var organization in organizations) { Organizations.Add(organization); } }); }); } }
public Organizations OrganisationsWithPermission(Permission perm, RoleType[] roles) { Organizations orgList = GetOrganizations(roles); Organizations retList = new Organizations(); foreach (Organization org in orgList) { if (HasPermission(perm, org.Identity, -1, Authorization.Flag.Default)) { if (!retList.Contains(org)) { retList.Add(org); } } } return(retList); }
public string AddDepartmentOrOrganization(string title, string nameTable) { try { if (nameTable == "Department") { Departments.Add(new Department() { Title = title }); } else if (nameTable == "Organization") { Organizations.Add(new Organization() { Title = title }); } SaveChanges(); return("Запись успешно добавлена"); } catch (Exception ex) { return(ex.Message); } }
private async void OnDeleteGroup(Organization organization) { var result = await DialogHelper.ShowDialog(DialogType.Validation, "Are you sure you want to remove contact?"); if (result) { DeletedGroups.Add(Student.RelOrganizations.SingleOrDefault(i => i.OrganizationID == organization.OrganizationID)); Student.RelOrganizations.Remove(Student.RelOrganizations.SingleOrDefault(i => i.OrganizationID == organization.OrganizationID)); Student.Organizations.Remove(Student.Organizations.SingleOrDefault(i => i.OrganizationID == organization.OrganizationID)); Organizations.Add(_organizationsRepository.GetOrganization(organization.OrganizationID)); } if (Organizations.Count != 0) { SelectedGroupId = Organizations.FirstOrDefault().OrganizationID; } else { SelectedGroupId = new Guid(); } AddGroupCommand.RaiseCanExecuteChanged(); }
/// <summary> /// Joining user to a group or organization. Inherited from <see cref="IDraggableUser"/> /// </summary> /// <param name="vm"></param> public void Join(ViewModelBase vm) { if (vm is GroupViewModel groupVm) { if (groupVm.Users.FirstOrDefault(u => u.UserId == UserId) != null) { return; } groupVm.Users.Add(this); Groups.Add(groupVm); RaisePropertyChanged("Groups"); } else if (vm is OrganizationViewModel orgVm) { if (orgVm.Users.FirstOrDefault(u => u.UserId == UserId) != null) { return; } orgVm.Users.Add(this); Organizations.Add(orgVm); RaisePropertyChanged("Organizations"); } }
protected void btnAdd_Click(Object Sender, EventArgs e) { if (Request.Form[hdnId.UniqueID] == "0") { oOrganization.Add(txtName.Text, txtCode.Text, Int32.Parse(Request.Form[hdnUser.UniqueID]), (chkDisc.Checked ? 1 : 0), (chkEnabled.Checked == true ? 1 : 0)); } else { oOrganization.Update(Int32.Parse(Request.Form[hdnId.UniqueID]), txtName.Text, txtCode.Text, Int32.Parse(Request.Form[hdnUser.UniqueID]), (chkDisc.Checked ? 1 : 0), (chkEnabled.Checked == true ? 1 : 0)); } if (Request.Form[hdnOrder.UniqueID] != "") { string strOrder = Request.Form[hdnOrder.UniqueID]; int intCount = 0; while (strOrder != "") { intCount++; int intId = Int32.Parse(strOrder.Substring(0, strOrder.IndexOf("&"))); strOrder = strOrder.Substring(strOrder.IndexOf("&") + 1); oOrganization.UpdateOrder(intId, intCount); } } Response.Redirect(Request.Path); }
public static void CreateUngPiratUptakeMap() { string svg = string.Empty; string legendTemplate = string.Empty; using ( StreamReader reader = new StreamReader("content/se-up-uptake-municipalities-template.svg", Encoding.Default)) { svg = reader.ReadToEnd(); } using ( StreamReader reader = new StreamReader("content/se-up-uptakemap-legend-template.txt", Encoding.Default)) { legendTemplate = reader.ReadToEnd(); } Organizations effectiveOrgs = new Organizations(); Organizations possibleOrgs = Organization.FromIdentity(2).GetTree(); foreach (Organization org in possibleOrgs) { if (org.AcceptsMembers && org.AutoAssignNewMembers) { effectiveOrgs.Add(org); } } string legend = string.Empty; effectiveOrgs.Sort(); Dictionary<int, string> colorLookup = new Dictionary<int, string>(); int position = 0; float curLight = .35f; float curSaturation = 1f; foreach (Organization org in effectiveOrgs) { curLight += .25f; if (curLight > .85f) { curLight = .35f; } else if (curLight > .8f) { curLight = .75f; } curSaturation = 1.45f - curSaturation; Color color = ColorFromAhsb(128, (float) position*360/(float) effectiveOrgs.Count, curSaturation, curLight); if (org.CatchAll) { color = Color.FromArgb(240, 240, 240); } string colorString = String.Format("#{0:x2}{1:x2}{2:x2}", color.R, color.G, color.B); colorLookup[org.Identity] = colorString; string orgLegend = legendTemplate. Replace("%%NAME%%", Encoding.Default.GetString(Encoding.UTF8.GetBytes(org.NameShort))). Replace("%%YPOS%%", (position*17).ToString()). Replace("%%COLOR%%", colorString). Replace("%%GROUPID%%", "org" + org.Identity.ToString()); legend += orgLegend; position++; } Mappery mappery = new Mappery(); mappery.OrgColorLookup = colorLookup; // Ugly way to transfer data to delegate svg = svg.Replace("<!--%%LEGEND%%-->", legend); Regex regex = new Regex("(?<start>\\<path.+?fill:)(?<color>.+?)(?<middle>;.+?id=\\\")(?<id>.+?)(?<end>\\\".+?/\\>)", RegexOptions.Singleline); MatchEvaluator matchEvaluator = new MatchEvaluator(mappery.UPUptakeLookupReplacer); Persistence.Key["OrgUptakeMap-2"] = regex.Replace(svg, matchEvaluator); }
public void AddOrganization(string organizationName) { Organizations.Add(organizationName, new Dictionary <string, Dictionary <string, Dictionary <string, Dictionary <string, string> > > >()); LatestOrganizationName = organizationName; }
public void IncludeInOrganization(Organization organization) { Organizations.Add(organization); }
protected void Page_Load(object sender, EventArgs e) { int currentUserId = Convert.ToInt32(HttpContext.Current.User.Identity.Name); Person currentUser = Person.FromIdentity(currentUserId); this.ListOpenExpenses.PersonId = currentUserId; // Get currently expensed amount ExpenseClaims expenseClaims = ExpenseClaims.FromClaimingPerson(currentUser); decimal totalOpen = 0.0m; foreach (ExpenseClaim expense in expenseClaims) { if (expense.Open) { totalOpen += expense.Amount; } } if (totalOpen > 0) { this.LabelOpenExpensesParagraph.Text = String.Format(LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.Open.IntroParagraph", "This is a list of your filed but still open expenses, currently totalling {0:N2}. They will be removed from this list when the treasurer has received your receipts and reimbursed the amount."), totalOpen); } else { this.LabelOpenExpensesParagraph.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.Open.IntroParagraph", "When you have open expenses, this section lists them."); } if (!Page.IsPostBack) { // Init this.TextExpenseBy.Text = currentUser.Name; // Populate list of organizations (initial population) Organizations organizationList = currentUser.GetAuthority().GetOrganizations(RoleTypes.AllRoleTypes); organizationList = organizationList.RemoveRedundant(); organizationList.Add(Organization.Sandbox); foreach (Organization organization in organizationList) { Organizations organizationTree = organization.GetTree(); foreach (Organization organizationOption in organizationTree) { DropOrganizations.Items.Add(new ListItem(organizationOption.NameShort, organizationOption.OrganizationId.ToString())); } } PopulateGeographies(); // Localize this.LabelNewExpenseParagraph.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.IntroParagraph", "To file an expense:<ul><li>Take the receipt and affix it to an A4 size paper. </li><li>Select the organization and geography that should be charged</li><li>Write the receipt date and a good short description</li><li>Press Claim Expense. </li><li>You will be asked to mark the receipt with a number and send it to the treasurer.<br><b>Note the number and the address, they will only be shown at this time!</B> </li></ul>Don't forget to specify your bank account details (in your member profile)."); this.LabelExpenseBy.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.ExpensingPersonName", "Expensed By") + " "; this.LabelOrganization.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.Organization", "Organization") + " "; this.LabelGeography.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.Geography", "Geography") + " "; this.LabelDate.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.Date", "Expense Date") + " "; this.LabelDescription.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.Description", "Description") + " "; this.LabelAmount.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.Amount", "Amount (incl VAT)") + " "; this.ButtonClaimExpense.Text = LocalizationManager.GetLocalString("Interface.Pages.ActivePirate.Expenses.New.ButtonClaim", "Claim Expense"); // Set focus this.TextDate.Focus(); } }
public ScientistModel(Scientist scientist, bool downloadEntityDates = true) { Scientist = scientist; if (downloadEntityDates) { List <Conference> conferences = ScientistService.GetConferences(Scientist); foreach (Conference c in conferences) { Conferences.Add(new ConferenceModel(c, false)); } foreach (Report r in Scientist.Reports) { Reports.Add(new ReportModel(r)); } List <Organization> organizations = ScientistService.GetOrganizations(Scientist); foreach (Organization o in organizations) { Organizations.Add(new OrganizationModel(o, false)); } } Conferences.CollectionChanged += (o, e) => { if (e.Action.ToString().Equals("Add")) { ConferenceModel cm = null; foreach (ConferenceModel cmo in e.NewItems) { cm = cmo; } ScientistService.AddConference(Scientist, cm.Conference); } else if (e.Action.ToString().Equals("Remove")) { ConferenceModel cm = null; foreach (ConferenceModel cmo in e.OldItems) { cm = cmo; } ScientistService.RemoveConference(Scientist, cm.Conference); } OnPropertyChanged("Conferences"); }; Reports.CollectionChanged += (o, e) => { if (e.Action.ToString().Equals("Add")) { ReportModel rm = null; foreach (ReportModel rem in e.NewItems) { rm = rem; } ScientistService.AddReport(Scientist, rm.Report); } else if (e.Action.ToString().Equals("Remove")) { ReportModel rm = null; foreach (ReportModel rem in e.OldItems) { rm = rem; } ScientistService.RemoveReport(Scientist, rm.Report); } OnPropertyChanged("Reports"); OnPropertyChanged("ReportsCount"); }; Organizations.CollectionChanged += (o, e) => { if (e.Action.ToString().Equals("Add")) { OrganizationModel om = null; foreach (OrganizationModel orm in e.NewItems) { om = orm; } ScientistService.AddOrganization(Scientist, om.Organization); } else if (e.Action.ToString().Equals("Remove")) { OrganizationModel om = null; foreach (OrganizationModel orm in e.OldItems) { om = orm; } ScientistService.RemoveOrganization(Scientist, om.Organization); } OnPropertyChanged("Organizations"); }; }
public IJsonResponse <unit> Send([JsonRequestBody] JS.SpecialistRegistrationRequest request) { var res = from req in request.MaybeDefined() where Maybe.Holds(!req.firstName.NullOrEmpty()).OrFail("Имя не указано.") where Maybe.Holds(!req.lastName.NullOrEmpty()).OrFail("Отчество не указано.") where Maybe.Holds(!req.city.NullOrEmpty()).OrFail("Город не указан.") where Maybe.Holds(!req.resume.NullOrEmpty()).OrFail("Краткое резюме не заполнено.") where Maybe.Holds(!req.regions.NullOrEmpty()).OrFail("Укажите хотя бы один регион.") let professionIDs = req.professions.EmptyIfNull() let specializationIDs = req.specializations.EmptyIfNull() from created in Specialists.Add(new Specialist { Approved = false, FirstName = req.firstName, LastName = req.lastName, PatronymicName = req.patronymicName, Resume = req.resume, ContactEmail = req.contactEmail, PublicEmail = req.publicEmail, ContactPhone = req.publicPhone, // We don't ask for contact phone right now PublicPhone = req.publicPhone, Url = req.url, City = req.city, Regions = Regions.All.Where(r => req.regions.Contains(r.ID)).ToList(), Organization = req.organization.NullOrEmpty() ? null : Organizations.All.FirstOrDefault(x => x.Name == req.organization) ?? Organizations.Add(new Organization { Name = req.organization }), Professions = Professions.All.Where(p => professionIDs.Contains(p.Id)).ToList(), ProfessionDescription = req.professionDescription, Specializations = Specializations.All.Where(s => specializationIDs.Contains(s.Id)).ToList(), SpecializationDescription = req.specializationDescription, Experience = ExperienceBrackets.Find(req.experience), ExperienceDescription = req.experienceDescription, FormalEducation = req.formalEducation, MusicTherapyEducation = req.musicTherapyEducation, Photo = Files.Find(req.photo) }) where Maybe.Holds(created.Regions.EmptyIfNull().Any()).OrFail("Регион не указан.") where Maybe.Holds(!created.Professions.NullOrEmpty()).OrFail("Профессия не указана.") where Maybe.Holds(!created.Specializations.NullOrEmpty()).OrFail("Специализация не указана.") from _ in Maybe.Do(UnitOfWork.Commit) select unit.Default; return(res.LogErrors(Log.Error).AsJsonResponse()); }
internal static void ProcessAddedMember (BasicPWEvent newPwEvent) { // This function handles the case when a new member has been added. Several things are hardcoded // for UP at this point. Person victim = Person.FromIdentity(newPwEvent.AffectedPersonId); Person perpetrator = Person.FromIdentity(newPwEvent.ActingPersonId); Organizations orgs = new Organizations(); Geography geography = Geography.FromIdentity(newPwEvent.GeographyId); string referrerString = string.Empty; if (newPwEvent.ParameterText.Contains(",")) { string[] eventParts = newPwEvent.ParameterText.Split(','); string[] orgStrings = eventParts[0].Split(' '); foreach (string orgString in orgStrings) { int orgId = 0; if (int.TryParse(orgString, out orgId)) { orgs.Add(Organization.FromIdentity(orgId)); } } if (eventParts.Length > 2) { referrerString = eventParts[2]; } } else { orgs.Add(Organization.FromIdentity(newPwEvent.OrganizationId)); } People concernedPeople = new People(); bool showName = true; foreach (Organization org in orgs) { concernedPeople = concernedPeople.LogicalOr( People.FromIdentities(Roles.GetAllUpwardRoles(org.Identity, newPwEvent.GeographyId))); //Only show name if all orgs allow it if (org.ShowNamesInNotificationsInh == false) showName = false; } //Filter to only get the interested people in this event concernedPeople = ApplySubscription(concernedPeople, NewsletterFeed.TypeID.OfficerNewMembers); string body = "A new member has appeared within your area of authority.\r\n\r\n"; if (showName) { body += "Person: " + victim.Name + "\r\n"; } foreach (Organization org in orgs) { body += "Organization: " + org.Name + "\r\n"; } body += "Geography: " + geography.Name + "\r\n\r\n" + "Event source: " + newPwEvent.EventSource.ToString() + "\r\n"; if (newPwEvent.EventSource == EventSource.SignupPage && referrerString.Length > 0) { body += "Referrer: " + referrerString + "\r\n"; } body += "\r\n"; if (newPwEvent.EventSource == EventSource.PirateWeb) { body += "This member was added manually"; body += " by " + perpetrator.Name + ".\r\n\r\n"; } // Send welcoming mails string mailsSent = MailResolver.CreateWelcomeMail(victim, Organization.FromIdentity(newPwEvent.OrganizationId)); // HACK - should be for all orgs body += "Welcoming automails sent:\r\n" + mailsSent + "\r\nTo add an automatic welcome mail for your organization and geography, " + "go to PirateWeb, Communications, Triggered Automails, Automail type \"Welcome\".\r\n\r\n"; // Add some hardcoded things for UP /* if (organization.Inherits(2)) { int membersTotal = Organization.FromIdentity(2).GetTree().GetMemberCount(); int membersHere = organization.GetMemberCount(); body += "Member count for Ung Pirat SE: " + membersTotal.ToString("#,##0") + "\r\n" + "Member count for " + organization.Name + ": " + membersHere.ToString("#,##0") + "\r\n"; }*/ string orgSubjectLine = string.Empty; foreach (Organization org in orgs) { orgSubjectLine += ", " + org.NameShort; } orgSubjectLine = orgSubjectLine.Substring(2); new MailTransmitter(Strings.MailSenderName, Strings.MailSenderAddress, "New Member: " + (showName ? "[" + victim.Name + "] - " : "") + "[" + orgSubjectLine + "], [" + geography.Name + "]", body, concernedPeople, true).Send(); }
public static int[] PersonsWithRoleInOrg (RoleType roleType, int p, bool includeChildOrgs) { Organizations line = new Organizations(); if (includeChildOrgs) line = Organization.FromIdentity(p).GetLine(); else line.Add(Organization.FromIdentity(p)); BasicPersonRole[] basPersons = SwarmDb.GetDatabaseForReading().GetPeopleWithRoleType(roleType, line.Identities, new int[] { }); List<int> retList = new List<int>(); foreach (BasicPersonRole b in basPersons) retList.Add(b.PersonId); return retList.ToArray(); }
internal static void ProcessExtendedMembership (BasicPWEvent newPwEvent) { // This function handles the case when a membership has been extended for a year. BasicPerson victim = Person.FromIdentity(newPwEvent.AffectedPersonId); BasicPerson perpetrator = Person.FromIdentity(newPwEvent.ActingPersonId); Organization organization = Organization.FromIdentity(newPwEvent.OrganizationId); Geography node = Geography.FromIdentity(newPwEvent.GeographyId); int[] concernedPeopleId = Roles.GetAllUpwardRoles(newPwEvent.OrganizationId, newPwEvent.GeographyId); Organizations orgs = Organizations.FromSingle(organization); bool showName = true; if (organization.ShowNamesInNotificationsInh == false) showName = false; if (newPwEvent.ParameterText.Contains(" ")) { // 2nd-gen: several orgs can be passed orgs = new Organizations(); string[] orgStrings = newPwEvent.ParameterText.Split(' '); foreach (string orgString in orgStrings) { if ((!orgString.Contains(".")) && (!orgString.Contains("/"))) // IP address or SMS { if (orgString.Trim().Length > 0) { orgs.Add(Organization.FromIdentity(Int32.Parse(orgString))); } } } } string orgNames = string.Empty; string body = "A membership was extended within your area of authority.\r\n\r\n" + (showName ? "Person: " + victim.Name + "\r\n" : ""); foreach (Organization org in orgs) { body += "Organization: " + org.Name + "\r\n"; orgNames += ", " + org.NameShort; } orgNames = orgNames.Substring(2); body += "Geography: " + node.Name + "\r\n\r\n" + "Event source: " + newPwEvent.EventSource.ToString() + "\r\n"; People concernedPeople = People.FromIdentities(concernedPeopleId); concernedPeople = ApplySubscription(concernedPeople, NewsletterFeed.TypeID.OfficerNewMembers); new MailTransmitter(Strings.MailSenderName, Strings.MailSenderAddress, "Extended Membership: " + (showName ? "[" + victim.Name + "] - " : "") + "[" + orgNames + "], [" + node.Name + "]", body, concernedPeople, true).Send(); }
protected void Page_Load(object sender, EventArgs e) { this.pagePermissionDefault = new PermissionSet(Permission.CanSeePeople); // Get requested person Person displayedPerson = Person.FromIdentity(Convert.ToInt32("" + Request["id"])); // Authorize bool allowed = _authority.CanSeePerson(displayedPerson) || (_authority.HasRoleAtOrganization(Organization.PPSE, RoleType.OrganizationMemberService, Authorization.Flag.AnyGeographyExactOrganization)); // If they got this far the have been able to see the person. if (!allowed) { ((MasterV4Base)Master).CurrentPageProhibited = true; } // Add very simple confirmation to the AddRole button string confirmText = LocalizationManager.GetLocalString("Interface.Pages.Member.RolesResponsibilities.ConfirmAddRole", "Are you sure you've chosen the correct role for this user?"); this.ButtonAddRoleLocal.OnClientClick = "return confirm('" + confirmText.Replace("'", "\\'") + "');"; this.ButtonAddOrgRole.OnClientClick = "return confirm('" + confirmText.Replace("'", "\\'") + "');"; if (!_authority.HasAnyPermission(Permission.CanEditOrganisationalRoles)) { this.ButtonAddOrgRole.Enabled = false; } if (!_authority.HasAnyPermission(Permission.CanEditLocalRoles)) { this.ButtonAddRoleLocal.Enabled = false; } // If not in viewstate, initialize page if (!this.IsPostBack) { // Fix links // Localize this.labelCurrentMember.Text = displayedPerson.Name + " (#" + displayedPerson.Identity.ToString() + ")"; // Populate list of organizations (initial population) Organizations organizationList = _authority.GetOrganizations(RoleTypes.AllRoleTypes); organizationList = organizationList.RemoveRedundant(); organizationList.Add(Organization.Sandbox); Memberships displayedMemberOf = displayedPerson.GetMemberships(); if (displayedMemberOf.Count < 1) { this.labelCurrentMember.Text += " NOTE! THIS PERSON IS NOT A MEMBER AND CAN NOT HAVE ROLES."; } else { foreach (Organization organization in organizationList) { Organizations organizationTree = organization.GetTree(); foreach (Organization organizationOption in organizationTree) { bool canhave = CheckIsMemberOf(displayedMemberOf, organizationOption); if (canhave) { if (_authority.HasPermission(Permission.CanEditLocalRoles, organizationOption.OrganizationId, -1, Authorization.Flag.AnyGeography)) { DropOrganizationsLocal.Items.Add(new ListItem(organizationOption.NameShort, organizationOption.OrganizationId.ToString())); } if (_authority.HasPermission(Permission.CanEditOrganisationalRoles, organizationOption.OrganizationId, -1, Authorization.Flag.Default)) { DropOrganizationsOrg.Items.Add(new ListItem(organizationOption.NameShort, organizationOption.OrganizationId.ToString())); } } } } } if (DropOrganizationsOrg.Items.Count == 0) { AddOrgRolePanel.Visible = false; } else { AddOrgRolePanel.Visible = true; } // Populate nodes PopulateGeographies(); // Populate roles this.DropRolesLocal.Items.Add(new ListItem("Lead (primary PoC)", RoleType.LocalLead.ToString())); this.DropRolesLocal.Items.Add(new ListItem("Second-in-Command", "LocalDeputy")); this.DropRolesLocal.Items.Add(new ListItem("Active (visible)", "LocalActive")); this.DropRolesLocal.Items.Add(new ListItem("Admin (invisible)", "LocalAdmin")); foreach (RoleType r in RoleTypes.AllOrganizationalRoleTypes) { DropRolesOrg.Items.Add(new ListItem(r.ToString(), r.ToString())); } } PersonDetailsPagesMenu.CurrentPage = 2; }
public Organizations OrganisationsWithPermission (Permission perm, RoleType[] roles) { Organizations orgList = GetOrganizations(roles); Organizations retList = new Organizations(); foreach (Organization org in orgList) { if (HasPermission(perm, org.Identity, -1, Authorization.Flag.Default)) if (!retList.Contains(org)) retList.Add(org); } return retList; }
/// <summary> /// Initialization users, groups and organizations collections. Initialization links between these entities /// </summary> private void Fill() { Users.Clear(); FilteredUsers.Clear(); var users = _userService.GetAllSorted(false)?.ToList(); if (users == null || !users.Any()) { return; } users.Sort((u1, u2) => u1.UserName.CompareTo(u2.UserName)); users.ForEach(u => Users.Add(new UserViewModel(u))); FilteredUsers = new ObservableCollection <UserViewModel>(Users); FilteredUsers2 = new ObservableCollection <UserViewModel>(Users); Groups.Clear(); var groups = _groupService.GetAllSortedByName()?.ToList(); if (groups == null || !groups.Any()) { return; } groups.ForEach(g => Groups.Add(new GroupViewModel(g))); foreach (var u in Users) { var gs = _groupService.GetAllByUserId(u.UserId)?.ToList(); if (gs == null || !gs.Any()) { continue; } gs.ForEach(g => { var groupViewModel = Groups.FirstOrDefault(gVm => gVm.GroupId == g.GroupId); if (groupViewModel == null) { return; } u.Groups.Add(groupViewModel); groupViewModel.Users.Add(u); }); } Organizations.Clear(); var organizations = _organizationService.GetAll()?.ToList(); if (organizations == null || !organizations.Any()) { return; } organizations.ForEach(o => Organizations.Add(new OrganizationViewModel(o))); foreach (var u in Users) { var orgs = _organizationService.GetByUserId(u.UserId)?.ToList(); if (orgs == null || !orgs.Any()) { continue; } orgs.ForEach(o => { var orgViewModel = Organizations.FirstOrDefault(oVm => oVm.OrganizationId == o.Id); if (orgViewModel == null) { return; } u.Organizations.Add(orgViewModel); orgViewModel.Users.Add(u); }); } }
internal static void ProcessLostMember (BasicPWEvent newPwEvent) { // This function handles the case when a member was purged from the database. Several things are hardcoded // for UP at this point. Person victim = Person.FromIdentity(newPwEvent.AffectedPersonId); Organizations orgs = new Organizations(); Geography geography = Geography.FromIdentity(newPwEvent.GeographyId); string[] orgStrings = newPwEvent.ParameterText.Split(' '); foreach (string orgString in orgStrings) { int orgId = Int32.Parse(orgString); orgs.Add(Organization.FromIdentity(orgId)); } People concernedPeople = new People(); bool showName = true; foreach (Organization org in orgs) { concernedPeople = concernedPeople.LogicalOr( People.FromIdentities(Roles.GetAllUpwardRoles(org.Identity, newPwEvent.GeographyId))); //Only show name if all orgs allow it if (org.ShowNamesInNotificationsInh == false) showName = false; } concernedPeople = ApplySubscription(concernedPeople, NewsletterFeed.TypeID.OfficerNewMembers); string body = "A member was lost within your area of authority.\r\n\r\n"; if (showName) { body += "Person: " + victim.Name + "\r\n"; } foreach (Organization org in orgs) { body += "Organization: " + org.Name + "\r\n"; } body += "Geography: " + geography.Name + "\r\n\r\n" + "Event source: " + newPwEvent.EventSource.ToString() + "\r\n\r\n"; string orgSubjectLine = string.Empty; foreach (Organization org in orgs) { orgSubjectLine += ", " + org.NameShort; } orgSubjectLine = orgSubjectLine.Substring(2); new MailTransmitter(Strings.MailSenderName, Strings.MailSenderAddress, "Member Lost: " + (showName ? "[" + victim.Name + "] - " : "") + "[" + orgSubjectLine + "], [" + geography.Name + "]", body, concernedPeople, true).Send(); }
public void TryAdd(FilterItemType type, object value) { if (value == null) { return; } switch (type) { case FilterItemType.Category: if (!Categories.Contains(value.ToString())) { Categories.Add(value.ToString()); } break; case FilterItemType.Level: if (!Levels.Contains(value.ToString())) { Levels.Add(value.ToString()); } break; case FilterItemType.Operation: if (!Operations.Contains(value.ToString())) { Operations.Add(value.ToString()); } break; case FilterItemType.Organization: if (!Organizations.Contains(value.ToString())) { Organizations.Add(value.ToString()); } break; case FilterItemType.Process: if (!Processes.Contains(value.ToString())) { Processes.Add(value.ToString()); } break; case FilterItemType.ReqId: if (!RequestIds.Contains(value.ToString())) { RequestIds.Add(value.ToString()); } break; case FilterItemType.Thread: if (!Threads.Contains(value.ToString())) { Threads.Add(value.ToString()); } break; default: if (Users.All(u => u.Id != ((UserInfo)value).Id)) { Users.Add((UserInfo)value); } break; } }
public static void CreateUngPiratUptakeMap() { string svg = string.Empty; string legendTemplate = string.Empty; using ( StreamReader reader = new StreamReader("content/se-up-uptake-municipalities-template.svg", Encoding.Default)) { svg = reader.ReadToEnd(); } using ( StreamReader reader = new StreamReader("content/se-up-uptakemap-legend-template.txt", Encoding.Default)) { legendTemplate = reader.ReadToEnd(); } Organizations effectiveOrgs = new Organizations(); Organizations possibleOrgs = Organization.FromIdentity(2).GetTree(); foreach (Organization org in possibleOrgs) { if (org.AcceptsMembers && org.AutoAssignNewMembers) { effectiveOrgs.Add(org); } } string legend = string.Empty; effectiveOrgs.Sort(); Dictionary <int, string> colorLookup = new Dictionary <int, string>(); int position = 0; float curLight = .35f; float curSaturation = 1f; foreach (Organization org in effectiveOrgs) { curLight += .25f; if (curLight > .85f) { curLight = .35f; } else if (curLight > .8f) { curLight = .75f; } curSaturation = 1.45f - curSaturation; Color color = ColorFromAhsb(128, (float)position * 360 / (float)effectiveOrgs.Count, curSaturation, curLight); if (org.CatchAll) { color = Color.FromArgb(240, 240, 240); } string colorString = String.Format("#{0:x2}{1:x2}{2:x2}", color.R, color.G, color.B); colorLookup[org.Identity] = colorString; string orgLegend = legendTemplate. Replace("%%NAME%%", Encoding.Default.GetString(Encoding.UTF8.GetBytes(org.NameShort))). Replace("%%YPOS%%", (position * 17).ToString()). Replace("%%COLOR%%", colorString). Replace("%%GROUPID%%", "org" + org.Identity.ToString()); legend += orgLegend; position++; } Mappery mappery = new Mappery(); mappery.OrgColorLookup = colorLookup; // Ugly way to transfer data to delegate svg = svg.Replace("<!--%%LEGEND%%-->", legend); Regex regex = new Regex("(?<start>\\<path.+?fill:)(?<color>.+?)(?<middle>;.+?id=\\\")(?<id>.+?)(?<end>\\\".+?/\\>)", RegexOptions.Singleline); MatchEvaluator matchEvaluator = new MatchEvaluator(mappery.UPUptakeLookupReplacer); Persistence.Key["OrgUptakeMap-2"] = regex.Replace(svg, matchEvaluator); }