public string EditCatalogue(CatalogueUpdateDetail item)
        {
            var catalogue = _catalogueRepository.GetItem(i => i.Type.ToLower() == item.Type.ToLower() && i.IsActive);
            var toCheck   = catalogue.CatalogueList.FirstOrDefault(k => k.Id == item.Id);
            var duplicate = catalogue.CatalogueList
                            .FirstOrDefault(k => k.Name != toCheck.Name && k.Name == item.Name && k.IsActive);

            if (duplicate != null)
            {
                return(string.Empty);
            }

            foreach (Catalogue record in catalogue.CatalogueList)
            {
                if (record.Id == item.Id)
                {
                    record.Details      = item.Details.Trim().ToLower();
                    record.Name         = item.Name.Trim().ToLower();
                    record.Path         = item.Path.Trim().ToLower();
                    record.Category     = item.Category.Trim().ToLower();
                    record.Tags         = item.Tags.Trim().ToLower();
                    record.TileImageUrl = item.TileImageUrl.Trim().ToLower();
                }
            }

            _catalogueRepository.UpdateItem(j => j.Type.ToLower() == item.Type.ToLower() && j.IsActive, catalogue);

            ResetGlobals();

            return(item.Id.ToString());
        }
        public IActionResult Put(CatalogueUpdateDetail catalogueUpdateDetail)
        {
            if (catalogueUpdateDetail == null)
            {
                return(BadRequest());
            }

            var result = _catalogueManagement.EditCatalogue(catalogueUpdateDetail);

            if (result == null)
            {
                return(NotFound());
            }
            else if (string.IsNullOrEmpty(result))
            {
                return(Conflict());
            }

            return(Ok(result));
        }