public string DeleteCatalogItemDefinition(string propertyGuid, string catalogItemGUID) { try { idCatalogItemDefinition currentIdCatalogItemDefinition = db.idCatalogItemDefinition.Single(x => x.GUID == propertyGuid && x.CatalogItemGUID == catalogItemGUID); idCatalogItem currentIdCatalogItem = db.idCatalogItem.Single(x => x.GUID == catalogItemGUID); idImageVersion currentIdImageVersion = db.idImageVersion.SingleOrDefault(x => x.MainImageGUID == catalogItemGUID); db.idCatalogItemDefinition.Remove(currentIdCatalogItemDefinition); currentIdCatalogItem.idInSync = currentIdCatalogItem.idInSync >> 2; if (currentIdImageVersion != null) { currentIdImageVersion.idInSync = currentIdImageVersion.idInSync >> 2; } db.SaveChanges(); log.Info(String.Format("Client {0}:{1} called DeleteCatalogItemDefinition with propertyGuid: {2} and catalogItemGUID {3}", clientEndpoint.Address, clientEndpoint.Port, propertyGuid, catalogItemGUID)); return("OK"); } catch (Exception ex) { log.Error(ex.ToString()); throw ex; } }
public string AddCatalogItemDefinition(string propertyGuid, string catalogItemGUID) { try { var query = from tbl in db.idCatalogItemDefinition where tbl.GUID == propertyGuid & tbl.CatalogItemGUID == catalogItemGUID select tbl; if (query.Count() > 0) { throw new Exception("CatalogItemDefinition already exists"); } idCatalogItem currentIdCatalogItem = db.idCatalogItem.Single(x => x.GUID == catalogItemGUID); idImageVersion currentIdImageVersion = db.idImageVersion.SingleOrDefault(x => x.MainImageGUID == catalogItemGUID); idCatalogItemDefinition newIdCatalogItemDefinition = new idCatalogItemDefinition(); newIdCatalogItemDefinition.GUID = propertyGuid; newIdCatalogItemDefinition.CatalogItemGUID = catalogItemGUID; newIdCatalogItemDefinition.idAssigned = DateTime.Now; db.idCatalogItemDefinition.Add(newIdCatalogItemDefinition); currentIdCatalogItem.idInSync = currentIdCatalogItem.idInSync >> 2; if (currentIdImageVersion != null) { currentIdImageVersion.idInSync = currentIdImageVersion.idInSync >> 2; } db.SaveChanges(); log.Info(String.Format("Client {0}:{1} called AddCatalogItemDefinition with propertyGuid: {2} and catalogItemGUID {3}", clientEndpoint.Address, clientEndpoint.Port, propertyGuid, catalogItemGUID)); return("OK"); } catch (Exception ex) { log.Error(ex.ToString()); throw ex; } }