public void RegisterToolkitCompability(Version serverVersion, DateTime registerDate, string supportToolkitNameVersion, Compatibility compatibility) { var serverVersionString = serverVersion.ToString(); var toolkitCompability = Database.GetCollection("ToolkitCompability"); var query = Query.And(Query.EQ("ServerVersion", serverVersionString), Query.EQ("SupportToolkitNameVersion", supportToolkitNameVersion)); var item = toolkitCompability.FindOneAs <ToolkitCompabilityPersist>(query); if (item == null) { var toolkitCompabilityPersist = new ToolkitCompabilityPersist { Id = Guid.NewGuid(), ServerVersion = serverVersionString, RegisterDate = registerDate, SupportToolkitNameVersion = supportToolkitNameVersion, Compatibility = (int)compatibility }; toolkitCompability.Insert(toolkitCompabilityPersist, WriteConcern.Acknowledged); } else if ((Compatibility)item.Compatibility != compatibility) { item.Compatibility = (int)Compatibility.Inconclusive; item.RegisterDate = registerDate; toolkitCompability.Save(item, WriteConcern.Acknowledged); } }
public static IToolkitCompatibilities ToEntity(this ToolkitCompabilityPersist item) { return(new ToolkitCompability(new Version(item.ServerVersion), item.RegisterDate, item.SupportToolkitNameVersion, (Compatibility)item.Compatibility, null)); }