private void GroupSelected_Click(object sender, RoutedEventArgs e) { if (selectedObjects.Count <= 1) { return; } var group = new CustomGroup(selectedObjects); group.Select(); morphWindow?.ClearObjects(); selectedObjects.Clear(); selectedObjects.Add(group); }
/// <summary>Creates a new custom group</summary> /// <param name="organisationId"></param> /// <param name="customGroup"></param> /// <returns></returns> public async Task <long> AddCustomGroupAsync(long organisationId, CustomGroup customGroup) { var request = GetRequest(APIControllerRoutes.CustomGroupsController.ADDCUSTOMGROUP, HttpMethod.Post); request.AddUrlSegment("organisationId", organisationId.ToString()); request.AddJsonBody(customGroup); var response = await ExecuteAsync(request).ConfigureAwait(false); var idHeaderVal = GetResponseHeader(response.Headers, "customgroupid"); long customGroupId; if (!long.TryParse(idHeaderVal, out customGroupId) || customGroupId == 0) { throw new Exception("Could not determine the id of the newly-created group"); } return(customGroupId); }
public static void CreateUserCustomGroup(UserCustomGroup userGroup, CustomGroup customGroup, IEnumerable <AdPack> adPackList, Member user, string name, string description, string videoURL = "", string email = "", string skype = "", string phoneNumber = "", string facebookURL = "") { userGroup.CreatorUserId = user.Id; userGroup.Name = name; userGroup.Description = description; if (!string.IsNullOrWhiteSpace(videoURL)) { userGroup.PromoUrl = videoURL; } if (!string.IsNullOrWhiteSpace(email)) { userGroup.Email = email; } if (!string.IsNullOrWhiteSpace(skype)) { userGroup.Skype = skype; } if (!string.IsNullOrWhiteSpace(phoneNumber)) { userGroup.PhoneNumber = phoneNumber; } if (!string.IsNullOrWhiteSpace(facebookURL)) { userGroup.FacebookUrl = facebookURL; } userGroup.CustomGroupId = customGroup.Id; userGroup.AdPacksAdded = adPackList.Count(); userGroup.GotBonus = false; userGroup.Save(); foreach (AdPack adpack in adPackList) { adpack.UserCustomGroupId = userGroup.Id; adpack.Save(); } }
private void menuitem_Click(object sender, RoutedEventArgs e) { if (this.GetSelectedNode() != null) { SelfDepartmentStaffNode staff = this.GetSelectedNode(); if (staff != null) { CustomGroup group = (sender as MenuItem).Tag as CustomGroup; CustomGroupManagerWindowViewModel viewModel = CustomGroupManagerWindowViewModel.GetInstance(); viewModel.AddMemberToCustomGroup((int)this.sessionService.Uid, group.GroupID, this.GetMembers(group) + staff.Staff.Uid + ":", staff.Staff.Uid.ToString()); if (DataModel.Instance.CustomeGroupName[group.GroupID].Members == null) { DataModel.Instance.CustomeGroupName[group.GroupID].Members = new System.Collections.Generic.List <Staff>(); } DataModel.Instance.CustomeGroupName[group.GroupID].Members.Add(staff.Staff); } } }
private string GetMembers(CustomGroup c) { string result = string.Empty; string result2; if (c == null || c.Members == null) { result2 = result; } else { foreach (Staff item in c.Members) { result = result + item.Uid + ":"; } result2 = result; } return(result2); }
public ActionResult EditCustomGroup(CustomGroup customGroup) { var acResponse = new ActivityResponse(); try { if (customGroup.TableId < 1 || string.IsNullOrEmpty(customGroup.CustomGroupId)) { acResponse.Code = -1; acResponse.Message = "An unknown error was encountered. Please try again."; return(Json(acResponse, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrEmpty(customGroup.GroupName)) { acResponse.Code = -1; acResponse.Message = "Please provide custom Group Name"; return(Json(acResponse, JsonRequestBehavior.AllowGet)); } if (customGroup.TabIndex < 1) { acResponse.Code = -1; acResponse.Message = "Please provide Custom Group TabIndex"; return(Json(acResponse, JsonRequestBehavior.AllowGet)); } _customGroupService.Update(customGroup); _unitOfWork.SaveChanges(); acResponse.Code = 5; acResponse.Message = "Custom Group was successfully updated"; return(Json(acResponse, JsonRequestBehavior.AllowGet)); } catch (Exception e) { acResponse.Code = -1; acResponse.Message = "An unknown error was encountered. Please try again."; return(Json(acResponse, JsonRequestBehavior.AllowGet)); } }
private void Addmember2Group(string members) { if (DataModel.Instance.CustomeGroupName.ContainsKey(this.groupId)) { CustomGroup group = DataModel.Instance.CustomeGroupName[this.groupId]; if (group != null) { if (group.Members != null) { System.Text.StringBuilder strAll = new System.Text.StringBuilder(); foreach (Staff s in group.Members) { if (s.Uid != ServiceUtil.Instance.SessionService.Uid) { strAll.Append(s.Uid + ":"); } } CustomGroupManagerWindowViewModel.GetInstance().AddMemberToCustomGroup((int)ServiceUtil.Instance.SessionService.Uid, this.groupId, strAll.ToString(), members); } } } }
private void InitialToBox(string groupid) { if (DataModel.Instance.CustomeGroupName.ContainsKey(groupid)) { CustomGroup item = DataModel.Instance.CustomeGroupName[groupid]; if (item.GroupID == groupid && item.Members != null && item.Members.Count > 0) { foreach (Staff staff in item.Members) { if (staff != null && !this.IsExist(staff)) { CustomMemberItem citem = new CustomMemberItem(CustomMemberType.Delete); citem.DataContext = staff; citem.tbkAccount.Text = staff.Name; citem.imgHead.Source = staff.HeaderImage; citem.ItemDelete += new System.EventHandler(this.item_ItemDelete); this.lstBoxTo.Items.Add(citem); } } } } }
void GroupChanged(object source, FileSystemEventArgs e) { if (e.ChangeType == WatcherChangeTypes.Created || e.ChangeType == WatcherChangeTypes.Changed) { LoadGroupFile(e.FullPath.FixPath()); } else if (e.ChangeType == WatcherChangeTypes.Deleted) { foreach (string key in Groups.Keys) { CustomGroup group = Groups[key]; if (group.Path.FixPath() == e.FullPath.FixPath()) { Groups.Remove(key); break; } } } else { Log("[MissionMaker] Unhandled change type encountered: " + e.ChangeType.ToString()); } }
private void btnOk_Click(object sender, RoutedEventArgs e) { if (!DataModel.Instance.CustomeGroupName.ContainsKey(this.groupId)) { base.Close(); } else { CustomGroup group = DataModel.Instance.CustomeGroupName[this.groupId]; if (group != null) { if (group.Members == null) { group.Members = new System.Collections.Generic.List <Staff>(); } else { group.Members.Clear(); } System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (this.lstBoxTo.Items.Count != 0) { foreach (ListBoxItem item in (System.Collections.IEnumerable) this.lstBoxTo.Items) { Staff staff = item.DataContext as Staff; if (staff != null && !group.Members.Contains(staff) && staff.Uid != ServiceUtil.Instance.SessionService.Uid) { group.Members.Add(staff); sb.Append(staff.Uid + ":"); } } } this.Addmember2Group(sb.ToString()); } base.Close(); } }
/// <summary> /// 构造方法 /// </summary> /// <param name="parent">所属的TagGroup对象</param> /// <param name="node">Tag属性的Xml节点</param> public CustomTag(CustomGroup parent, XmlNode node) { _log = Logger.Get <CustomTag>(); _parent = parent ?? throw new Exception("parent对象不能是空值"); if (node == null) { throw new Exception("node对象不能是空值"); } if (node.Name.ToUpper() != "TAG") { throw new Exception($"Xml节点[{node.Name}]不是\"Tag\""); } if (node.Attributes["Name"] == null) { throw new Exception($"{node.Name}节点中未找到[Name]属性,请注意属性名的大小写"); } Name = node.Attributes["Name"].Value; if (node.Attributes["Type"] == null) { Type = TagType.A; } else { try { Type = (TagType)Enum.Parse(typeof(TagType), node.Attributes["Type"].Value); } catch { throw new Exception($"不支持Type={node.Attributes["Type"].Value}的类型"); } } }
protected void CreateGroupButton_Click(object sender, EventArgs e) { SPanel.Visible = false; EPanel.Visible = false; try { if (!AdPacksPlaceHolder.Visible) { throw new MsgException(U4200.YOUMUSTCLOSEGROUPS); } int userGroupId = Convert.ToInt32(GroupsAvailableToOpen.SelectedValue); int numberOfAdPacks = 0; try { numberOfAdPacks = Convert.ToInt32(AdPacksTextBox.Text); } catch (Exception ex) { throw new MsgException(U4000.BADFORMAT); } if (numberOfAdPacks <= 0) { throw new MsgException(U4200.CANTBUYZEROADPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackName)); } var customGroup = new CustomGroup(userGroupId); var usersHighestClosedNumber = CustomGroupManager.GetUsersHighestClosedGroup(User); var allAdPacksList = AdPackManager.GetUsersActiveAdPacksForGroups(User.Id, customGroup); IEnumerable <AdPack> adPacksList = (from a in allAdPacksList select a).Take(numberOfAdPacks); if (adPacksList.Count() < numberOfAdPacks) { throw new MsgException(U4200.NOTENOUGHADPACKSAVAILABLEFORGROUPS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural)); } //HAS USER CLOSED A GROUP WITH A LOWER NUMBER? if (customGroup.Number > usersHighestClosedNumber + 1) { throw new MsgException(U4200.CANTCREATEGROUPOFTHISTYPE); } //MIN NUMBER OF PACKS TO CREATE if (customGroup.CreatorsMinNumberOfAdPacks > numberOfAdPacks) { throw new MsgException(U4200.MOREADPACKSREQUIRED.Replace("%n%", customGroup.CreatorsMinNumberOfAdPacks.ToString()).Replace("%p%", AppSettings.RevShare.AdPack.AdPackNamePlural)); } //NUMBER OF PACKS TO CLOSE if (customGroup.AdPacksLimit < numberOfAdPacks) { throw new MsgException(U4200.TOOMANYPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural) + " " + customGroup.AdPacksLimit); } //MAX OPEN INSTANCES if (CustomGroupManager.GetNumberOfUsersCustomGroupInstances(User.Id, customGroup.Id) >= customGroup.NumberOfGroupsLimit) { throw new MsgException("You cannot exceed your group open instances limit"); } //MAX ADMIN ADPACKS if (customGroup.CreatorsMaxNumberOfAdPacks < numberOfAdPacks) { throw new MsgException(U4200.TOOMANYPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural) + " " + customGroup.CreatorsMaxNumberOfAdPacks); } string name = GroupNameTextBox.Text; string description = GroupDescriptionTextBox.Text; string videoURL = PromoUrlTextBox.Text; string email = EmailTextBox.Text; string skype = SkypeTextBox.Text; string phoneNumber = PhoneNumberTextBox.Text; string facebookURL = FacebookUrlTextBox.Text; if (!string.IsNullOrWhiteSpace(facebookURL) && !facebookURL.Contains("facebook.com")) { throw new MsgException(L1.ER_BADURL); } //IFRAME VALID? if (!string.IsNullOrWhiteSpace(videoURL) && !UrlVerifier.IsIframeValid(videoURL)) { throw new MsgException(U4200.INVALIDIFRAME); } CustomGroupManager.CreateUserCustomGroup(NewCustomGroup, customGroup, adPacksList, User, name, description, videoURL, email, skype, phoneNumber, facebookURL); SPanel.Visible = true; string groupUrl = string.Format("{0}user/advert/groups/customgroup.aspx?g={1}", AppSettings.Site.Url, NewCustomGroup.Id); SText.Text = U4200.CREATEGROUPSUCCESS.Replace("%n%", name).Replace("%p%", numberOfAdPacks + " " + AppSettings.RevShare.AdPack.AdPackNamePlural).Replace("%u%", "<br/>" + groupUrl); if (NewCustomGroup.AdPacksAdded >= customGroup.AdPacksLimit) { if (AppSettings.RevShare.AdPack.CustomReturnOption == CustomReturnOption.Increase) { CustomGroupManager.IncreaseAdPacksReturnAmountInClosedGroup(customGroup, NewCustomGroup); } SText.Text += "<br/>" + U5001.CREATORCLOSECUSTOMGROUPSUCCESS.Replace("%a%", AppSettings.RevShare.AdPack.AdPackName) .Replace("%b%", (customGroup.AcceleratedProfitPercentage).ToString()); NewCustomGroup.Status = CustomGroupStatus.Active; } else { NewCustomGroup.Status = CustomGroupStatus.InProgress; } NewCustomGroup.Save(); BindToGroupsAvailableToOpenRadio(); UpdateAvailableAdPacks(); ClearControls(); } catch (MsgException ex) { EPanel.Visible = true; EText.Text = ex.Message; } catch (Exception ex) { ErrorLogger.Log(ex); } }
/// <summary> /// Create Plan and at least one Plan sign in. /// </summary> /// <param name="CustomGroup"></param> /// <returns></returns> public CustomGroup CreateCustomGroup(CustomGroup CustomGroup) { ctx.CustomGroup.Add(CustomGroup); ctx.SaveChanges(); return(CustomGroup); }
public override void DataBind() { base.DataBind(); CustomGroup customGroup = new CustomGroup(userCustomGroup.CustomGroupId); JoinGroupButton.Text = U4200.JOINGROUP; LeaveGroupButton.Text = U4200.LEAVEGROUP; Button1.Text = userCustomGroup.Name; Button2.Text = U4200.JOINLEAVE; string groupURL = AppSettings.Site.Url + "user/advert/groups/customgroup.aspx?g=" + userCustomGroup.Id; GroupURL.Text = String.Format("<a href='{0}'>{0}</a>", groupURL); GroupNameLiteral.Text = userCustomGroup.Name; PacksLeftLiteral.Text = PacksLeftLiteral2.Text = HtmlCreator.GenerateCPAAdProgressHTML(userCustomGroup.AdPacksAdded, customGroup.AdPacksLimit, AppSettings.RevShare.AdPack.AdPackNamePlural); if (userCustomGroup.AdPacksAdded < customGroup.AdPacksLimit) { OpenGroupPlaceholder.Visible = true; ClosedGroupPlaceHolder.Visible = false; } else { OpenGroupPlaceholder.Visible = false; ClosedGroupPlaceHolder.Visible = true; } GroupDescriptionLiteral.Text = userCustomGroup.Description; VideoImagePlaceholder.Style.Add("max-height", GroupStyles.maxPictureHeight.ToString() + "px"); VideoImagePlaceholder.Style.Add("max-width", GroupStyles.maxPictureWidth.ToString() + "px"); if (!string.IsNullOrWhiteSpace(userCustomGroup.PromoUrl)) { VideoPanel.Visible = true; VideoLiteral.Text = userCustomGroup.PromoUrl; ImagePanel.Visible = false; } if (!string.IsNullOrWhiteSpace(userCustomGroup.ImagePath)) { ImagePanel.Visible = true; ImageLiteral.Text = "<img src='" + Page.ResolveUrl(userCustomGroup.ImagePath) + "'></img>"; VideoPanel.Visible = false; } if (!string.IsNullOrWhiteSpace(userCustomGroup.Email)) { EmailPlaceHolder.Visible = true; EmailLiteral.Text = userCustomGroup.Email; } if (!string.IsNullOrWhiteSpace(userCustomGroup.Skype)) { SkypePlaceHolder.Visible = true; SkypeLiteral.Text = userCustomGroup.Skype; } if (!string.IsNullOrWhiteSpace(userCustomGroup.PhoneNumber)) { PhonePlaceHolder.Visible = true; PhoneLiteral.Text = userCustomGroup.PhoneNumber; } if (!string.IsNullOrWhiteSpace(userCustomGroup.FacebookUrl)) { FacebookPlaceHolder.Visible = true; FacebookLiteral.Text = string.Format("<a href='{0}'>{1}</a>", userCustomGroup.FacebookUrl, userCustomGroup.Name); } if (AppSettings.RevShare.AdPack.RevShareCustomGroupRewardsEnabled && (userCustomGroup.Status == CustomGroupStatus.Active || userCustomGroup.Status == CustomGroupStatus.Expired)) { //Show rewards info RewardInfoPlaceHolder.Visible = true; RewardInfoLiteral.Text = userCustomGroup.BonusExtraInformation; } NameLiteral.Text = MemberManager.getUsersProfileURL(new Member(userCustomGroup.CreatorUserId).Name); ParticipantListLiteral.Text = GetParticipants(); }
private string GetMembers(CustomGroup c) { string result = string.Empty; string result2; if (c == null || c.Members == null) { result2 = result; } else { foreach (Staff item in c.Members) { result = result + item.Uid + ":"; } result2 = result; } return result2; }
/// <summary>Updates the details of a custom group</summary> /// <param name="organisationId"></param> /// <param name="customGroup"></param> /// <returns></returns> public void UpdateCustomGroup(long organisationId, CustomGroup customGroup) { UpdateCustomGroupAsync(organisationId, customGroup).ConfigureAwait(false).GetAwaiter().GetResult(); }
/// <summary>Creates a new custom group</summary> /// <param name="organisationId"></param> /// <param name="customGroup"></param> /// <returns></returns> public long AddCustomGroup(long organisationId, CustomGroup customGroup) { return(AddCustomGroupAsync(organisationId, customGroup).Result); }
public static void AddRemoveUsersAdPacksToCustomGroup(int userId, int numberOfAdPacks, UserCustomGroup userCustomGroup, bool join) { CustomGroup customGroup = new CustomGroup(userCustomGroup.CustomGroupId); if (userId == userCustomGroup.CreatorUserId && !join) { var packsAvailableToWithdraw = AdPackManager.GetUsersActiveAdPacksForGroups(userId, customGroup, userCustomGroup.Id).Count - customGroup.CreatorsMinNumberOfAdPacks; if (numberOfAdPacks > packsAvailableToWithdraw) { throw new MsgException(U4200.NOTENOUGHADPACKSAVAILABLEFORGROUPS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural)); } } List <AdPack> allAdPacksList; if (join) { allAdPacksList = AdPackManager.GetUsersActiveAdPacksForGroups(userId, customGroup, -1); } else { allAdPacksList = AdPackManager.GetUsersActiveAdPacksForGroups(userId, customGroup, userCustomGroup.Id); } //HAS ENOUGH ADPACKS? if (allAdPacksList.Count < numberOfAdPacks) { throw new MsgException(U4200.NOTENOUGHADPACKSAVAILABLEFORGROUPS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural)); } IEnumerable <AdPack> adPacksList = (from a in allAdPacksList select a).Take(numberOfAdPacks); //NUMBER OF PACKS TO CLOSE if (join) { if (customGroup.AdPacksLimit - userCustomGroup.AdPacksAdded < numberOfAdPacks) { throw new MsgException(U4200.TOOMANYPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural) + " " + (customGroup.AdPacksLimit - userCustomGroup.AdPacksAdded)); } //Max number of creator/user adpack limit check var myCurrentAdPacksInThisGroupCount = AdPackManager.GetUsersActiveAdPacksForGroups(userId, customGroup, userCustomGroup.Id).Count; bool IsGroupCreator = userId == userCustomGroup.CreatorUserId; if (IsGroupCreator && myCurrentAdPacksInThisGroupCount + numberOfAdPacks > customGroup.CreatorsMaxNumberOfAdPacks) { throw new MsgException(U4200.TOOMANYPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural) + " " + (customGroup.CreatorsMaxNumberOfAdPacks - myCurrentAdPacksInThisGroupCount)); } if (!IsGroupCreator && myCurrentAdPacksInThisGroupCount + numberOfAdPacks > customGroup.UsersMaxNumberOfAdPacks) { throw new MsgException(U4200.TOOMANYPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackNamePlural) + " " + (customGroup.UsersMaxNumberOfAdPacks - myCurrentAdPacksInThisGroupCount)); } } else { if (customGroup.AdPacksLimit == userCustomGroup.AdPacksAdded) { throw new MsgException("Can't leave closed group"); } } if (join) { userCustomGroup.AdPacksAdded += numberOfAdPacks; foreach (AdPack adpack in adPacksList) { adpack.UserCustomGroupId = userCustomGroup.Id; adpack.Save(); } } else { userCustomGroup.AdPacksAdded -= numberOfAdPacks; foreach (AdPack adpack in adPacksList) { adpack.UserCustomGroupId = -1; adpack.Save(); } } userCustomGroup.Save(); }
private void miAddGroup_Click(object sender, RoutedEventArgs ee) { CustomGroupTreeViewItem item = new CustomGroupTreeViewItem(); item.Style = (base.FindResource("TreeViewItemStyle") as Style); string id = CustomGroup.GetCustomGroupID(); CustomGroup cc = new CustomGroup { Admin = ServiceUtil.Instance.SessionService.Uid, GroupID = id, GroupName = item.HeaderText }; item.DataContext = cc; item.Tag = id; CustomGroupManagerWindowViewModel viewModel = CustomGroupManagerWindowViewModel.GetInstance(); item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e) { if (e.Item != null) { this.inWindow.Employee.FirstTreeView.Items.Add(e.Item); CustomGroup c = e.Item.DataContext as CustomGroup; if (c != null) { DataModel.Instance.CustomeGroupName.Add(c.GroupID, c); viewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, e.Item.HeaderText); } } }; item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e) { DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString()); this.inWindow.Employee.FirstTreeView.Items.Remove(item); viewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString()); }; item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e) { if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString())) { DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText; viewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText); } }; if (this.CreateCustomItemEvent != null) { this.CreateCustomItemEvent(this, new CustomGroupTreeViewItem.CustomEventArgs { Item = item }); } this.SetFocus(item); item.IsSelected = true; }
/// <summary> /// 构造方法 /// </summary> /// <param name="parent">Tag集合隶属的CustomGroup对象</param> public CustomTagCollection(CustomGroup parent) { _parent = parent; }
/// <summary> /// Copy constructor. /// </summary> /// <param name="src">CustomGroup source</param> public CustomGroup(CustomGroup src) : base(src) { }
/// <summary>Creates a new custom group</summary> /// <param name="organisationId"></param> /// <param name="customGroup"></param> /// <returns></returns> public long AddCustomGroup(long organisationId, CustomGroup customGroup) { return(AddCustomGroupAsync(organisationId, customGroup).ConfigureAwait(false).GetAwaiter().GetResult()); }
private void miAddGroup_Click(object sender, RoutedEventArgs e) { CustomGroupTreeViewItem item = new CustomGroupTreeViewItem(); item.Style = (base.FindResource("TreeViewItemStyle") as Style); item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee) { if (ee.Item != null) { this.FirstTreeView.Items.Add(ee.Item); string id = CustomGroup.GetCustomGroupID(); DataModel.Instance.CustomeGroupName.Add(id, new CustomGroup { GroupID = id, GroupName = ee.Item.HeaderText }); this.customGroupManagerViewModel.CreateCustomGroup(this.sessionService.Uid, id, ee.Item.HeaderText); } }; item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee) { DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString()); this.FirstTreeView.Items.Remove(item); this.customGroupManagerViewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString()); }; item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee) { if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString())) { DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText; this.customGroupManagerViewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText); } }; CustomGroup c = new CustomGroup { Admin = this.sessionService.Uid, GroupID = CustomGroup.GetCustomGroupID(), GroupName = item.HeaderText }; item.DataContext = c; item.Tag = c.GroupID; this.FirstTreeView.Items.Add(item); DataModel.Instance.CustomeGroupName.Add(c.GroupID, c); this.customGroupManagerViewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, item.HeaderText); this.SetFocus(item); item.IsSelected = true; }
protected void JoinLeaveGroupButton_Click(object sender, EventArgs e) { SPanel.Visible = false; EPanel.Visible = false; try { int numberOfAdPacks = Convert.ToInt32(AdPacksTextBox.Text); if (numberOfAdPacks <= 0) { throw new MsgException(U4200.CANTBUYZEROADPACKS.Replace("%n%", AppSettings.RevShare.AdPack.AdPackName)); } var TheButton = (Button)sender; if (TheButton.CommandArgument == "true") { CustomGroupManager.AddRemoveUsersAdPacksToCustomGroup(User.Id, numberOfAdPacks, userCustomGroup, true); } else if (TheButton.CommandArgument == "false") { CustomGroupManager.AddRemoveUsersAdPacksToCustomGroup(User.Id, numberOfAdPacks, userCustomGroup, false); } SPanel.Visible = true; if (TheButton.CommandArgument == "true") { SText.Text = U4200.JOINGROUPSUCCESS.Replace("%n%", userCustomGroup.Name).Replace("%p%", numberOfAdPacks + " " + AppSettings.RevShare.AdPack.AdPackNamePlural); } else if (TheButton.CommandArgument == "false") { SText.Text = U4200.LEAVEGROUPSUCCESS.Replace("%n%", numberOfAdPacks.ToString()).Replace("%p%", AppSettings.RevShare.AdPack.AdPackNamePlural); } CustomGroup customGroup = new CustomGroup(userCustomGroup.CustomGroupId); if (userCustomGroup.AdPacksAdded >= customGroup.AdPacksLimit) { if (AppSettings.RevShare.AdPack.CustomReturnOption == CustomReturnOption.Increase) { CustomGroupManager.IncreaseAdPacksReturnAmountInClosedGroup(customGroup, userCustomGroup); } userCustomGroup.Status = CustomGroupStatus.Active; if (AppSettings.RevShare.AdPack.RevShareCustomGroupRewardsEnabled) { GroupRewardManager.Apply(customGroup, userCustomGroup); } } else { userCustomGroup.Status = CustomGroupStatus.InProgress; } userCustomGroup.Save(); UpdateAvailableAdPacks(); DataBind(); } catch (MsgException ex) { EPanel.Visible = true; EText.Text = ex.Message; } catch (Exception ex) { ErrorLogger.Log(ex); } }
private void SetCustomMembers(TreeNodeCustomStaff s, CustomGroup c) { INWindow inWindow = this.dataService.INWindow as INWindow; if (inWindow.Employee.FirstTreeView.Items.Count > 0) { foreach (TreeViewItem item in (System.Collections.IEnumerable)inWindow.Employee.FirstTreeView.Items) { CustomGroupTreeViewItem cust = item as CustomGroupTreeViewItem; if (cust != null && cust.Tag != null) { if (c.GroupID == cust.Tag.ToString()) { foreach (TreeNodeCustomStaff i in (System.Collections.IEnumerable)cust.Items) { if (i.Staff.Uid != s.Staff.Uid) { i.IsBigHead = false; i.ShowSmallHead(); } } } else { foreach (TreeNodeCustomStaff i in (System.Collections.IEnumerable)cust.Items) { i.IsBigHead = false; i.ShowSmallHead(); } } } } } }
private KMComponentPool ConvertPool(CustomMission mission, CustomPool pool) { KMComponentPool componentpool = new KMComponentPool(); string Source = pool.Source; // If no source is specified try to figure out what the user wanted. if (Source == null) { if (pool.Modules != null) { Source = "none"; } else if (pool.Group != null) { Source = "group"; } else if (pool.Pools != null) { Source = "pools"; } else { Log("No source was able to be determined for a pool in the mission located at {0}.", mission.Path); return(null); } } else { Source = Source.ToLowerInvariant(); } if (Source == "group") { if (pool.Group == null) { Log("Source was set to Group but no Group parameter found in mission located at {0}.", mission.Path); return(null); } if (Groups.ContainsKey(pool.Group)) { CustomGroup group = Groups[pool.Group]; pool.Group = null; pool.Source = group.Source; pool.Mods = group.Mods; pool.Base = group.Base; if (pool.Blacklist != null) { pool.Modules = group.Modules.Except(pool.Blacklist).ToList(); } else { pool.Modules = group.Modules; } Source = pool.Source != null?pool.Source.ToLowerInvariant() : "none"; } else { Log("Unable to find group {0} for the mission located at {2}.", pool.Group, mission.Path); } } if (Source == "pools") { if (pool.Pools == null) { Log("Source was set to Pools but no Pools parameter found in mission located at {0}.", mission.Path); return(null); } componentpool.Count = pool.Count; HashSet <string> Modules = new HashSet <string>(); HashSet <KMComponentPool.ComponentTypeEnum> ComponentTypes = new HashSet <KMComponentPool.ComponentTypeEnum>(); foreach (CustomPool pool2 in pool.Pools) { KMComponentPool componentpool2 = ConvertPool(mission, pool2); foreach (string module in componentpool2.ModTypes) { Modules.Add(module); } foreach (KMComponentPool.ComponentTypeEnum module in componentpool2.ComponentTypes) { ComponentTypes.Add(module); } } componentpool.ModTypes = Modules.ToList(); componentpool.ComponentTypes = ComponentTypes.ToList(); if (ComponentTypes.Count > 0 && !(Modules.Count > 0)) { componentpool.AllowedSources = KMComponentPool.ComponentSource.Base; } else if (!(ComponentTypes.Count > 0) && Modules.Count > 0) { componentpool.AllowedSources = KMComponentPool.ComponentSource.Mods; } else { componentpool.AllowedSources = KMComponentPool.ComponentSource.Base | KMComponentPool.ComponentSource.Mods; } componentpool.SpecialComponentType = KMComponentPool.SpecialComponentTypeEnum.None; } if (Source == "none") { if (pool.Modules == null) { Log("Source was set to None but no Modules parameter found in the mission located at {0}.", mission.Path); return(null); } List <string> modded = new List <string>(); List <KMComponentPool.ComponentTypeEnum> vanilla = new List <KMComponentPool.ComponentTypeEnum>(); foreach (string module in pool.Modules) { if (Enum.IsDefined(typeof(KMComponentPool.ComponentTypeEnum), module)) { if (module != "Empty" && module != "Timer") { vanilla.Add((KMComponentPool.ComponentTypeEnum)Enum.Parse(typeof(KMComponentPool.ComponentTypeEnum), module)); } } else { modded.Add(module); } } bool hasModded = modded.Count > 0; if (hasModded) { componentpool.ModTypes = modded; } bool hasVanilla = vanilla.Count > 0; componentpool.ComponentTypes = hasVanilla ? vanilla : new List <KMComponentPool.ComponentTypeEnum>(); if (hasVanilla && !hasModded) { componentpool.AllowedSources = KMComponentPool.ComponentSource.Base; } else if (!hasVanilla && hasModded) { componentpool.AllowedSources = KMComponentPool.ComponentSource.Mods; } else { componentpool.AllowedSources = KMComponentPool.ComponentSource.Base | KMComponentPool.ComponentSource.Mods; } componentpool.SpecialComponentType = KMComponentPool.SpecialComponentTypeEnum.None; } else { if (!pool.Base && !pool.Mods) { Log("A source besides None was used but has both base and mods disabled in the mission located at {0}. Skipping pool.", mission.Path); return(null); } if (pool.Base && !pool.Mods) { componentpool.AllowedSources = KMComponentPool.ComponentSource.Base; } else if (!pool.Base && pool.Mods) { componentpool.AllowedSources = KMComponentPool.ComponentSource.Mods; } else { componentpool.AllowedSources = KMComponentPool.ComponentSource.Base | KMComponentPool.ComponentSource.Mods; } componentpool.ComponentTypes = new List <KMComponentPool.ComponentTypeEnum>(); if (Source == "solvable") { if (pool.Mods) { componentpool.ModTypes = new List <string>(); foreach (KMBombModule module in GetAllModObjects <KMBombModule>()) { if (pool.Blacklist == null || !pool.Blacklist.Contains(module.ModuleType)) { componentpool.ModTypes.Add(module.ModuleType); } } } if (pool.Base) { componentpool.ComponentTypes = new List <KMComponentPool.ComponentTypeEnum>(); foreach (string name in Enum.GetNames(typeof(KMComponentPool.ComponentTypeEnum))) { if (!name.StartsWith("Needy") && name != "Empty" && name != "Timer" && (pool.Blacklist == null || !pool.Blacklist.Contains(name))) { componentpool.ComponentTypes.Add((KMComponentPool.ComponentTypeEnum)Enum.Parse(typeof(KMComponentPool.ComponentTypeEnum), name)); } } } } else if (Source == "needy") { if (pool.Mods) { componentpool.ModTypes = new List <string>(); foreach (KMNeedyModule module in GetAllModObjects <KMNeedyModule>()) { if (pool.Blacklist == null || !pool.Blacklist.Contains(module.ModuleType)) { componentpool.ModTypes.Add(module.ModuleType); } } } if (pool.Base) { componentpool.ComponentTypes = new List <KMComponentPool.ComponentTypeEnum>(); foreach (string name in Enum.GetNames(typeof(KMComponentPool.ComponentTypeEnum))) { if (name.StartsWith("Needy") && (pool.Blacklist == null || !pool.Blacklist.Contains(name))) { componentpool.ComponentTypes.Add((KMComponentPool.ComponentTypeEnum)Enum.Parse(typeof(KMComponentPool.ComponentTypeEnum), name)); } } } } else { Log("Unkown source format of {0} was found in the mission located at {1}.", pool.Source, mission.Path); return(null); } } componentpool.Count = pool.Count; return(componentpool); }
private string GetMembers(CustomGroup item) { string result = string.Empty; if (item.Members != null) { foreach (Staff staff in item.Members) { result = result + staff.Uid + ":"; } } return result; }
public string UserDataSynchronization(string appType) { var Relation = JsonConvert.DeserializeObject <List <tbl_FriendRelation> >(_mysqlDB.GetFriendRelationList(_userService.UserId)); var CustomGroup = JsonConvert.DeserializeObject <List <tbl_FriendGroups> >(_mysqlDB.GetFriendGroupList(_userService.UserId)); if (CustomGroup == null) { CustomGroup = new List <tbl_FriendGroups>(); } CustomGroup.Add(new tbl_FriendGroups { GroupID = Guid.Empty.ToString(), GroupName = "陌生人", GroupCategory = 3, GroupType = 0, GroupImage = "DefaultImg/sytb/default12.png", GroupRemark = "陌生人", GroupUserID = _userService.UserId, GroupDate = DateTime.Now, }); var InitData = new { Data = new { //*用户版本号要大于变更中最后一个版本号 UserVersion = new { UserID = _userService.UserId, Version = 1000 }, UserDataDict = UserDataDict(), DeskTopIcon = DeskTopIcon(appType), FriendGroup = CustomGroup, FriendList = Relation }, Status = 200, Message = "用户数据初始化成功" }; var BaseDirectory = AppDomain.CurrentDomain.BaseDirectory; var FileDirectory = BaseDirectory + "UserData\\" + _userService.UserId; using (FileStream fs = new FileStream(FileDirectory, FileMode.OpenOrCreate)) { //获得字节数组 byte[] data = Encoding.Default.GetBytes(JsonConvert.SerializeObject(InitData)); //开始写入 fs.Write(data, 0, data.Length); //清空缓冲区、关闭流 fs.Flush(); } if (File.Exists(FileDirectory)) { //var cipherText = Request.Headers.GetValues("cipherText").ToList()[0]; //CipherText cipObject = JsonConvert.DeserializeObject<CipherText>(cipherText); new ZipHelper().ZipManyFilesOrDictorys ( new List <string>() { FileDirectory }, FileDirectory + ".zip", _userService.UserId ); File.Delete(FileDirectory); var FileByte = File.ReadAllBytes(FileDirectory + ".zip"); var config = CicadaFacade.Container.Resolve <IConfigurationDataRespository>(); return(config.Get("Cicada.FileSystem.UrlPrefix") + _fileService.Upload(FileByte, "zip")); } return(string.Empty); }