Exemplo n.º 1
0
        public void ToSelectListItemsTests()
        {
            //Arrange
            DocumentCategoryModels models = new DocumentCategoryModels();
            DocumentCategoryModel  model  = new DocumentCategoryModel
            {
                Id          = 1,
                Description = "Item1"
            };

            models.DocumentCategories.Add(model);
            model = new DocumentCategoryModel
            {
                Id          = 2,
                Description = "Item2"
            };
            models.DocumentCategories.Add(model);

            //Act
            var result = models.ToSelectListItems();

            //Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count == 2);
            Assert.IsTrue(result.Exists(i => i.Value == "1" && i.Text == "Item1"));
            Assert.IsTrue(result.Exists(i => i.Value == "2" && i.Text == "Item2"));
        }
Exemplo n.º 2
0
        public void ToSelectListItemsInvalidTests()
        {
            //Arrange
            DocumentCategoryModels models = new DocumentCategoryModels();

            models.DocumentCategories = null;

            //Act
            var result = models.ToSelectListItems();

            //Assert
            Assert.IsNull(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Convert an instance of <see cref="DocumentCategoryModels"/> into a list of <see cref="SelectListItem"/>
        /// </summary>
        /// <param name="documentCategories"></param>
        /// <returns></returns>
        public static List <SelectListItem> ToSelectListItems(this DocumentCategoryModels documentCategories)
        {
            if (documentCategories?.DocumentCategories == null || !documentCategories.DocumentCategories.Any())
            {
                return(null);
            }

            return(documentCategories.DocumentCategories.Select(documentType => new SelectListItem
            {
                Value = documentType.Id.ToString(),
                Text = documentType.Description
            })
                   .ToList());
        }
Exemplo n.º 4
0
        private DocumentCategoryModels CleanDocumentCategories(DocumentCategoryModels categories)
        {
            DocumentCategoryModels result = null;

            if (categories?.DocumentCategories == null || !categories.DocumentCategories.Any())
            {
                return(null);
            }
            result = new DocumentCategoryModels();
            foreach (var category in categories.DocumentCategories)
            {
                if (category.Description.ToLower() != "unit testing")
                {
                    result.DocumentCategories.Add(category);
                }
            }
            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Retrieves a list of document categories
        /// </summary>
        /// <param name="email"></param>
        /// <param name="rooturl"></param>
        /// <param name="encodedId"></param>
        /// <returns></returns>
        public async Task <DocumentCategoryModels> GetDocumentCategories(string email, string rooturl, string encodedId)
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(rooturl) || string.IsNullOrEmpty(encodedId))
            {
                return(null);
            }

            string queryname              = WebTasksTypeConstants.GetDocumentCategories;
            string queryterms             = WebApiServices.GetEmailJsonQuerySearchTerms(email);
            string url                    = $"{rooturl}api/webtasks?queryname={queryname}&queryterms={queryterms}";
            DocumentCategoryModels result = null;

            LoggingService service   = new LoggingService();
            var            stopwatch = new Stopwatch();

            try
            {
                var response = await new WebApiServices().GetData(url, encodedId);
                if (!string.IsNullOrEmpty(response))
                {
                    result = new SerializerServices()
                             .DeserializeObject <DocumentCategoryModels>(response.NormalizeJsonString());
                    result = this.CleanDocumentCategories(result);
                }
            }
            catch (Exception ex)
            {
                service.TrackException(ex);
                throw;
            }
            finally
            {
                stopwatch.Stop();
                var properties = new Dictionary <string, string>
                {
                    { "UserEmail", email },
                    { "WebServicesEndpoint", rooturl },
                    { "EncodedId", encodedId }
                };
                service.TrackEvent(LoggingServiceConstants.GetDocumentCategories, stopwatch.Elapsed, properties);
            }
            return(result);
        }