private void SetVariants() { Variants.Clear(); foreach (var n in Enumerable.Range(0, CurrentStep.Variants.Count)) { Variants.Add(n); } }
public void SetProduct(Product product) { _data = product; Variants.Clear(); foreach (ProductVariant v in _data.Variants) { Variants.Add(new ProductVariantDTO(v)); } }
public override void GetProperties(Strings lnames, Strings ltypes, Variants lvalues, Strings lhints, Strings lcat) { lnames.Clear(); ltypes.Clear(); lhints.Clear(); lcat.Clear(); if (lvalues != null) { lvalues.Clear(); } // DataSet Name lnames.Add(Translator.TranslateStr(518)); ltypes.Add(Translator.TranslateStr(557)); lhints.Add("refdatainfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDataInfo.Alias); } // Connection lnames.Add(Translator.TranslateStr(154)); ltypes.Add(Translator.TranslateStr(569)); lhints.Add("refdatainfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDataInfo.DatabaseAlias); } // Master dataset lnames.Add(Translator.TranslateStr(155)); ltypes.Add(Translator.TranslateStr(569)); lhints.Add("refdatainfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDataInfo.DataSource); } // SQL lnames.Add("SQL"); ltypes.Add("SQL"); lhints.Add("refdatainfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDataInfo.SQL); } // OpenOnStart lnames.Add(Translator.TranslateStr(1373)); ltypes.Add(Translator.TranslateStr(568)); lhints.Add("refdatainfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDataInfo.OpenOnStart); } }
public override void GetProperties(Strings lnames, Strings ltypes, Variants lvalues, Strings lhints, Strings lcat) { lnames.Clear(); ltypes.Clear(); lhints.Clear(); lcat.Clear(); if (lvalues != null) { lvalues.Clear(); } // Connection Name lnames.Add(Translator.TranslateStr(400)); ltypes.Add(Translator.TranslateStr(557)); lhints.Add("refdatabaseinfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDbInfo.Alias); } // Driver lnames.Add(Translator.TranslateStr(67)); ltypes.Add(Translator.TranslateStr(569)); lhints.Add("refdatabaseinfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(DriverTypeToString(FDbInfo.Driver)); } // Provider Factory (Dot net driver) lnames.Add(Translator.TranslateStr(1394)); ltypes.Add(Translator.TranslateStr(961)); lhints.Add("refdatabaseinfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDbInfo.ProviderFactory); } // Connection String lnames.Add(Translator.TranslateStr(1099)); ltypes.Add(Translator.TranslateStr(1099)); lhints.Add("refdatabaseinfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(FDbInfo.ConnectionString); } // Transaction isolation lnames.Add("Transaction Isolation"); ltypes.Add(Translator.TranslateStr(569)); lhints.Add("refdatabaseinfo.html"); lcat.Add(Translator.TranslateStr(1201)); if (lvalues != null) { lvalues.Add(Isolations[FDbInfo.TransIsolation]); } }
protected void clearVariants() { Variants.Clear(); }
private void ClearProperties() { Variants.Clear(); Dificulty = 1; QStr = null; }
protected void variantDailog_OnDeleteVariant(object sender, EventArgs e) { if (Variants.Count <= 0) { return; } // Allow modifying issues in idle state only IssueInfo parentIssue = IssueInfoProvider.GetOriginalIssue(IssueID); if ((parentIssue == null) || (parentIssue.IssueStatus != IssueStatusEnum.Idle)) { return; } int currVariant = CurrentVariant; if (Variants.Count > 2) { IssueInfoProvider.DeleteIssueInfo(Variants[currVariant].IssueID); Variants.RemoveAt(currVariant); RaiseVariantDeleted(); } else { if (Variants.Count == 2) { // Remove variant IssueInfoProvider.DeleteIssueInfo(Variants[currVariant].IssueID); Variants.RemoveAt(currVariant); } // Get remaining variant IssueABVariantItem issueVariant = Variants[0]; Variants.Clear(); IssueInfo issue = IssueInfoProvider.GetIssueInfo(issueVariant.IssueID); if (issue != null) { // Transfer all data from child to parent and delete child const string ignoredColumns = ";issueid;issueguid;issuevariantname;"; foreach (string column in parentIssue.ColumnNames) { if (!ignoredColumns.Contains(String.Format(";{0};", column.ToLowerCSafe()))) { parentIssue.SetValue(column, issue.GetValue(column)); } } parentIssue.IssueIsABTest = false; parentIssue.IssueVariantName = null; parentIssue.IssueVariantOfIssueID = 0; IssueInfoProvider.SetIssueInfo(parentIssue); // Delete files from parent issue if any MetaFileInfoProvider.DeleteFiles(parentIssue.IssueID, IssueInfo.OBJECT_TYPE, ObjectAttachmentsCategories.ISSUE); MetaFileInfoProvider.DeleteFiles(parentIssue.IssueID, IssueInfo.OBJECT_TYPE_VARIANT, ObjectAttachmentsCategories.ISSUE); // Move attachments (meta files) from child to parent MetaFileInfoProvider.MoveMetaFiles(issue.IssueID, parentIssue.IssueID, IssueInfo.OBJECT_TYPE_VARIANT, ObjectAttachmentsCategories.ISSUE, IssueInfo.OBJECT_TYPE, ObjectAttachmentsCategories.ISSUE); MetaFileInfoProvider.MoveMetaFiles(issue.IssueID, parentIssue.IssueID, IssueInfo.OBJECT_TYPE, ObjectAttachmentsCategories.ISSUE, IssueInfo.OBJECT_TYPE, ObjectAttachmentsCategories.ISSUE); // Delete last variant IssueInfoProvider.DeleteIssueInfo(issue); OriginalIssueID = parentIssue.IssueID; // A/B variants have been deleted => deleting A/B test itself ABTestInfo abi = ABTestInfoProvider.GetABTestInfoForIssue(OriginalIssueID); ABTestInfoProvider.DeleteABTestInfo(abi); } RaiseVariantDeleted(); } }
private void ReadPmd(BinaryReader r) { // specifically check if the user passed in a // pmg file by accident r.BaseStream.Position = 1; var pmgSigCheck = ReadPmgSignature(r); if(pmgSigCheck == PmgSignature) { throw new ArgumentException("Pass a pmd file, not a pmg file."); } r.BaseStream.Position = 0; var version = r.ReadUInt32(); if (version != PmdVersion) { throw new NotSupportedException($"pmd version {version} is not supported."); } var materialCount = r.ReadUInt32(); var lookCount = r.ReadUInt32(); var pieceCount = r.ReadUInt32(); var variantCount = r.ReadUInt32(); var partCount = r.ReadUInt32(); var attribsCount = r.ReadUInt32(); var attribsValuesSize = r.ReadUInt32(); var materialBlockSize = r.ReadUInt32(); var lookOffset = r.ReadUInt32(); var variantOffset = r.ReadUInt32(); var partAttribsOffset = r.ReadUInt32(); var attribsValuesOffset = r.ReadUInt32(); var attribsHeaderOffset = r.ReadUInt32(); var materialOffsetsOffset = r.ReadUInt32(); var materialDataOffset = r.ReadUInt32(); // look names Looks.Clear(); for (int i = 0; i < lookCount; i++) { Looks.Add(new Look(r.ReadToken())); } // variant names Variants.Clear(); for (int i = 0; i < variantCount; i++) { Variants.Add(new Variant(r.ReadToken())); } // "partAttribs" // TODO: what is this? for (int i = 0; i < partCount; i++) { var from = r.ReadInt32(); var to = r.ReadInt32(); } // attribs header // each variant has the same attribs for (int i = 0; i < attribsCount; i++) { var name = r.ReadToken(); var type = r.ReadInt32(); var offset = r.ReadInt32(); foreach (var variant in Variants) { var attrib = new PartAttribute(); variant.Attributes.Add(attrib); attrib.Tag = name; attrib.Type = type; } } // attribs values // TODO: Find out if there are any files where a part has // more than one attrib or if "visible" is actually the only attrib // that exists for (int i = 0; i < variantCount; i++) { for (int j = 0; j < attribsCount; j++) { Variants[i].Attributes[j].Value = r.ReadUInt32(); } } // material offsets; I think we can get away with ignoring this? var materialsOffset = new List<uint>(); for (int i = 0; i < lookCount * materialCount; i++) { materialsOffset.Add(r.ReadUInt32()); } // look material paths var materialsData = r.ReadBytes((int)materialBlockSize); var materials = StringUtils.CStringBytesToList(materialsData); for(int i = 0; i < Looks.Count; i++) { Looks[i].Materials.AddRange( materials.GetRange(i * (int)materialCount, (int)materialCount) ); } }