public IActionResult Post(CatalogueDetail catalogueDetail) { if (catalogueDetail == null) { return(BadRequest()); } var checkDuplicate = _catalogueManagement.CheckExists(catalogueDetail); if (checkDuplicate == null) { var result = _catalogueManagement.AddCatalogue(catalogueDetail); if (result == null) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(result)); } else { return(Conflict(checkDuplicate)); } }
public string CheckExists(CatalogueDetail item) { var compare = item.CatalogueList.FirstOrDefault(); var catalogue = GetCatalogues().FirstOrDefault(i => i.Type.ToLower() == item.Type.ToLower()); if (catalogue == null) { return(null); } var exists = catalogue?.CatalogueList.FirstOrDefault(j => j.Name.ToLower() == compare.Name.ToLower()); return(exists?.Id.ToString()); }
public string AddCatalogue(CatalogueDetail item) { Guid catalogueId = Guid.NewGuid(); var catalogue = GetCatalogues().FirstOrDefault(i => i.Type.ToLower() == item.Type.Trim().ToLower()); var catalogues = item.CatalogueList .Select(i => new Catalogue { Id = Guid.NewGuid(), Details = i.Details.Trim().ToLower(), Name = i.Name.Trim().ToLower(), Path = i.Path.Trim().ToLower(), Category = i.Category.Trim().ToLower(), Tags = i.Tags.Trim().ToLower(), TileImageUrl = i.TileImageUrl.Trim().ToLower(), IsActive = true }); if (catalogue == null) { _catalogueRepository.CreateItem(new Catalogues { CatalogueList = catalogues, Id = catalogueId, IsActive = true, Type = item.Type.Trim().ToLower() }); } else { var catalogueToUpdate = _catalogueRepository.GetItem(k => k.Type.ToLower() == item.Type.Trim().ToLower()); List <Catalogue> newCatalogues = new List <Catalogue>(); newCatalogues = catalogueToUpdate.CatalogueList.ToList(); newCatalogues.Add(catalogues.FirstOrDefault()); catalogueToUpdate.CatalogueList = newCatalogues; _catalogueRepository.UpdateItem(j => j.Id == catalogue.Id, catalogueToUpdate); } ResetGlobals(); return(catalogueId.ToString()); }