public async Task <IActionResult> GetGroups(string filter = null, int?startIndex = null, int?count = null, string sortBy = null)
        {
            GroupResources objGroups = null;

            try
            {
                objGroups = await graphService.GetGroups(filter, startIndex, count, sortBy);

                return(Ok(objGroups));
            }
            catch (NotFoundException ex)
            {
                Log.Warning(ex, "Groups not found.");
                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (BadRequestException ex)
            {
                Log.Warning(ex.Message);
                return(BadRequest());
            }
            catch (Exception ex)
            {
                Log.Error("Exception occurred while handling a GetGroups message.", ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
示例#2
0
        public ActionResult AddResources(int id, FormCollection collection)
        {
            //try
            //{
            // TODO: Add insert logic here
            GroupResources groupResources = new GroupResources();

            groupResources.GroupID    = Convert.ToInt32(collection["GroupID"]);
            groupResources.RecourceID = Convert.ToInt32(collection["RecourceID"]);
            int rs = GroupResourcesDAO.Add(groupResources);

            if (rs > 0)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(id));
            }
            //}
            //catch
            //{
            //    return View();
            //}
        }
示例#3
0
        // GET: Employee/Create
        public ActionResult AddResources(int id)
        {
            GroupResources model = new GroupResources();

            model.GroupID = id;
            return(View(model));
        }
        public async Task FilterNameStartsWithGroups()
        {
            GroupResources expected      = Helper.CreateGroupResources();
            Group          expectedGroup = expected.resources.Where(x => x.id == "722fd891-fe44-4bd1-b529-963f573ec969").SingleOrDefault();

            HttpResponseMessage response = await Startup.Client.GetAsync("directory/groups?filter=startswith(displayName,'T')");

            Assert.IsTrue(response.IsSuccessStatusCode);
            var   res         = response.Content.ReadAsStringAsync().Result;
            var   grpRes      = JsonConvert.DeserializeObject <GroupResources>(res);
            Group resultGroup = grpRes.resources.Where(x => x.id == "722fd891-fe44-4bd1-b529-963f573ec969").SingleOrDefault();

            resultGroup.Should().BeEquivalentTo(expectedGroup);
        }
示例#5
0
        public static GroupResources CreateGroupResources()
        {
            List <Group> groups = new List <Group>()
            {
                new Group()
                {
                    id = "722fd891-fe44-4bd1-b529-963f573ec969", displayName = "TestGroup1"
                }, new Group()
                {
                    id = "1986e105-886b-43b3-a1ff-cb2d89e04b9f", displayName = "TestGroup2"
                }
            };
            GroupResources expected = new GroupResources();

            expected.resources = groups;
            return(expected);
        }
        public async Task <GroupResources> GetGroups(string filter, int?startIndex, int?count, string sortBy)
        {
            try
            {
                GroupResources groups = new GroupResources();
                groups.resources = new List <Models.Group>();

                // Initialize the GraphServiceClient.
                GraphServiceClient client = await MicrosoftGraphClient.GetGraphServiceClient();

                // Load groups profiles.
                var groupList = await client.Groups.Request().Filter($"{filter}").GetAsync();

                // Copy Microsoft-Graph Group to DTO Group
                foreach (var group in groupList)
                {
                    var objGroup = CopyHandler.GroupProperty(group);
                    groups.resources.Add(objGroup);
                }
                groups.totalResults = groups.resources.Count;

                return(groups);
            }
            catch (ServiceException ex)
            {
                if (ex.StatusCode == HttpStatusCode.BadRequest)
                {
                    Log.Warning(ex.Message);
                    throw new BadRequestException();
                }
                else if (ex.StatusCode == HttpStatusCode.NotFound)
                {
                    Log.Warning(ex.Message);
                    throw new NotFoundException();
                }
                else
                {
                    throw new Exception();
                }
            }
        }
        public void ValidGroups()
        {
            var expected = new GroupResources();

            expected.resources = new List <Group>()
            {
                new Group()
                {
                    id = "1", displayName = "Test group 1"
                }, new Group()
                {
                    id = "2", displayName = "Test group 2"
                }
            };

            Mock <IGraphService> v = new Mock <IGraphService>();

            v.Setup(k => k.GetGroups(It.IsAny <string>(), It.IsAny <int?>(), It.IsAny <int?>(), It.IsAny <string>())).ReturnsAsync(expected);

            DirectoryController cn       = new DirectoryController(v.Object);
            OkObjectResult      response = cn.GetGroups().Result as OkObjectResult;

            expected.Should().BeEquivalentTo(response.Value);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        string strGroupCode      = Request["GroupCode"];
        string strResourceCode   = Request["ResourceCode"];
        string strAccessType     = Request["AccessType"];
        string ApplyToChildNodes = Request["ApplyToChildNodes"];

        try
        {
            int GroupCode    = Convert.ToInt32(strGroupCode);
            int ResourceCode = Convert.ToInt32(strResourceCode);

            BOLGroupResources GroupResourcesBOL = new BOLGroupResources(GroupCode);
            GroupResources    MyGroup           = GroupResourcesBOL.GetByGroupandResourceCode(GroupCode, ResourceCode);

            int AccessType;
            if (strAccessType != "")
            {
                AccessType = Convert.ToInt32(strAccessType);
            }
            else
            {
                if (MyGroup != null)
                {
                    Response.Write(ResourceCode + ";" + MyGroup.AccessType);
                }
                else
                {
                    Response.Write(ResourceCode + ";0");
                }
                return;
            }

            if (ApplyToChildNodes == "0") //Get All access Types to this child and child nodes
            {
                GroupResourcesBOL.AccessType   = AccessType;
                GroupResourcesBOL.GroupCode    = GroupCode;
                GroupResourcesBOL.ResourceCode = ResourceCode;
                if (AccessType > 0)
                {
                    if (MyGroup != null)
                    {
                        GroupResourcesBOL.Code = MyGroup.Code;
                        GroupResourcesBOL.SaveChanges(false);
                    }
                    else
                    {
                        GroupResourcesBOL.SaveChanges(true);
                    }
                }
                else
                {
                    if (MyGroup != null)
                    {
                        ((IBaseBOL <GroupResources>)GroupResourcesBOL).DeleteRecord(MyGroup.Code.ToString());
                    }
                }
            }
            else if (ApplyToChildNodes == "1")
            {
                GroupResourcesBOL.GetAccess(AccessType, GroupCode, ResourceCode);
            }
            Response.Write("Success");
        }
        catch
        {
            Response.Write("ERROR");
        }
    }