BExIS.Dcm.UploadWizard.UploadWizardHelper.IsUnique C# (CSharp) Метод

IsUnique() публичный статический Метод

test unique of primary keys on a dataset
public static IsUnique ( long datasetId, List primaryKeys ) : System.Boolean
datasetId long
primaryKeys List
Результат System.Boolean
        public static Boolean IsUnique(long datasetId, List<long> primaryKeys)
        {
            Hashtable hashtable = new Hashtable();

                 // load data
                DatasetManager datasetManager = new DatasetManager();
                Dataset dataset = datasetManager.GetDataset(datasetId);
                DatasetVersion datasetVersion;

                List<long> dataTupleIds = new List<long>();

                if (datasetManager.IsDatasetCheckedIn(datasetId))
                {
                    datasetVersion = datasetManager.GetDatasetLatestVersion(datasetId);

                    #region load all datatuples first

                    int size = 10000;
                    int counter = 0;
                    IEnumerable<AbstractTuple> dataTuples;

                    do
                    {
                        dataTuples = datasetManager.GetDatasetVersionEffectiveTuples(datasetVersion,counter,size);

                        //byte[] pKey;
                        string pKey;
                        foreach (DataTuple dt in dataTuples)
                        {
                            //pKey = getPrimaryKeysAsByteArray(dt, primaryKeys);
                            pKey = getPrimaryKeysAsString(dt, primaryKeys);

                            if (pKey.Count() > 0)
                            {

                                try
                                {
                                    //Debug.WriteLine(pKey +"   : " +Utility.ComputeKey(pKey));
                                    hashtable.Add(pKey, "");
                                    //hashtable.Add(pKey, 0);
                                }
                                catch
                                {
                                    return false;
                                }
                            }
                        }

                        counter++;
                    }
                    while (dataTuples.Count() >= (size * counter));

                        #endregion

                }
                else
                {
                    throw new Exception("Dataset is not checked in.");
                }

                return true;
        }

Same methods

UploadWizardHelper::IsUnique ( TaskManager taskManager, long datasetId, List primaryKeys, string ext, string filename ) : bool