public async Task <LinkModel?> GetLinkModel(string linkId) { LoggingService.Trace("Querying LinksDatabase.GetLinkModel"); if (string.IsNullOrEmpty(linkId)) { return(null); } var databaseConnection = await GetDatabaseConnection <LinkDatabaseModel>().ConfigureAwait(false); var dbLock = databaseConnection.GetConnection().Lock(); try { var linkDatabaseModel = databaseConnection.GetConnection().Get <LinkDatabaseModel>(linkId); return(linkDatabaseModel != null? LinkDatabaseModel.ToLinkModel(linkDatabaseModel) : new LinkModel()); } catch (Exception e) { LoggingService.Error(e, "Error Querying LinksDatabase.GetLinkModel"); return(null); } finally { dbLock.Dispose(); } }
public async Task <int> SaveLinkModel(LinkModel linkModel, string operationId) { LoggingService.Trace("Querying LinksDatabase.SaveLinkModel"); var databaseConnection = await GetDatabaseConnection <LinkDatabaseModel>().ConfigureAwait(false); var dbLock = databaseConnection.GetConnection().Lock(); try { var linkDatabaseModel = LinkDatabaseModel.ToLinkDatabaseModel(linkModel); linkDatabaseModel.OpId = operationId; databaseConnection.GetConnection().InsertOrReplaceWithChildren(linkDatabaseModel); return(0); } catch (Exception e) { LoggingService.Error(e, "Error Querying LinksDatabase.SaveLinkModel"); return(1); } finally { dbLock.Dispose(); } }
public static LinkModel ToLinkModel(LinkDatabaseModel linkDatabaseModel) { return(new LinkModel { Id = linkDatabaseModel.Id, FromPortalId = linkDatabaseModel.FromPortalId, ToPortalId = linkDatabaseModel.ToPortalId, Description = linkDatabaseModel.Description, AssignedTo = linkDatabaseModel.AssignedTo, AssignedToNickname = linkDatabaseModel.AssignedToNickname, ThrowOrderPos = linkDatabaseModel.ThrowOrderPos, Completed = linkDatabaseModel.Completed, Color = linkDatabaseModel.Color, Zone = linkDatabaseModel.Zone }); }