public ActionResult FlipDateTime(long id, long variableid) { DatasetManager datasetManager = new DatasetManager(); try { DatasetVersion dsv = datasetManager.GetDatasetLatestVersion(id); IEnumerable <long> datatupleIds = datasetManager.GetDatasetVersionEffectiveTupleIds(dsv); foreach (var tid in datatupleIds) { DataTuple dataTuple = datasetManager.DataTupleRepo.Get(tid); dataTuple.Materialize(); bool needUpdate = false; foreach (var vv in dataTuple.VariableValues) { string systemType = vv.DataAttribute.DataType.SystemType; if (systemType.Equals(typeof(DateTime).Name) && vv.VariableId.Equals(variableid)) { string value = vv.Value.ToString(); vv.Value = flip(value, out needUpdate); } } if (needUpdate) { dataTuple.Dematerialize(); datasetManager.UpdateDataTuple(dataTuple); } } } catch (Exception ex) { } finally { datasetManager.Dispose(); } return(RedirectToAction("Index")); }
/// <summary> /// get a updated datatuple on a specific value. /// based on the created test datastructure /// index: /// 0 = int /// 1 = text /// 2 = double /// 3 = bool /// 4 = datetime /// </summary> /// <param name="source"></param> /// <param name="updateVarIndex"></param> /// <param name="datasetManager"></param> /// <returns></returns> public DataTuple GetUpdatedDatatuple(DataTuple source, int updateVarIndex) { if (source == null) { return(null); } source.Materialize(); var vv = source.VariableValues[updateVarIndex]; if (vv != null) { switch (updateVarIndex) { case 0: //int { vv.Value = new Random().Next(); break; } case 1: //text { var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var stringChars = new char[8]; var random = new Random(); for (int i = 0; i < stringChars.Length; i++) { stringChars[i] = chars[random.Next(chars.Length)]; } vv.Value = new String(stringChars); break; } case 2: //double { vv.Value = new Random().NextDouble(); break; } case 3: //bool { vv.Value = false; break; } case 4: { vv.Value = DateTime.Now.ToString(new CultureInfo("en-US")); break; } //default: } } source.Dematerialize(); source.Should().NotBeNull(); return(source); }
public Dataset UpdateOneTupleForDataset(Dataset dataset, StructuredDataStructure dataStructure, long id, int value, DatasetManager datasetManager) { dataset.Status.Should().Be(DatasetStatus.CheckedIn); dataset.Should().NotBeNull(); try { if (datasetManager.IsDatasetCheckedOutFor(dataset.Id, "David") || datasetManager.CheckOutDataset(dataset.Id, "David")) { dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status."); DatasetVersion workingCopy = datasetManager.GetDatasetWorkingCopy(dataset.Id); DataTuple oldDt = datasetManager.DataTupleRepo.Get(id); DataTuple dt = new DataTuple(); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.First().Id, Value = value }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(1).First().Id, Value = "Test" }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(2).First().Id, Value = 5 }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(3).First().Id, Value = true }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(4).First().Id, Value = DateTime.Now.ToString(new CultureInfo("en-US")) }); dt.Dematerialize(); dt.Should().NotBeNull(); dt.JsonVariableValues.Should().NotBeNull(); List <DataTuple> tuples = new List <DataTuple>(); DataTuple newDt = new DataTuple(); newDt.Id = id; newDt.XmlAmendments = dt.XmlAmendments; newDt.JsonVariableValues = dt.JsonVariableValues; newDt.Materialize(); newDt.OrderNo = oldDt.OrderNo; tuples.Add(newDt); datasetManager.EditDatasetVersion(workingCopy, null, tuples, null); dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status."); } return(dataset); } catch (Exception ex) { return(null); } }
public Dataset GenerateTuplesWithRandomValuesForDataset(Dataset dataset, StructuredDataStructure dataStructure, long numberOfTuples, string username) { dataset.Status.Should().Be(DatasetStatus.CheckedIn); dataset.Should().NotBeNull(); numberOfTuples.Should().BeGreaterThan(0); var r = new Random(); DatasetManager dm = new DatasetManager(); try { if (dm.IsDatasetCheckedOutFor(dataset.Id, username) || dm.CheckOutDataset(dataset.Id, username)) { dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status."); DatasetVersion workingCopy = dm.GetDatasetWorkingCopy(dataset.Id); List <DataTuple> tuples = new List <DataTuple>(); for (int i = 0; i < numberOfTuples; i++) { DataTuple dt = new DataTuple(); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.First().Id, Value = r.Next() }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(1).First().Id, Value = "Test" }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(2).First().Id, Value = Convert.ToDouble(r.Next()) }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(3).First().Id, Value = true }); dt.VariableValues.Add(new VariableValue() { VariableId = dataStructure.Variables.Skip(4).First().Id, Value = "01.01.2017" }); dt.Dematerialize(); dt.Should().NotBeNull(); //dt.XmlVariableValues.Should().NotBeNull(); DataTuple newDt = new DataTuple(); newDt.XmlAmendments = dt.XmlAmendments; //newDt.XmlVariableValues = dt.XmlVariableValues; newDt.JsonVariableValues = dt.JsonVariableValues; newDt.Materialize(); newDt.OrderNo = i; tuples.Add(newDt); } dm.EditDatasetVersion(workingCopy, tuples, null, null); dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status."); } return(dataset); } catch (Exception ex) { return(null); } finally { dm.Dispose(); } }