Example #1
0
        public void EnsureValidDataTest()
        {
            var departmentRequest = new DepartmentRequest
            {
                DisplayOrder       = 2,
                Module             = DepartmentModule.LiveChat,
                ParentDepartmentId = 2,
                Title                = "Title",
                Type                 = DepartmentType.Private,
                UserGroups           = new List <int>(),
                UserVisibilityCustom = false
            };

            Assert.DoesNotThrow(() => departmentRequest.EnsureValidData(RequestTypes.Create));
            Assert.DoesNotThrow(() => departmentRequest.EnsureValidData(RequestTypes.Update));
        }
        private static RequestBodyBuilder PopulateRequestParameters(DepartmentRequest dept, RequestTypes requestType)
        {
            dept.EnsureValidData(requestType);

            RequestBodyBuilder parameters = new RequestBodyBuilder();

            if (!String.IsNullOrEmpty(dept.Title))
            {
                parameters.AppendRequestData("title", dept.Title);
            }

            parameters.AppendRequestData("type", EnumUtility.ToApiString(dept.Type));

            if (requestType == RequestTypes.Create)
            {
                parameters.AppendRequestData("module", EnumUtility.ToApiString(dept.Module));
            }

            if (dept.DisplayOrder > 0)
            {
                parameters.AppendRequestData("displayorder", dept.DisplayOrder);
            }

            if (dept.ParentDepartmentId > 0)
            {
                parameters.AppendRequestData("parentdepartmentid", dept.ParentDepartmentId);
            }

            if (dept.UserVisibilityCustom)
            {
                parameters.AppendRequestData("uservisibilitycustom", 1);
            }
            else
            {
                parameters.AppendRequestData("uservisibilitycustom", 0);
            }

            if (dept.UserGroups != null && dept.UserGroups.Count > 0)
            {
                parameters.AppendRequestDataArray <int>("usergroupid[]", dept.UserGroups);
            }

            return(parameters);
        }