示例#1
0
        public static void Listener(string server, string url, string post)
        {
            if (url != server + "CreateGroup")
            {
                return;
            }

            var createGroupMessage = JsonConvert.DeserializeObject <CreateGroupMessage>(post);

            Client player = AccountController.GetClientFromSocialClub(createGroupMessage.SocialClub);

            if (player == null)
            {
                return;
            }

            Data.Group group = new Data.Group()
            {
                Name      = createGroupMessage.GroupName,
                Type      = createGroupMessage.GroupType,
                ExtraType = createGroupMessage.GroupExtraType
            };
            GroupController GroupController = new GroupController(group);

            API.shared.sendChatMessageToPlayer(player, "You successfully created " + group.Name + " (ID: " + group.Id + ") with type " + GroupController.Type());
        }
示例#2
0
        public async Task ModifyAsync()
        {
            var adminId = (await UserUtils.GetAdmin()).Id;
            var stuId   = (await UserUtils.GetStudent()).Id;

            var group = new Data.Group
            {
                Name   = Guid.NewGuid().ToString(),
                UserId = adminId
            };
            var id = await groupService.CreateGroupAsync(group);

            Assert.AreNotEqual(0, id);

            var studentResult = await groupService.QueryGroupAsync(stuId);

            Assert.IsTrue(studentResult /*.Cacheable()*/.Any(i => i.Id == id && i.Name == group.Name));

            var newName = Guid.NewGuid().ToString();

            group.Name = newName;
            await groupService.UpdateGroupAsync(group);

            studentResult = await groupService.QueryGroupAsync(stuId);

            Assert.IsTrue(studentResult /*.Cacheable()*/.Any(i => i.Id == id && i.Name == group.Name));

            await groupService.RemoveGroupAsync(id);

            studentResult = await groupService.QueryGroupAsync(stuId);

            Assert.IsFalse(studentResult /*.Cacheable()*/.Any(i => i.Id == id));
        }
示例#3
0
        public async Task CreateGroup(CreateGroupViewModel model)
        {
            var groupData = new Data.Group();

            groupData.Name      = model.Name;
            groupData.Type      = model.Type;
            groupData.ExtraType = model.ExtraType;
            DefaultDbContext.Instance.Group.Add(groupData);
            DefaultDbContext.Instance.SaveChanges();

            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var user   = DefaultDbContext.Instance.Users.FirstOrDefault(x => x.Id == userId);


            var createGroupMessage = new CreateGroupMessage
            {
                UserName       = user?.UserName,
                GroupName      = model.Name,
                SocialClub     = model.socialclub,
                GroupExtraType = model.ExtraType,
                GroupType      = model.Type
            };

            using (var client = new HttpClient())
            {
                var content  = new StringContent(JsonConvert.SerializeObject(createGroupMessage), Encoding.UTF8, "application/json");
                var response = await client.PostAsync("http://localhost:3001/CreateGroup", content);

                var responseString = await response.Content.ReadAsStringAsync();
            }
        }
示例#4
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Adds from XLS. </summary>
        ///
        /// <remarks>   SV Milovanov, 30.01.2018. </remarks>
        ///-------------------------------------------------------------------------------------------------

        public override void AddFromXls()
        {
            _DCT.Execute(data =>
            {
                var group = new Data.Group("Хобби и отдых", "Спорт и отдых", "Другое");
                var xls   = new FileInfo(Path.Combine(Directory.GetCurrentDirectory(), $"bulletinsУслуги,Предложение_услуг.xlsx"));

                using (var package = new ExcelPackage(xls))
                {
                    var worksheet    = package.Workbook.Worksheets.FirstOrDefault();
                    var endOfColumns = false;
                    var columnCount  = 0;
                    while (!endOfColumns)
                    {
                        if (!string.IsNullOrEmpty(worksheet.Cells[1, columnCount + 1].Value as string))
                        {
                            columnCount++;
                        }
                        else
                        {
                            endOfColumns = true;
                        }
                    }

                    var endOfBulletins = false;
                    var bulletinCount  = 0;
                    while (!endOfBulletins)
                    {
                        if (!string.IsNullOrEmpty(worksheet.Cells[bulletinCount + 2, 1].Value as string))
                        {
                            bulletinCount++;
                        }
                        else
                        {
                            endOfBulletins = true;
                        }
                    }

                    Exit();
                    Auth();
                    for (var i = 0; i < bulletinCount; i++)
                    {
                        var dictionary = new Dictionary <string, string>();
                        for (var j = 0; j < columnCount; j++)
                        {
                            var header = worksheet.Cells[1, j + 1];
                            var cell   = worksheet.Cells[i + 2, j + 1];
                            var key    = header.Value as string;
                            var v      = cell.Value != null ? cell.Value.ToString() : string.Empty;
                            dictionary.Add(key, v);
                        }

                        AddBulletin(group, dictionary);
                    }
                }
            });
        }
示例#5
0
        public void AddGroup(Data.Group group, bool leader)
        {
            GroupMember memberEntry = new GroupMember();

            memberEntry.Character = Character;
            memberEntry.Group     = group;
            memberEntry.Leader    = leader;
            Character.GroupMember.Add(memberEntry);
            ContextFactory.Instance.SaveChanges();
        }
示例#6
0
        public void AddGroup(Data.Group group, bool leader)
        {
            var memberEntry = new GroupMember
            {
                Character = Character,
                Group     = group,
                Leader    = leader
            };

            Character.GroupMember.Add(memberEntry);
            ContextFactory.Instance.SaveChanges();
        }
示例#7
0
文件: Group.cs 项目: Yaakoi/YakoiChat
        public Group Add(Group group, int idUser)
        {
            var entityGroup = new Data.Group
            {
                Name       = group.Name,
                NbrUserMax = group.NbrUserMax,
                CreatedBy  = group.CreatedBy
            };

            _ctx.Group.Add(entityGroup);
            AddUser(entityGroup, idUser);
            _ctx.SaveChanges();
            group.Id = entityGroup.Id;
            return(group);
        }
示例#8
0
 protected override void Accept()
 {
     var grpName = txt_name.Text;
     if (Data.GroupList.Instance.GetIdxByName(grpName) != -1)
     {
         GUI.Helpers.DisplayError("There is already a group with this name.");
         return;
     }
     var newGroup = new Data.Group();
     newGroup.Name = grpName;
     newGroup.Difficulty = getDifficulty();
     Data.GroupList.Instance.Add(newGroup);
     addStudentsToGroup(dtg_ungrouped_users, newGroup, 1, 0);
     MainWindow.Instance.SwitchForm<Administration>(this.CurrentUser);
 }
示例#9
0
        public void SetActiveGroup(Data.Group group)
        {
            if (group == null)
            {
                return;
            }
            GroupMember GroupInfo = GetGroupInfo(group.Id);

            if (GroupInfo != null)
            {
                ActiveGroup             = new GroupMember();
                ActiveGroup.Group       = group;
                ActiveGroup.Group       = group;
                ActiveGroup.Leader      = GroupInfo.Leader;
                Character.ActiveGroupID = GroupInfo.Group.Id;
                API.shared.consoleOutput("Set active group to: " + ActiveGroup.Group.Name);
            }
        }
示例#10
0
        public async Task <ActionResult <AddGroupResponse> > PostAddGroup([FromBody] ApiModels.AddGroupRequest addGroupRequest)
        {
            var newGroup = new Data.Group
            {
                SymbolicName = ConvertToSymbolicName(addGroupRequest.Group.Label),
                Label        = addGroupRequest.Group.Label,
                PageID       = addGroupRequest.Group.PageID
            };

            _Context.Groups.Add(newGroup);

            await _Context.SaveChangesAsync();

            _logger.LogDebug("Added new Group {Label}", newGroup.Label);

            await _ClientHub.Clients.All.SendAsync(ClientMethods.AddOrUpdateGroup, newGroup);

            return(Ok(new AddGroupResponse()));
        }
示例#11
0
        static void GetChildCategory(CategoryTree tree, List <string> categories, List <Data.Group> groups)
        {
            _DCT.Execute(data =>
            {
                categories.Add(tree.Name);

                if (tree.Children != null && tree.Children.Count == 0)
                {
                    var group = new Data.Group(categories.ToArray());
                    groups.Add(group);
                    categories.Remove(tree.Name);
                    return;
                }
                foreach (var c in tree.Children)
                {
                    GetChildCategory(c, categories, groups);
                }
                categories.Remove(tree.Name);
            });
        }
示例#12
0
        public void SetActiveGroup(Data.Group group)
        {
            if (group == null)
            {
                return;
            }

            var groupInfo = GetGroupInfo(group.Id);

            if (groupInfo == null)
            {
                return;
            }
            ActiveGroup = new GroupMember
            {
                Group  = group,
                Leader = groupInfo.Leader
            };
            Character.ActiveGroupID = groupInfo.Group.Id;
            API.shared.consoleOutput("Вы переведены в группу: " + ActiveGroup.Group.Name);
        }
示例#13
0
        /// <summary>
        /// 加载自定义消息.
        /// </summary>
        private void LoadGroupMessage()
        {
            string path = Application.StartupPath + "\\MS\\GroupMessage.db";

            Data.Group g = SystemHelper.Load <Data.Group>(path);
            if (g == null)
            {
                g = new Data.Group();
            }
            groupListBox1.Items.Clear();
            foreach (var item in g)
            {
                TextGroupItem gitem = new TextGroupItem();
                gitem.Text = item.GroupName;
                foreach (var sitme in item.GroupList)
                {
                    TextSubItem subitem = new TextSubItem(sitme);
                    gitem.SubItems.Add(subitem);
                }
                groupListBox1.Items.Add(gitem);
            }
        }
示例#14
0
        public async Task ConfigAsync()
        {
            var adminId = (await UserUtils.GetAdmin()).Id;
            var stuId   = (await UserUtils.GetStudent()).Id;

            var group = new Data.Group
            {
                Name   = Guid.NewGuid().ToString(),
                UserId = adminId
            };

            var gid = await groupService.CreateGroupAsync(group);

            Assert.AreNotEqual(0, gid);

            var contest = new Data.Contest
            {
                Name   = Guid.NewGuid().ToString(),
                UserId = adminId
            };

            var cid = await contestService.CreateContestAsync(contest);

            Assert.AreNotEqual(0, cid);

            await groupService.UpdateGroupContestAsync(gid, new[] { cid, cid });

            var result = await contestService.QueryContestAsync(stuId, gid);

            Assert.IsTrue(result /*.Cacheable()*/.Count(i => i.Id == cid) == 1);

            await groupService.UpdateGroupContestAsync(gid, new int[0]);

            result = await contestService.QueryContestAsync(stuId, gid);

            Assert.IsFalse(result /*.Cacheable()*/.Any());
        }
示例#15
0
 /// <summary>
 /// Must be called to set the current group.
 /// </summary>
 /// <param name="group">The group to update.</param>
 public void SetCurrentGroup(Data.Group group)
 {
     this.CurrentGroup = group;
     txt_oldName.Text = txt_newName.Text = group.Name;
     setDifficulty(group.Difficulty);
 }
示例#16
0
 private void Cleanup()
 {
     this.CurrentGroup = null;
     txt_newName.Text = string.Empty;
     txt_oldName.Text = string.Empty;
 }
        private bool RegisterGroup()
        {
            if (Page.IsValid)
            {
                // check required fields
                aqufitEntities entities = new aqufitEntities();
                Group test = entities.UserSettings.OfType<Group>().FirstOrDefault(g => g.UserName == atiGroupName.Text);
                // if a user is found with that username, error. this prevents you from adding a username with the same name as a superuser.
                if (test != null)
                {
                    RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.ErrorDialog.open('{\"html\":\"We already have an entry for the Group Name.\"}');");
                    return false;
                }
                Affine.WebService.RegisterService regService = new WebService.RegisterService();

                string fname = string.Empty;
                string lname = string.Empty;
                string pass = Guid.NewGuid().ToString();

                Group us = new Data.Group();
                us.UserKey = 0;
                us.PortalKey = PortalId;
                us.UserEmail = atiTxtGroupEmail.Text;
                us.UserName = atiGroupName.Text;
                us.UserFirstName = atiGroupName.Text;
                us.UserLastName = "";
                us.DefaultMapLat = atiAddress.Lat;
                us.DefaultMapLng = atiAddress.Lng;
                us.LngHome = atiAddress.Lat;
                us.LngHome = atiAddress.Lng;
                int gtype = Convert.ToInt32(ddlGroupType.SelectedValue);
                us.GroupType = entities.GroupTypes.FirstOrDefault(gt => gt.Id == gtype);

                us.Places.Add(new Place()
                {
                    City = atiAddress.City,
                    Country = atiAddress.Country,
                    Email = atiTxtGroupEmail.Text,
                    Lat = atiAddress.Lat,
                    Lng = atiAddress.Lng,
                    Name = atiGroupName.Text,
                    Postal = atiAddress.Postal,
                    Region = atiAddress.Region,
                    Street = atiAddress.Street
                });
                entities.AddToUserSettings(us);
                entities.SaveChanges();
                // Now assign the creator of the group as an admin
                Group group = entities.UserSettings.OfType<Group>().First(g => g.UserName == us.UserName);
                UserFriends uToG = new UserFriends()
                {
                    SrcUserSettingKey = UserSettings.Id,
                    DestUserSettingKey = group.Id,
                    Relationship = (short)Affine.Utils.ConstsUtil.Relationships.GROUP_OWNER
                };
                entities.AddToUserFriends(uToG);
                entities.SaveChanges();
                Response.Redirect(ResolveUrl("~") + "group/" + group.UserName + "/settings", true);
            }
            else
            {
                RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.ErrorDialog.open('{\"html\":\"\"}');");
            }
            return true;
        }
示例#18
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Добавляем буллетин на борду. </summary>
        ///
        /// <remarks>   SV Milovanov, 30.01.2018. </remarks>
        ///
        /// <param name="group">        Выбранная группа. </param>
        /// <param name="dictionary">   Словарь полей. </param>
        ///-------------------------------------------------------------------------------------------------

        public override void AddBulletin(Data.Group group, Dictionary <string, string> dictionary)
        {
            _DCT.Execute(data =>
            {
                WebWorker.DownloadPage("https://www.avito.ru/additem", (doc) =>
                {
                    if (WebWorker.WebDocument != null)
                    {
                        //1
                        //Категория - Услуги
                        if (!string.IsNullOrEmpty(group.Category1))
                        {
                            var categoryRadio = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                                .FirstOrDefault(q => q.GetAttribute("type") == "radio" && q.GetAttribute("title") == group.Category1);
                            if (categoryRadio == null)
                            {
                                return;
                            }
                            categoryRadio.InvokeMember("click");

                            Thread.Sleep(1000);
                        }

                        //2
                        //Услуги - Предложения услуг
                        if (!string.IsNullOrEmpty(group.Category2))
                        {
                            var serviceRadio = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                               .FirstOrDefault(q => q.GetAttribute("type") == "radio" && q.GetAttribute("title") == group.Category2);
                            if (serviceRadio == null)
                            {
                                return;
                            }
                            serviceRadio.InvokeMember("click");

                            Thread.Sleep(1000);
                        }



                        //3
                        //Вид услуги - IT, интернет, телеком
                        if (!string.IsNullOrEmpty(group.Category3))
                        {
                            var serviceTypeRadio = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                                   .FirstOrDefault(q => q.GetAttribute("type") == "radio" && q.GetAttribute("title") == group.Category3);
                            if (serviceTypeRadio == null)
                            {
                                return;
                            }
                            serviceTypeRadio.InvokeMember("click");

                            Thread.Sleep(1000);
                        }



                        //4
                        //Тип услуги - Cоздание и продвижение сайтов
                        if (!string.IsNullOrEmpty(group.Category4))
                        {
                            var serviceTypeRadio2 = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                                    .FirstOrDefault(q => q.GetAttribute("type") == "radio" && q.GetAttribute("title") == group.Category4);
                            if (serviceTypeRadio2 == null)
                            {
                                return;
                            }
                            serviceTypeRadio2.InvokeMember("click");

                            Thread.Sleep(1000);
                        }



                        var fieldSetter = FieldSetterContainerList.Get(Uid);
                        fieldSetter.LoadFieldsFromGroup(new GroupSignature(group.Category1));

                        var select = WebWorker.WebDocument.GetElementById("flt_param_2843");
                        if (select != null)
                        {
                            select.SetAttribute("value", "20122");
                        }

                        foreach (var pair in dictionary)
                        {
                            fieldSetter.SetField(pair.Key, pair.Value);
                        }

                        //Продолжить с пакетом «Обычная продажа»
                        var radioButton = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                          .FirstOrDefault(q => q.GetAttribute("id") == "pack1");
                        if (radioButton != null)
                        {
                            radioButton.InvokeMember("click");
                        }


                        var buttons = WebWorker.WebDocument.GetElementsByTagName("button").Cast <HtmlElement>();
                        var pack    = "Продолжить с пакетом «Обычная продажа»";
                        var button  = buttons.FirstOrDefault(btn => btn.InnerText == pack);
                        if (button != null)
                        {
                            button.InvokeMember("click");
                        }

                        Thread.Sleep(1000);
                    }
                });

                WebWorker.DownloadPage("https://www.avito.ru/additem/confirm", (doc) =>
                {
                    ////Снимаем галочки
                    var servicePremium = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                         .FirstOrDefault(q => q.GetAttribute("id") == "service-premium");
                    if (servicePremium != null)
                    {
                        servicePremium.InvokeMember("click");
                    }
                    var serviceVip = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                     .FirstOrDefault(q => q.GetAttribute("id") == "service-vip");
                    if (serviceVip != null)
                    {
                        serviceVip.InvokeMember("click");
                    }
                    var serviceHighlight = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                           .FirstOrDefault(q => q.GetAttribute("id") == "service-highlight");
                    if (serviceHighlight != null)
                    {
                        serviceHighlight.InvokeMember("click");
                    }

                    ////Подтверждаем
                    var text           = "Продолжить";
                    var buttonContinue = WebWorker.WebDocument.GetElementsByTagName("button").Cast <HtmlElement>().FirstOrDefault(btn => btn.InnerText == text);
                    if (buttonContinue != null)
                    {
                        buttonContinue.InvokeMember("click");
                    }
                });
            }, _DCTGroup.ContainerAvito);
        }
示例#19
0
 public GroupController(Data.Group GroupData)
 {
     this.Group = GroupData;
     EntityManager.Add(this);
 }
示例#20
0
        private bool RegisterGroup()
        {
            if (Page.IsValid)
            {
                // check required fields
                aqufitEntities entities = new aqufitEntities();
                Group          test     = entities.UserSettings.OfType <Group>().FirstOrDefault(g => g.UserName == atiGroupName.Text);
                // if a user is found with that username, error. this prevents you from adding a username with the same name as a superuser.
                if (test != null)
                {
                    RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.ErrorDialog.open('{\"html\":\"We already have an entry for the Group Name.\"}');");
                    return(false);
                }
                Affine.WebService.RegisterService regService = new WebService.RegisterService();

                string fname = string.Empty;
                string lname = string.Empty;
                string pass  = Guid.NewGuid().ToString();

                Group us = new Data.Group();
                us.UserKey       = 0;
                us.PortalKey     = PortalId;
                us.UserEmail     = atiTxtGroupEmail.Text;
                us.UserName      = atiGroupName.Text;
                us.UserFirstName = atiGroupName.Text;
                us.UserLastName  = "";
                us.DefaultMapLat = atiAddress.Lat;
                us.DefaultMapLng = atiAddress.Lng;
                us.LngHome       = atiAddress.Lat;
                us.LngHome       = atiAddress.Lng;
                int gtype = Convert.ToInt32(ddlGroupType.SelectedValue);
                us.GroupType = entities.GroupTypes.FirstOrDefault(gt => gt.Id == gtype);

                us.Places.Add(new Place()
                {
                    City    = atiAddress.City,
                    Country = atiAddress.Country,
                    Email   = atiTxtGroupEmail.Text,
                    Lat     = atiAddress.Lat,
                    Lng     = atiAddress.Lng,
                    Name    = atiGroupName.Text,
                    Postal  = atiAddress.Postal,
                    Region  = atiAddress.Region,
                    Street  = atiAddress.Street
                });
                entities.AddToUserSettings(us);
                entities.SaveChanges();
                // Now assign the creator of the group as an admin
                Group       group = entities.UserSettings.OfType <Group>().First(g => g.UserName == us.UserName);
                UserFriends uToG  = new UserFriends()
                {
                    SrcUserSettingKey  = UserSettings.Id,
                    DestUserSettingKey = group.Id,
                    Relationship       = (short)Affine.Utils.ConstsUtil.Relationships.GROUP_OWNER
                };
                entities.AddToUserFriends(uToG);
                entities.SaveChanges();
                Response.Redirect(ResolveUrl("~") + "group/" + group.UserName + "/settings", true);
            }
            else
            {
                RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.ErrorDialog.open('{\"html\":\"\"}');");
            }
            return(true);
        }
 public abstract void AddBulletin(Data.Group group, Dictionary <string, string> dictionary);
示例#22
0
文件: Group.cs 项目: m12k/Files
 public Group(string connectionString) { 
     ctx = new BTSSContext(connectionString);
     group = new BTSS.Data.Group(connectionString);
 }