public PointContainer GetOrCreateById(string userId) { using (var db = new LiteDatabase(databaseName)) { var pointsCollections = db.GetCollection <PointCartContainerDTO>(PointCartContainerDTO.TableName); PointCartContainerDTO result = null; var search = pointsCollections.Find(x => x.UserId.Equals(userId)); if (search.Any()) { result = search.Single(); } else { result = new PointCartContainerDTO { DateCreated = DateTime.UtcNow, Points = new PointDTO[] { }, UserId = userId }; pointsCollections.Insert(result); } var container = new PointContainer(); foreach (var pointDto in result.Points) { container.Add(Point.TryCreate(pointDto.X, pointDto.Y)); } return(container); } }
public PointContainer GetByName(string name) { using (var db = new LiteDatabase(databaseName)) { var pointsCollections = db.GetCollection <PointContainerDTO>(PointContainerDTO.TableName); var result = pointsCollections.FindOne(x => x.Name.StartsWith(name)); var container = new PointContainer(); foreach (var pointDto in result.Points) { container.Add(Point.TryCreate(pointDto.X, pointDto.Y)); } return(container); } }