public async Task<IdentityUser> registerUserWithUrlCode(UrlCodeModel code)
        {
            invitations invitation = (from model in db.invitations
                             where model.urlcode == code.urlcode
                             select model).First<invitations>();

            if (invitation == null)
                return null;

            RegisterModel user = new RegisterModel();

            user.Firstname = invitation.firstname;
            user.Lastname = invitation.lastname;
            user.Password = code.password;
            user.email = invitation.email;

            IdentityUser result = await _repo.RegisterUser(user);

            if (result == null)
                return null;

            UserInfos infos = new UserInfos();
            infos.firstname = invitation.firstname;
            infos.lastname = invitation.lastname;
            infos.User_FK = result.Id;

            User_Project_Rel rel = new User_Project_Rel();

            rel.type = invitation.type;
            rel.User_FK = result.Id;
            rel.Project_FK = invitation.Project_FK;

            db.User_Project_Rel.Add(rel);
            db.UserInfos.Add(infos);
            db.invitations.Remove(invitation);

            await db.SaveChangesAsync();

            return result;
        }
        public async Task<IHttpActionResult> CreateProject(Projects project)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest();
            }

            if (_repo.findProjectByName(project.name))
                return BadRequest();

            db.Projects.Add(project);
            await db.SaveChangesAsync();

            User_Project_Rel rel = new User_Project_Rel();
            rel.Project_FK = project.Id;
            IdentityUser user = await _userrepo.Find();
            rel.User_FK = user.Id;
            rel.type = 2;
            db.User_Project_Rel.Add(rel);

            await db.SaveChangesAsync();

            return Ok(project.Id);
        }
        public async Task<IHttpActionResult> AddMemberToProject(AddMemberModel model, int projectId)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest();
            }

            User_Project_Rel rel = new User_Project_Rel();
            rel.Project_FK = projectId;
            IdentityUser user = await _userrepo.FindUserByUsername(model.email);
            rel.User_FK = user.Id;
            rel.type = model.Type;

            db.User_Project_Rel.Add(rel);
            await db.SaveChangesAsync();

            List<Object> array = new List<object>();
            array.Add(new { id = user.Id });
            return Ok(array);

        }