Exemplo n.º 1
0
    protected void GroupMemberConnection(int addgroup_id)
    {
        // There is a Many to Many relationship between a person and the group
        // so we need to fill the group_member database table as well

        try
        {
            var addeduser  = ctx.person.Where(p => p.username == ticket.Name).FirstOrDefault();
            var addedgroup = ctx.group.Where(g => g.group_id == addgroup_id).FirstOrDefault();
            var addedrole  = ctx.group_role.Where(gr => gr.@class == 1).FirstOrDefault();

            if (addeduser != null && addedgroup != null && addedrole != null)
            {
                var gm = new group_member
                {
                    group_id     = addedgroup.group_id,
                    person_id    = addeduser.person_id,
                    grouprole_id = addedrole.grouprole_id
                };

                addeduser.group_member.Add(gm);
                addedgroup.group_member.Add(gm);
                ctx.SaveChanges();
            }
        }
        catch (Exception ex)
        {
            lbMessages.Text = ex.Message;
        }
    }
Exemplo n.º 2
0
    protected void CreateGroupMember(object sender, EventArgs e)
    {
        var confirmbtn = sender as Button;

        string parseid  = Regex.Match(confirmbtn.ID, @"-?\d+\.?\d*$").Value;
        int    inviteid = int.Parse(parseid);

        try
        {
            var rightinvitation = ctx.invite.Where(inv => inv.invite_id == inviteid).SingleOrDefault();
            var rightperson     = rightinvitation.person;
            var rightgroup      = rightinvitation.group;

            var roletoadd = ctx.group_role.Where(gr => gr.@class == 4).FirstOrDefault();

            if (rightperson != null && rightgroup != null && roletoadd != null)
            {
                var gm = new group_member
                {
                    group_id     = rightgroup.group_id,
                    person_id    = rightperson.person_id,
                    grouprole_id = roletoadd.grouprole_id
                };

                List <project_group> projectgrouplist = rightgroup.project_group.ToList();

                foreach (var projectgroup in projectgrouplist)
                {
                    var prope = new project_person
                    {
                        project_id = projectgroup.project_id,
                        person_id  = rightperson.person_id,
                        group_id   = rightgroup.group_id,
                        project_person_supporting = false
                    };

                    ctx.project_person.Add(prope);
                }

                rightperson.edited = DateTime.Now;
                rightgroup.edited  = DateTime.Now;

                rightperson.group_member.Add(gm);
                rightgroup.group_member.Add(gm);

                ctx.invite.Remove(rightinvitation);

                ctx.SaveChanges();

                FillInvitations();
                FillDivs();
            }
        }
        catch (Exception ex)
        {
            lbMessages.Text = ex.Message;
        }
    }
Exemplo n.º 3
0
        public void saveChanges()
        {
            using (var db = new PlanningContext())
            {
                group_member data = null;

                if (!this._isCreateMode)
                {
                    var id = Convert.ToInt32(this.group_member_id.Text);
                    data = db.group_member.Where(d => d.group_member_id == id).FirstOrDefault();
                    if (data == null)
                    {
                        this._mainInterface.statusText = $"ERROR: ID '{this.group_member_id.Text}' does not exist.";
                        return;
                    }
                }
                else
                {
                    data = new group_member();
                }

                data.group_member_id = Convert.ToInt32(this.group_member_id.Text);
                data.is_active       = (bool)this.is_active.IsChecked;
                data.comment         = /**/ (this.comment.Text);
                data.contact         = new Func <contact>(() => { foreach (var v in db.contacts)
                                                                  {
                                                                      if (v.contact_id == (this.contact.item as contact).contact_id)
                                                                      {
                                                                          return(v);
                                                                      }
                                                                  }
                                                                  return(null); })();
                data.group_type = new Func <group_type>(() => { foreach (var v in db.group_type)
                                                                {
                                                                    if (v.group_type_id == (this.group_type.item as group_type).group_type_id)
                                                                    {
                                                                        return(v);
                                                                    }
                                                                }
                                                                return(null); })();


                if (this._isCreateMode)
                {
                    db.group_member.Add(data);
                }
                db.SaveChanges();
            }
        }
        public void deleteItem(object item)
        {
            if (item == null)
            {
                return;
            }

            group_member data = item as group_member;

            if (data == null)
            {
                return;
            }

            using (var db = new PlanningContext())
            {
                db.group_member.Remove(db.group_member.Where(d => d.group_member_id == data.group_member_id).First());
                db.SaveChanges();
            }
        }