Example #1
0
        static void DataTest()
        {
            DataObject dob = new DataObject();
            dob["ala"] = "ma kota";
            dob["jola"] = "nie ma zielonego pojêcia";
            dob["zenek"] = 35;
            dob["dziœ"] = DateTime.Now;
            dob["ala"] = "ju¿ nie ma kota";
            dob["kot"] = new List<string>(new string[] { "skarpeta", "tiger", "filemon", "kuba" });
            StringBuilder sb = new StringBuilder();

            foreach (string k in dob.Keys)
            {
                log.Debug("{0}={1}", k, dob[k]);
            }
            DataObject dob2 = new DataObject((IDataObject) dob);

            XmlWriter xw = XmlWriter.Create(sb);
            dob2.ToXml("dob2", xw);
            xw.Flush();
            log.Debug("XML: {0}", sb.ToString());
            string xml = "<?xml version=\"1.0\" ?><data id=\"11\">   <member1>aaa</member1> <member1>bbb</member1>  <and>\n<otherData>tutaj</otherData>\n<more>...</more></and>\n<member3>\nsome\ntext</member3>\n</data>";
            log.Debug("Parsing XML: {0}", xml);
            StringReader sr = new StringReader(xml);
            XmlReader xr = XmlReader.Create(sr);
            xr.MoveToContent();
            DataObject dob3 = DataObject.ParseXmlElement(xr);
            log.Debug("Result: {0}", dob3.ToXmlString("dob3"));
        }
        public void Initialization()
        {
            object1 = new DataObject { Id = 1 };
            object1.Add("x", 2);
            object1.Add("y", 2);

            object2 = new DataObject { Id = 2 };
            object2.Add("x", 5);
            object2.Add("y", 2);

            object3 = new DataObject { Id = 3 };
            object3.Add("x", 4);
            object3.Add("y", 3);

            object4 = new DataObject { Id = 4 };
            object4.Add("x", 3);
            object4.Add("y", 6);

            object5 = new DataObject { Id = 5 };
            object5.Add("x", 8);
            object5.Add("y", 8);

            object6 = new DataObject { Id = 6 };
            object6.Add("x", 9);
            object6.Add("y", 7);
        }
Example #3
0
 /// <summary>
 /// Hande task completion with task output data passed as NameValueCollection
 /// </summary>
 /// <param name="correlationId"></param>
 /// <param name="taskOutputData"></param>
 private void HandleCompletion(string correlationId, NameValueCollection taskOutputData)
 {
     try
     {
         IApplicationContext ctx = Spring.Context.Support.ContextRegistry.GetContext();
         INGEnvironment env = (INGEnvironment)ctx.GetObject("NGEnvironment");
         IProcessPackageRepository pdr = (IProcessPackageRepository)ctx.GetObject("PackageRepository");
         TaskInstanceInfo ti = env.GetTaskInstanceInfo(correlationId);
         NG.ProcessDefinition pd = pdr.GetProcess(ti.ProcessDefinitionId);
         NG.Task ntsk = pd.GetTask(ti.TaskId);
         StructDef sd = ntsk.GetTaskOutputDataSchema();
         DataObject completionData = new DataObject();
         foreach (MemberDef md in sd.Members)
         {
             string s = taskOutputData[md.Name];
             if (s != null)
             {
                 completionData[md.Name] = s;
             }
         }
         log.Info("Completing task {0} with data {1}", correlationId, completionData.ToString());
         env.ReportTaskFinished(correlationId, completionData, Context.User.Identity.Name);
     }
     catch (Exception ex)
     {
         log.Error("Error completing task {0}: {1}", correlationId, ex);
         throw;
     }
 }
 public RegisterDataObject RetrievePassword(DataObject.RegisterDataObject userData)
 {
     try
     {
         DataObject.RegisterDataObject Password = BusinessLayer.Accounts.Retrieve(userData);
         if (string.IsNullOrEmpty(Password.Password))
         {
             return new RegisterDataObject();
         }
         else
         {
             RegisterDataObject Data = new RegisterDataObject();
             Data.AutoId = Password.AutoId;
             Data.ConfirmPassword = Password.ConfirmPassword;
             Data.EmailId = Password.EmailId;
             Data.FullName = Password.FullName;
             Data.Guid = Password.Guid;
             Data.Password = Password.Password;
             Data.UserName = Password.UserName;
             return Data;
         }
     }
     catch (Exception ex)
     {
         MyCustomErrorDetail Error = new MyCustomErrorDetail("Unexpected Error caused by " + ex.Source, ex.Message);
         throw new WebFaultException<MyCustomErrorDetail>(Error, System.Net.HttpStatusCode.InternalServerError);
     }
 }
 public override IList<ValidationRule> GetValidationRules(DataObject current, string property)
 {
     IList<ValidationRule> rules = new List<ValidationRule>();
     ValidationRule rule = new ValidationRule(GeneralAssertionTemplate.IsBusinessObjectNotNull(current, property));
     rules.Add(rule);
     return rules;
 }
        public void ThrowsException()
        {
            var dataObject1 = new DataObject
            {
                Name = "First"
            };

            var dataObject2 = new DataObject
            {
                Name = "Second",
                Other = dataObject1
            };

            dataObject1.Other = dataObject2;

            Assert.That(dataObject1.Other, Is.SameAs(dataObject2), "Sanity check");
            Assert.That(dataObject2.Other, Is.SameAs(dataObject1), "Sanity check");

            using (var ms = new MemoryStream())
            {
                Assert.That(
                    () => KVSerializer.Serialize(ms, dataObject1, "test data"),
                    Throws.Exception.InstanceOf<KeyValueException>()
                    .With.Message.EqualTo("Serialization failed - circular object reference detected."));
            }
        }
Example #7
0
        public override DataObject CastTo(DataObject value, SqlType destType)
        {
            var bValue = ((SqlBoolean) value.Value);
            if (destType is StringType) {
                var s = Convert.ToString(bValue);
                // TODO: Provide a method in StringType to build a string specific to the type
                return new DataObject(destType, new SqlString(s));
            }
            if (destType is NumericType) {
                SqlNumber num;
                if (bValue == SqlBoolean.Null) {
                    num = SqlNumber.Null;
                } else if (bValue) {
                    num = SqlNumber.One;
                } else {
                    num = SqlNumber.Zero;
                }

                return new DataObject(destType, num);
            }
            if (destType is BinaryType) {
                var bytes = (byte[]) Convert.ChangeType(bValue, typeof (byte[]), CultureInfo.InvariantCulture);
                return new DataObject(destType, new SqlBinary(bytes));
            }
            if (destType is BooleanType)
                return value;

            return base.CastTo(value, destType);
        }
    protected void btnTest_Click(object sender, EventArgs e)
    {
        if (ConfigXML.AccessAllow(NTT.Web.Core.Security.Cryto.MD5(this.txt_conf.Text)))
        {
            //ConfigXML.BuildConfigFile("tmpdbconfig.xml", this.Txt_Server.Text, this.txt_db.Text, this.txt_uid.Text, this.txt_pwd.Text);

            StringBuilder sb = new StringBuilder();
            sb.Append("Server=").Append(this.Txt_Server.Text).Append(";");
            sb.Append("Database=").Append(this.txt_db.Text).Append(";");
            //sb.Append("Integrated Security=SSPI;");
            sb.Append("uid=").Append(this.txt_uid.Text).Append(";");
            sb.Append("pwd=").Append(this.txt_pwd.Text).Append(";");
            sb.Append("Connect Timeout=30");

            string connection_string = sb.ToString();
            DataObject con = new DataObject(connection_string, false);
            try
            {
                if (con.TestConnection())
                    this.lb_mess.Text = "Kết nối thành công";
                else
                    this.lb_mess.Text = "Không thể kết nối!!!";
            }
            catch (Exception E)
            {
                this.lb_mess.Text = E.Message;
            }
        }
        else
        {
            this.lb_mess.Text = "Mật khẩu cấu hình không đúng";
        }
    }
        private void createTestVirtualDocument()
        {
                // create a new DataObject to use as the parent node
                ObjectIdentity emptyIdentity = new ObjectIdentity(DefaultRepository);
                DataObject parentDO = new DataObject(emptyIdentity);
                parentDO.Type = "dm_document";
                PropertySet parentProperties = new PropertySet();
                parentProperties.Set("object_name", SampleContentManager.testVdmObjectName);
                parentDO.Properties = parentProperties;

                // link into a folder
                ObjectPath objectPath = new ObjectPath(SampleContentManager.sourcePath);
                ObjectIdentity sampleFolderIdentity = new ObjectIdentity(objectPath, DefaultRepository);
                ReferenceRelationship sampleFolderRelationship = new ReferenceRelationship();
                sampleFolderRelationship.Name = Relationship.RELATIONSHIP_FOLDER;
                sampleFolderRelationship.Target = sampleFolderIdentity;
                sampleFolderRelationship.TargetRole = Relationship.ROLE_PARENT;
                parentDO.Relationships.Add(sampleFolderRelationship);

                // get id of document to use for first child node
                ObjectIdentity child0Id = new ObjectIdentity();
                child0Id.RepositoryName = DefaultRepository;
                child0Id.Value = new Qualification(SampleContentManager.gifImageQualString);

                // get id of document to use for second child node
                ObjectIdentity child1Id = new ObjectIdentity();
                child1Id.RepositoryName = DefaultRepository;
                child1Id.Value = new Qualification(SampleContentManager.gifImage1QualString);

                ObjectIdentitySet childNodes = new ObjectIdentitySet();
                childNodes.AddIdentity(child0Id);
                childNodes.AddIdentity(child1Id);

                virtualDocumentServiceDemo.AddChildNodes(parentDO, childNodes);
        }
        public DataObject AddChildNodes(DataObject parentObject, ObjectIdentitySet childIdentities)
	{
		List<ObjectIdentity> idList = childIdentities.Identities;
		List<VdmChildrenActionInfo> caInfoList = new List<VdmChildrenActionInfo>();
		foreach (ObjectIdentity objIdentity in idList)
		{
			VirtualDocumentNode vdmNode = new VirtualDocumentNode();
			vdmNode.Identity = objIdentity;
			VirtualDocumentInfo vdmInfo = new VirtualDocumentInfo();
			vdmInfo.Binding = VirtualDocumentInfo.BINDING_LATE;
			vdmInfo.CopyBehavior = CopyBehaviorMode.COPY;
			vdmInfo.OverrideLateBinding = false;
			vdmNode.Policy = vdmInfo;
			VdmChildrenActionInfo caInfo = new VdmChildrenActionInfo();
			caInfo.Action = VdmChildrenAction.APPEND;
			caInfo.Node = vdmNode;
			caInfoList.Add(caInfo);
		}
		
        VdmUpdateProfile vdmUpdateProfile = new VdmUpdateProfile();
		List<String> versionLabels = new List<String>();
		versionLabels.Add("testVersionLabel");
		
		// make sure to add the CURRENT label if you
		// want the virtual document to be CURRENT
		versionLabels.Add("CURRENT");
		vdmUpdateProfile.Labels = versionLabels;
		
		OperationOptions options = new OperationOptions();
		options.VdmUpdateProfile = vdmUpdateProfile;
		return virtualDocumentService.Update(parentObject, caInfoList, options);
	}
 public static DataObject Contains(DataObject geometry, DataObject other)
 {
     var g1 = (SqlGeometry) geometry.Value;
     var g2 = (SqlGeometry) other.Value;
     var result = Contains(g1, g2);
     return DataObject.Boolean(result);
 }
 public static void RegisterData(DataObject.RegisterDataObject accountData)
 {
     MySqlConnection Connection = new MySqlConnection(ConnString);
     try
     {
         Connection.Open();
         MySqlCommand InsertCommand = new MySqlCommand("udsp_account_register", Connection);
         InsertCommand.CommandType = CommandType.StoredProcedure;
         Guid GuidId = Guid.NewGuid();
         InsertCommand.Parameters.AddWithValue("var_Guid", GuidId.ToString());
         InsertCommand.Parameters.AddWithValue("var_Username", accountData.UserName);
         InsertCommand.Parameters.AddWithValue("var_Password", accountData.Password);
         InsertCommand.Parameters.AddWithValue("var_FullName", accountData.FullName);
         InsertCommand.Parameters.AddWithValue("var_EmailId", accountData.EmailId);
         if (InsertCommand.ExecuteNonQuery() == 0)
             throw new Exception("No person was registered");
         
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         if(Connection.State== ConnectionState.Open)
         {
             Connection.Close();
         }
     }
 }
Example #13
0
        public ScriptManager(Application app)
        {
            _app = app;

            _appObject = new AppObject(_app);
            _dataObject = new DataObject(_app.Data);
        }
 public static DataObject Distance(DataObject geometry, DataObject other)
 {
     var input = (SqlGeometry)geometry.Value;
     var otherGeometry = (SqlGeometry) other.Value;
     var result = Distance(input, otherGeometry);
     return DataObject.Number(result);
 }
Example #15
0
        public Tests()
        {
            _objectType = "Function";

               string baseDir = Directory.GetCurrentDirectory();
               Directory.SetCurrentDirectory(baseDir.Substring(0, baseDir.LastIndexOf("\\bin")));

               AdapterSettings adapterSettings = new AdapterSettings();
               adapterSettings.AppendSettings(new AppSettingsReader("App.config"));

               FileInfo log4netConfig = new FileInfo("Log4net.config");
               log4net.Config.XmlConfigurator.Configure(log4netConfig);

               string twConfigFile = String.Format("{0}{1}.{2}.config",
             adapterSettings["AppDataPath"],
             adapterSettings["ProjectName"],
             adapterSettings["ApplicationName"]
               );

               AppSettingsReader twSettings = new AppSettingsReader(twConfigFile);
               adapterSettings.AppendSettings(twSettings);

               _dataLayer = new Bechtel.DataLayer.RestDataLayer2(adapterSettings);

               _filter = Utility.Read<DataFilter>(adapterSettings["FilterPath"]);

               //_scenarios = Utility.Read<Scenarios>("Scenarios.xml");
               _objectType = adapterSettings["ObjectType"];
               _modifiedProperty = adapterSettings["ModifiedProperty"];
               _modifiedValue = adapterSettings["ModifiedValue"];
               _objectDefinition = GetObjectDefinition(_objectType);
        }
Example #16
0
 public List<int> GetNodeTasks(int nodeId, DataObject.Constants.TaskState taskState)
 {
     List<Model.Command> commands = _CommandRepository.GetNodeCommands(nodeId, (int)taskState);
     if (commands.Count <= 0)
         return new List<int>();
     else
         return commands.Select(x => x.Id).ToList();
 }
Example #17
0
        public void InsertVerticalNode(DataObject up, DataObject down)
        {
            Up = up;
            Down = down;

            down.Up = this;
            up.Down = this;
        }
Example #18
0
        public void InsertHorizontalNode(DataObject left, DataObject right)
        {
            Left = left;
            Right = right;

            right.Left = this;
            left.Right = this;
        }
Example #19
0
 /// <summary>
 /// Constructs the range given a start and an end location
 /// </summary>
 /// <param name="startOffset">The offset of the first value of the range.</param>
 /// <param name="firstValue">The first value of the range</param>
 /// <param name="lastOffset">The offset within the range of the last value.</param>
 /// <param name="endValue">The last value of the range.</param>
 public IndexRange(RangeFieldOffset startOffset, DataObject firstValue, RangeFieldOffset lastOffset, DataObject endValue)
     : this(false)
 {
     StartOffset = startOffset;
     StartValue = firstValue;
     EndOffset = lastOffset;
     EndValue = endValue;
 }
     public void ShowPermissions(DataObject dataObject)
 {
     List<Permission> permissions = dataObject.Permissions;
     foreach (Permission permission in permissions)
     {
         Console.WriteLine(permission.Name);
     }
 }
Example #21
0
		private void InsertData(string query, SqlParameter[] parameter)
		{
			DataObject dao = new DataObject();

			if(dao.Insert(query, parameter) > 0)
			{
				MessageBox.Show("Usuario guardado con exito");
			}
		}
Example #22
0
        public static DataObject EvaluateAll(SqlExpressionType plainType, DataObject ob1, DataObject ob2,
			EvaluateContext context)
        {
            if (ob2.Type is QueryType) {
                // The sub-query plan
                var planObj = (SqlQueryObject) ob2.Value;

                // Discover the correlated variables for this plan.
                var list = planObj.QueryPlan.DiscoverQueryReferences(1);

                if (list.Count > 0) {
                    // Set the correlated variables from the IVariableResolver
                    foreach (var variable in list) {
                        variable.Evaluate(context.VariableResolver);
                    }

                    // Clear the cache in the context
                    context.QueryContext.TableCache.Clear();
                }

                // Evaluate the plan,
                var t = planObj.QueryPlan.Evaluate(context.QueryContext);

                var revPlainOp = plainType.Reverse();
                return DataObject.Boolean(t.AllRowsMatchColumnValue(0, revPlainOp, ob1));
            }
            if (ob2.Type is ArrayType) {
                var expList = (SqlArray) ob2.Value;

                // Assume true unless otherwise found to be false or NULL.
                DataObject retVal = DataObject.BooleanTrue;
                foreach (var exp in expList) {
                    var expItem = exp.Evaluate(context);

                    if (expItem.ExpressionType != SqlExpressionType.Constant)
                        throw new InvalidOperationException();

                    var evalItem = (SqlConstantExpression)expItem;

                    // If there is a null item, we return null if not otherwise found to
                    // be false.
                    if (evalItem.Value.IsNull) {
                        retVal = DataObject.BooleanNull;
                    } else if (!IsTrue(Evaluate(ob1, plainType, evalItem.Value, context))) {
                        // If it doesn't match return false
                        return DataObject.BooleanFalse;
                    }
                }

                // Otherwise return true or null.  If all match and no NULLs return
                // true.  If all match and there are NULLs then return NULL.
                return retVal;
            }

            throw new InvalidOperationException("Unknown RHS of ALL.");
        }
Example #23
0
 public Qur(Char Q, String DBname, String Table, Key[] SelectiveKeys, String[] Cols, List<Attr> Attrs, DataObject[] Data)
 {
     this.Q = Q;
     this.DBName = DBname;
     this.Attrs = Attrs;
     this.Cols = Cols;
     this.Data = Data;
     this.SelectiveKeys = SelectiveKeys;
     this.Table = Table;
 }
        public IFormPaymentResult ProcessResult(string crypt)
        {
            IFormPaymentResult formPaymentResult = new DataObject();

            string cryptDecoded = Cryptography.DecodeAndDecrypt(crypt, _settings.EncryptionPassword);

            formPaymentResult = (IFormPaymentResult)ConvertToSagePayMessage(cryptDecoded);

            return formPaymentResult;
        }
Example #25
0
        public Status ProcessTag(DataObject objectDefinition, IDataObject dataObject, int id, string key)
        {
            _objectDefinition = objectDefinition;
              _dataObject = dataObject;

              Status status = new Status()
              {
            Identifier = key,
            Level = StatusLevel.Success
              };

              try
              {
            Tag tag = new Tag(_session, id);
            tag.Retrieve("Header;Attributes");
            tag.Code = key;

            if (!SetName(ref tag, key))
            {
              status.Messages.Add("Failed to set Name.");
            }

            if (!SetTitle(ref tag, key))
            {
              status.Messages.Add("Failed to set Title.");
            }

            Utilities.Append(ref status, SetAttributes(ref tag));
            Utilities.Append(ref status, SetRelationships(tag));

            //tag.Save();  // for future eB API

            _session.Writer.ChgTag(
              tag.Id,
              Constants.NoChangeInt,
              tag.Code,
              tag.Revision,
              tag.Class.Id,
              tag.Name,
              tag.Description,
              Constants.NoChangeString,
              tag.OperationalStatus,
              Constants.NoChangeInt,
              Constants.NoChangeInt);

            status.Messages.Add(string.Format("Tag [{0}] saved successfully.", key));
              }
              catch (Exception e)
              {
            status.Level = StatusLevel.Error;
            status.Messages.Add(e.Message);
              }

              return status;
        }
Example #26
0
        internal CachedCell(RowId rowId, int columnOffset, DataObject value)
        {
            if (rowId.IsNull)
                throw new ArgumentNullException("rowId");
            if (columnOffset < 0)
                throw new ArgumentOutOfRangeException("columnOffset");

            RowId = rowId;
            ColumnOffset = columnOffset;
            Value = value;
        }
 public static void Register(DataObject.RegisterDataObject accountData)
 {
     try 
     {
         DataAccessLayer.Accounts.RegisterData(accountData);
     }
     catch(Exception ex)
     {
         throw ex;
     }
 }
Example #28
0
        public void SetValue(int column, long row, DataObject value)
        {
            DataObject[] rowObject;
            if (row >= rows.Count) {
                rowObject = new DataObject[TableInfo.ColumnCount];
            } else {
                rowObject = rows[(int) row];
            }

            rowObject[column] = value;
        }
Example #29
0
        private byte[] GetBuffer(HttpContext context)
        {
            var data = GetData(context);

            if (data == null)
                data = new DataObject<object>();

            // serialize object to JSON
            return Encoding.UTF8.GetBytes((
                new JavaScriptSerializer()).Serialize(data));
        }
Example #30
0
        public static DataObject EvaluateAny(SqlExpressionType plainType, DataObject ob1, DataObject ob2, EvaluateContext context)
        {
            if (ob2.Type is QueryType) {
                // The sub-query plan
                var plan = ((SqlQueryObject)ob2.Value).QueryPlan;
                // Discover the correlated variables for this plan.
                var list = plan.DiscoverQueryReferences(1);

                if (list.Count > 0) {
                    // Set the correlated variables from the IVariableResolver
                    foreach (var variable in list) {
                        variable.Evaluate(context.VariableResolver);
                    }

                    // Clear the cache in the context
                    context.QueryContext.TableCache.Clear();
                }

                // Evaluate the plan,
                var t = plan.Evaluate(context.QueryContext);

                // The ANY operation
                var revPlainOp = plainType.Reverse();
                // TODO: return t.ColumnMatchesValue(0, revPlainOp, ob1);
                throw new NotImplementedException();
            }

            if (ob2.Type is ArrayType) {
                var expList = (SqlArray)ob2.Value;
                // Assume there are no matches
                var retVal = DataObject.BooleanFalse;
                foreach (var exp in expList) {
                    var expItem = exp.Evaluate(context);
                    if (expItem.ExpressionType != SqlExpressionType.Constant)
                        throw new InvalidOperationException();

                    var evalItem = (SqlConstantExpression) expItem;

                    // If null value, return null if there isn't otherwise a match found.
                    if (evalItem.Value.IsNull) {
                        retVal = DataObject.BooleanNull;
                    } else if (IsTrue(Evaluate(ob1, plainType, evalItem.Value, context))) {
                        // If there is a match, the ANY set test is true
                        return DataObject.BooleanTrue;
                    }
                }
                // No matches, so return either false or NULL.  If there are no matches
                // and no nulls, return false.  If there are no matches and there are
                // nulls present, return null.
                return retVal;
            }

            throw new InvalidOperationException("Unknown RHS of ANY.");
        }
Example #31
0
        /// <summary>
        /// Adds a new object to the database.
        /// </summary>
        /// <param name="dataObject">the object to add to the database</param>
        /// <returns>true if the object was added successfully; false otherwise</returns>
        protected override bool AddObjectImpl(DataObject dataObject)
        {
            try
            {
                string tableName = dataObject.TableName;

                var columns = new StringBuilder();
                var values  = new StringBuilder();

                MemberInfo[] objMembers        = dataObject.GetType().GetMembers();
                bool         hasRelations      = false;
                bool         usePrimary        = false;
                object       primaryKey        = null;
                string       primaryColumnName = "";
                bool         firstColumn       = true;
                string       dateFormat        = Connection.GetDBDateFormat();

                for (int i = 0; i < objMembers.Length; i++)
                {
                    bool isPrimary = false;

                    if (!hasRelations)
                    {
                        object[] relAttrib = GetRelationAttributes(objMembers[i]);
                        hasRelations = relAttrib.Length > 0;
                    }
                    object[] keyAttrib = objMembers[i].GetCustomAttributes(typeof(PrimaryKey), true);
                    object[] attrib    = objMembers[i].GetCustomAttributes(typeof(DataElement), true);

                    // if a primary key field is using auto increment then use it as the key instead of the tablename_id column
                    if (keyAttrib.Length > 0 && (keyAttrib[0] as PrimaryKey).AutoIncrement)
                    {
                        usePrimary        = true;
                        primaryColumnName = objMembers[i].Name;
                        isPrimary         = true;
                    }

                    if (attrib.Length > 0 || keyAttrib.Length > 0)
                    {
                        object val = null;
                        if (objMembers[i] is PropertyInfo)
                        {
                            val = ((PropertyInfo)objMembers[i]).GetValue(dataObject, null);
                        }
                        else if (objMembers[i] is FieldInfo)
                        {
                            val = ((FieldInfo)objMembers[i]).GetValue(dataObject);
                        }

                        if (firstColumn == false)
                        {
                            columns.Append(", ");
                            values.Append(", ");
                        }

                        columns.Append("`" + objMembers[i].Name + "`");

                        firstColumn = false;

                        if (val is bool)
                        {
                            val = ((bool)val) ? (byte)1 : (byte)0;
                        }
                        else if (val is DateTime)
                        {
                            val = ((DateTime)val).ToString(dateFormat);
                        }
                        else if (val is float)
                        {
                            val = ((float)val).ToString(Nfi);
                        }
                        else if (val is double)
                        {
                            val = ((double)val).ToString(Nfi);
                        }
                        else if (val is string)
                        {
                            val = Escape(val.ToString());
                        }

                        values.Append('\'');
                        values.Append(val);
                        values.Append('\'');

                        if (isPrimary)
                        {
                            if (val is int)
                            {
                                primaryKey = Convert.ToInt32(val);
                            }
                            else if (val is long)
                            {
                                primaryKey = Convert.ToInt64(val);
                            }
                            else
                            {
                                if (Log.IsErrorEnabled)
                                {
                                    Log.Error("Error adding object into " + dataObject.TableName + ".  PrimaryKey with AutoIncrement must be of type int or long.");
                                }

                                return(false);
                            }
                        }
                    }
                }

                if (usePrimary == false)
                {
                    if (dataObject.ObjectId == null)
                    {
                        dataObject.ObjectId = IDGenerator.GenerateID();
                    }

                    // Add the silly Tablename_ID column
                    columns.Insert(0, "`" + tableName + "_ID`, ");
                    values.Insert(0, "'" + Escape(dataObject.ObjectId) + "', ");
                }

                string sql = "INSERT INTO `" + tableName + "` (" + columns + ") VALUES (" + values + ")";

                if (Log.IsDebugEnabled)
                {
                    Log.Debug(sql);
                }

                if (usePrimary)
                {
                    object objID = Connection.ExecuteScalar(sql + "; SELECT LAST_INSERT_ID();");

                    object newID;
                    bool   newIDzero = false;
                    bool   error     = false;

                    if (primaryKey is int)
                    {
                        newID     = Convert.ToInt32(objID);
                        newIDzero = (int)newID == 0;
                        error     = newIDzero && (int)primaryKey == 0;
                    }
                    else
                    {
                        newID     = Convert.ToInt64(objID);
                        newIDzero = (long)newID == 0;
                        error     = newIDzero && (long)primaryKey == 0;
                    }

                    if (primaryKey == null || error)
                    {
                        if (Log.IsErrorEnabled)
                        {
                            Log.Error("Error adding object into " + dataObject.TableName + " ID=" + objID + ", UsePrimary, Query = " + sql);
                        }
                        return(false);
                    }
                    else
                    {
                        if (newIDzero)
                        {
                            newID = Convert.ToInt64(primaryKey);
                        }

                        for (int i = 0; i < objMembers.Length; i++)
                        {
                            if (objMembers[i].Name == primaryColumnName)
                            {
                                if (objMembers[i] is PropertyInfo)
                                {
                                    if (primaryKey is long)
                                    {
                                        ((PropertyInfo)objMembers[i]).SetValue(dataObject, (long)newID, null);
                                    }
                                    else
                                    {
                                        ((PropertyInfo)objMembers[i]).SetValue(dataObject, (int)newID, null);
                                    }
                                }
                                else if (objMembers[i] is FieldInfo)
                                {
                                    if (primaryKey is long)
                                    {
                                        ((FieldInfo)objMembers[i]).SetValue(dataObject, (long)newID);
                                    }
                                    else
                                    {
                                        ((FieldInfo)objMembers[i]).SetValue(dataObject, (int)newID);
                                    }
                                }

                                break;
                            }
                        }
                    }
                }
                else
                {
                    int res = Connection.ExecuteNonQuery(sql);
                    if (res == 0)
                    {
                        if (Log.IsErrorEnabled)
                        {
                            Log.Error("Error adding object into " + dataObject.TableName + " ID=" + dataObject.ObjectId + "Query = " + sql);
                        }
                        return(false);
                    }
                }


                if (hasRelations)
                {
                    SaveObjectRelations(dataObject);
                }

                dataObject.Dirty       = false;
                dataObject.IsPersisted = true;
                dataObject.IsDeleted   = false;

                return(true);
            }
            catch (Exception e)
            {
                if (Log.IsErrorEnabled)
                {
                    Log.Error("Error while adding data object: " + dataObject.ToString(), e);
                }
            }

            return(false);
        }
Example #32
0
        public void TestActionWithLcs()
        {
            ActODataService(args =>
            {
                args.Token.Functions.RegisterAction(new Func <QueryParameters, string, string, IEnumerable <DataObject> >(AddWithQueryParameters));
                RegisterODataActions(args.Token.Functions, args.DataService);

                // Создаем объекты и кладем их в базу данных.
                DataObject[] countries = new DataObject[5];
                int countriesCount     = countries.Length;
                for (int i = 0; i < countriesCount; i++)
                {
                    countries[i] = new Страна {
                        Название = $"Страна №{i}"
                    };
                }

                args.DataService.UpdateObjects(ref countries);

                // Формируем URL запроса к OData-сервису.
                string requestUrl = $"http://localhost/odata/ActionWithLcs";
                string json       = "{\"entitySet\": \"Странаs\", \"query\": \"$filter=Название eq 'Страна №1'\"}";

                // Обращаемся к OData-сервису и обрабатываем ответ.
                using (HttpResponseMessage response = args.HttpClient.PostAsJsonStringAsync(requestUrl, json).Result)
                {
                    // Убедимся, что запрос завершился успешно.
                    Assert.Equal(HttpStatusCode.OK, response.StatusCode);

                    // Получим строку с ответом.
                    string receivedStr = response.Content.ReadAsStringAsync().Result.Beautify();

                    // Преобразуем полученный объект в словарь.
                    Dictionary <string, object> receivedDict = new JavaScriptSerializer().Deserialize <Dictionary <string, object> >(receivedStr);

                    Assert.True(receivedDict.ContainsKey("value"));
                    Assert.Equal(1, (receivedDict["value"] as ArrayList).Count);
                }

                DataServiceProvider.DataService = args.DataService;
                requestUrl = $"http://localhost/odata/AddWithQueryParameters";
                json       = "{\"entitySet\": \"Странаs\", \"query\": \"$filter=Название eq 'Страна №2'\"}";
                // Обращаемся к OData-сервису и обрабатываем ответ.
                using (HttpResponseMessage response = args.HttpClient.PostAsJsonStringAsync(requestUrl, json).Result)
                {
                    // Убедимся, что запрос завершился успешно.
                    Assert.Equal(HttpStatusCode.OK, response.StatusCode);

                    // Получим строку с ответом.
                    string receivedStr = response.Content.ReadAsStringAsync().Result.Beautify();

                    // Преобразуем полученный объект в словарь.
                    Dictionary <string, object> receivedDict = new JavaScriptSerializer().Deserialize <Dictionary <string, object> >(receivedStr);

                    Assert.True(receivedDict.ContainsKey("value"));
                    Assert.Equal(1, (receivedDict["value"] as ArrayList).Count);
                }

                requestUrl = $"http://localhost/odata/ActionVoid";

                // Обращаемся к OData-сервису и обрабатываем ответ.
                using (HttpResponseMessage response = args.HttpClient.PostAsJsonStringAsync(requestUrl, json).Result)
                {
                    // Убедимся, что запрос завершился успешно.
                    Assert.Equal(HttpStatusCode.OK, response.StatusCode);
                }
            });
        }
Example #33
0
 public General()
 {
     InitializeComponent();
     DataObject.AddCopyingHandler(txtTopic, Topic_OnCopy);
     DataObject.AddPastingHandler(txtTopic, Topic_OnPaste);
 }
 protected abstract void DeserializeFromData(DataObject data);
Example #35
0
        protected void Page_Load(object sender, EventArgs e)
        {
            base.OnInit(e);
            udc  = UserDataContext.GetUserDataContext();
            page = DataObject.Load <DataObjectPage>(ObjectID, null, true);
            if (page.State == ObjectState.Added)
            {
                page = new DataObjectPage(udc);
                page.ParentObjectType = Helper.GetObjectTypeNumericID("Page");
                var roleRights = page.RoleRight.Keys.ToArray();
                foreach (var roleRight in roleRights)
                {
                    page.RoleRight[roleRight] = true;
                }
                page.ObjectID    = ObjectID;
                page.CommunityID = ObjectID;
                page.Title       = GuiLanguage.GetGuiLanguage("Shared").GetString("LabelUnnamed");
                page.Status      = ObjectStatus.Public;
                page.ShowState   = ObjectShowState.InProgress;
                page.Insert(udc);
                page = DataObject.Load <DataObjectPage>(ObjectID, null, true);

                HitblCommunityCty objCommunity = new HitblCommunityCty();
                objCommunity.CtyId           = page.ObjectID.Value;
                objCommunity.CtyInsertedDate = page.Inserted;
                objCommunity.CtyVirtualUrl   = Guid.NewGuid().ToString();
                objCommunity.UsrIdInserted   = page.UserID.Value;
                objCommunity.CtyIsProfile    = false;
                objCommunity.CtyStatus       = (int)CommunityStatus.Initializing;
                objCommunity.CtyLayout       = _4screen.CSB.Common.CustomizationSection.CachedInstance.DefaultLayouts.Page;
                objCommunity.CtyTheme        = Constants.DEFAULT_THEME;
                objCommunity.CtyUpdatedDate  = page.Inserted;
                objCommunity.UsrIdUpdated    = page.UserID;
                objCommunity.Save();
            }

            community = HitblCommunityCty.FetchByID(ObjectID.Value);
            if (community.CtyStatus != (int)CommunityStatus.Initializing)
            {
                txtCommName.ReadOnly = true;
            }
            else
            {
                page.Title = string.Empty;
            }

            if (!string.IsNullOrEmpty(Request.QueryString["TG"]))
            {
                page.TagList = Server.UrlDecode(Request.QueryString["TG"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["OS"]))
            {
                page.Status = (ObjectStatus)int.Parse(Request.QueryString["OS"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["SS"]))
            {
                page.ShowState = (ObjectShowState)int.Parse(Request.QueryString["SS"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CR"]))
            {
                page.Copyright = int.Parse(Request.QueryString["CR"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["GC"]))
            {
                string[] geoLatLong = Request.QueryString["GC"].Split(',');
                double   geoLat, geoLong = double.MinValue;
                if (geoLatLong.Length == 2)
                {
                    if (double.TryParse(geoLatLong[0], out geoLat) && double.TryParse(geoLatLong[1], out geoLong))
                    {
                        page.Geo_Lat  = geoLat;
                        page.Geo_Long = geoLong;
                    }
                }
            }
            if (!string.IsNullOrEmpty(Request.QueryString["ZP"]))
            {
                page.Zip = Server.UrlDecode(Request.QueryString["ZP"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CI"]))
            {
                page.City = Server.UrlDecode(Request.QueryString["CI"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["RE"]))
            {
                page.Street = Server.UrlDecode(Request.QueryString["RE"]);
            }
            if (!string.IsNullOrEmpty(Request.QueryString["CO"]))
            {
                page.CountryCode = Server.UrlDecode(Request.QueryString["CO"]);
            }

            InsertRoles();
            FillEditForm();
        }
Example #36
0
        /// <summary>
        /// Refreshes the control's property
        /// values to reflect the values of
        /// the underlying business object.
        /// </summary>
        public void Refresh()
        {
            // per-type rules
            if (DataObject != null)
            {
                Type sourceType = DataObject.GetType();
                if (CanCreateObject != YYT.Security.AuthorizationRules.CanCreateObject(sourceType))
                {
                    CanCreateObject = YYT.Security.AuthorizationRules.CanCreateObject(sourceType);
                }
                if (CanGetObject != YYT.Security.AuthorizationRules.CanGetObject(sourceType))
                {
                    CanGetObject = YYT.Security.AuthorizationRules.CanGetObject(sourceType);
                }
                if (CanEditObject != YYT.Security.AuthorizationRules.CanEditObject(sourceType))
                {
                    CanEditObject = YYT.Security.AuthorizationRules.CanEditObject(sourceType);
                }
                if (CanDeleteObject != YYT.Security.AuthorizationRules.CanDeleteObject(sourceType))
                {
                    CanDeleteObject = YYT.Security.AuthorizationRules.CanDeleteObject(sourceType);
                }
            }
            else
            {
                CanCreateObject = false;
                CanGetObject    = false;
                CanEditObject   = false;
                CanDeleteObject = false;
            }

            IEditableBusinessObject source = DataObject as IEditableBusinessObject;

            if (source != null)
            {
                if (IsDeleted != source.IsDeleted)
                {
                    IsDeleted = source.IsDeleted;
                }
                if (IsDirty != source.IsDirty)
                {
                    IsDirty = source.IsDirty;
                }
                if (IsNew != source.IsNew)
                {
                    IsNew = source.IsNew;
                }
                if (IsSavable != source.IsSavable)
                {
                    IsSavable = source.IsSavable;
                }
                if (IsValid != source.IsValid)
                {
                    IsValid = source.IsValid;
                }
            }
            else
            {
                IEditableCollection sourceList = DataObject as IEditableCollection;
                if (sourceList != null)
                {
                    if (IsDirty != sourceList.IsDirty)
                    {
                        IsDirty = sourceList.IsDirty;
                    }
                    if (IsValid != sourceList.IsValid)
                    {
                        IsValid = sourceList.IsValid;
                    }
                    if (IsSavable != sourceList.IsSavable)
                    {
                        IsSavable = sourceList.IsSavable;
                    }
                    IsDeleted = false;
                    IsNew     = false;
                }
            }
        }
Example #37
0
        public int OleDragEnter(IntPtr pDataObj, int grfKeyState, long pt, ref int pdwEffect)
        {
            // check for AllowDrop
            if (this.htmlEditor.AllowDrop == false)
            {
                return(Interop.S_FALSE);
            }
            int left = (int)(pt & 0xFFFF);
            int top  = (int)(pt >> 32) & 0xFFFF;

            this.DragPointX = left;
            this.DragPointY = top;
            int    result = Interop.S_OK;
            object o      = Marshal.GetObjectForIUnknown(pDataObj);

            _currentDataObj = new DataObject(o);
            IntPtr cptr;

            this._dropInfo.ConverterInfo = this._dropInfo.Converter.CanConvertToHtml(_currentDataObj);
            switch (this._dropInfo.ConverterInfo)
            {
            case DataObjectConverterInfo.Native:
                nativeElement = GetElementFromData();
                if (nativeElement == null)
                {
                    this._dropInfo.ConverterInfo = DataObjectConverterInfo.Unhandled;
                    goto case DataObjectConverterInfo.Unhandled;
                }
                // let's drop HTML but keep the serialized element
                DataObject foolcurrentDataObj = new DataObject(DataFormats.Html, nativeElement.OuterHtml);
                IntPtr     fooldataObjectPtr  = Marshal.GetIUnknownForObject(foolcurrentDataObj);
                Marshal.QueryInterface(fooldataObjectPtr, ref guid, out cptr);
                Marshal.Release(fooldataObjectPtr);
                result = this._originalDropTarget.OleDragEnter(cptr, grfKeyState, pt, ref pdwEffect);
                break;

            case DataObjectConverterInfo.CanConvert:
                object data = _currentDataObj.GetData(DataFormats.Serializable);
                dragData = (DragDropCommands)data;
                GetMouseCursor(dragData);
                this._currentDataObj = new DataObject(DataFormats.Html, String.Empty);
                dataObjectPtr        = Marshal.GetIUnknownForObject(this._currentDataObj);
                Marshal.QueryInterface(dataObjectPtr, ref guid, out cptr);
                Marshal.Release(dataObjectPtr);
                result = this._originalDropTarget.OleDragEnter(cptr, grfKeyState, pt, ref pdwEffect);
                break;

            case  DataObjectConverterInfo.Disabled:
                result = Interop.S_FALSE;
                break;

            case DataObjectConverterInfo.Text:
            case DataObjectConverterInfo.Unhandled:
                try
                {
                    result = this._originalDropTarget.OleDragEnter(pDataObj, grfKeyState, pt, ref pdwEffect);

                    System.Diagnostics.Debug.WriteLine(_currentDataObj.GetData(DataFormats.Html));
                }
                catch
                {
                }
                break;

            case DataObjectConverterInfo.Externally:
                result = Interop.S_OK;
                break;
            }
            DragEventArgs drgevent = CreateEventArgs(grfKeyState, left, top, (DragDropEffects)pdwEffect, (DragDropEffects)pdwEffect);

            this.htmlEditor.OnDragEnter(drgevent);
            return(result);
        }
Example #38
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AutoSelectTextBox"/> class.
 /// </summary>
 public AutoSelectTextBox()
 {
     // Do not allow the text copy when it is selected.
     DataObject.AddCopyingHandler(this, this.DisableDragCopy);
 }
Example #39
0
 protected override DataObject EvaluateBinary(DataObject ob1, DataObject ob2, IEvaluateContext context)
 {
     return(ob1.IsEqual(ob2));
 }
        /// <summary>
        /// The example refers to the process of creating an optimization
        /// with 24 stops and options: multi-depot, multi-driver, time windows options.
        /// </summary>
        public void MultipleDepotMultipleDriverWith24StopsTimeWindow()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            // Prepare the addresses
            Address[] addresses = new Address[]
            {
                #region Addresses

                new Address()
                {
                    AddressString   = "3634 W Market St, Fairlawn, OH 44333",
                    IsDepot         = true,
                    Latitude        = 41.135762259364,
                    Longitude       = -81.629313826561,
                    Time            = 300,
                    TimeWindowStart = 28800,
                    TimeWindowEnd   = 29465
                },

                new Address()
                {
                    AddressString   = "1218 Ruth Ave, Cuyahoga Falls, OH 44221",
                    Latitude        = 41.143505096435,
                    Longitude       = -81.46549987793,
                    Time            = 300,
                    TimeWindowStart = 29465,
                    TimeWindowEnd   = 30529
                },

                new Address()
                {
                    AddressString   = "512 Florida Pl, Barberton, OH 44203",
                    IsDepot         = true,
                    Latitude        = 41.003671512008,
                    Longitude       = -81.598461046815,
                    Time            = 300,
                    TimeWindowStart = 33479,
                    TimeWindowEnd   = 33944
                },

                new Address()
                {
                    AddressString   = "3495 Purdue St, Cuyahoga Falls, OH 44221",
                    Latitude        = 41.162971496582,
                    Longitude       = -81.479049682617,
                    Time            = 300,
                    TimeWindowStart = 33944,
                    TimeWindowEnd   = 34801
                },

                new Address()
                {
                    AddressString   = "1659 Hibbard Dr, Stow, OH 44224",
                    Latitude        = 41.194505989552,
                    Longitude       = -81.443351581693,
                    Time            = 300,
                    TimeWindowStart = 34801,
                    TimeWindowEnd   = 36366
                },

                new Address()
                {
                    AddressString   = "2705 N River Rd, Stow, OH 44224",
                    Latitude        = 41.145240783691,
                    Longitude       = -81.410247802734,
                    Time            = 300,
                    TimeWindowStart = 36366,
                    TimeWindowEnd   = 39173
                },

                new Address()
                {
                    AddressString   = "10159 Bissell Dr, Twinsburg, OH 44087",
                    Latitude        = 41.340042114258,
                    Longitude       = -81.421226501465,
                    Time            = 300,
                    TimeWindowStart = 39173,
                    TimeWindowEnd   = 41617
                },

                new Address()
                {
                    AddressString   = "367 Cathy Dr, Munroe Falls, OH 44262",
                    Latitude        = 41.148578643799,
                    Longitude       = -81.429229736328,
                    Time            = 300,
                    TimeWindowStart = 41617,
                    TimeWindowEnd   = 43660
                },

                new Address()
                {
                    AddressString   = "367 Cathy Dr, Munroe Falls, OH 44262",
                    Latitude        = 41.148579,
                    Longitude       = -81.42923,
                    Time            = 300,
                    TimeWindowStart = 43660,
                    TimeWindowEnd   = 46392
                },

                new Address()
                {
                    AddressString   = "512 Florida Pl, Barberton, OH 44203",
                    Latitude        = 41.003671512008,
                    Longitude       = -81.598461046815,
                    Time            = 300,
                    TimeWindowStart = 46392,
                    TimeWindowEnd   = 48089
                },

                new Address()
                {
                    AddressString   = "559 W Aurora Rd, Northfield, OH 44067",
                    Latitude        = 41.315116882324,
                    Longitude       = -81.558746337891,
                    Time            = 300,
                    TimeWindowStart = 48089,
                    TimeWindowEnd   = 48449
                },

                new Address()
                {
                    AddressString   = "3933 Klein Ave, Stow, OH 44224",
                    Latitude        = 41.169467926025,
                    Longitude       = -81.429420471191,
                    Time            = 300,
                    TimeWindowStart = 48449,
                    TimeWindowEnd   = 50152
                },

                new Address()
                {
                    AddressString   = "2148 8th St, Cuyahoga Falls, OH 44221",
                    Latitude        = 41.136692047119,
                    Longitude       = -81.493492126465,
                    Time            = 300,
                    TimeWindowStart = 50152,
                    TimeWindowEnd   = 51682
                },

                new Address()
                {
                    AddressString   = "3731 Osage St, Stow, OH 44224",
                    Latitude        = 41.161357879639,
                    Longitude       = -81.42293548584,
                    Time            = 300,
                    TimeWindowStart = 51682,
                    TimeWindowEnd   = 54379
                },

                new Address()
                {
                    AddressString   = "3862 Klein Ave, Stow, OH 44224",
                    Latitude        = 41.167895123363,
                    Longitude       = -81.429973393679,
                    Time            = 300,
                    TimeWindowStart = 54379,
                    TimeWindowEnd   = 54879
                },

                new Address()
                {
                    AddressString   = "138 Northwood Ln, Tallmadge, OH 44278",
                    Latitude        = 41.085464134812,
                    Longitude       = -81.447411775589,
                    Time            = 300,
                    TimeWindowStart = 54879,
                    TimeWindowEnd   = 56613
                },

                new Address()
                {
                    AddressString   = "3401 Saratoga Blvd, Stow, OH 44224",
                    Latitude        = 41.148849487305,
                    Longitude       = -81.407363891602,
                    Time            = 300,
                    TimeWindowStart = 56613,
                    TimeWindowEnd   = 57052
                },

                new Address()
                {
                    AddressString   = "5169 Brockton Dr, Stow, OH 44224",
                    Latitude        = 41.195003509521,
                    Longitude       = -81.392700195312,
                    Time            = 300,
                    TimeWindowStart = 57052,
                    TimeWindowEnd   = 59004
                },

                new Address()
                {
                    AddressString   = "5169 Brockton Dr, Stow, OH 44224",
                    Latitude        = 41.195003509521,
                    Longitude       = -81.392700195312,
                    Time            = 300,
                    TimeWindowStart = 59004,
                    TimeWindowEnd   = 60027
                },

                new Address()
                {
                    AddressString   = "458 Aintree Dr, Munroe Falls, OH 44262",
                    Latitude        = 41.1266746521,
                    Longitude       = -81.445808410645,
                    Time            = 300,
                    TimeWindowStart = 60027,
                    TimeWindowEnd   = 60375
                },

                new Address()
                {
                    AddressString   = "512 Florida Pl, Barberton, OH 44203",
                    Latitude        = 41.003671512008,
                    Longitude       = -81.598461046815,
                    Time            = 300,
                    TimeWindowStart = 60375,
                    TimeWindowEnd   = 63891
                },

                new Address()
                {
                    AddressString   = "2299 Tyre Dr, Hudson, OH 44236",
                    Latitude        = 41.250511169434,
                    Longitude       = -81.420433044434,
                    Time            = 300,
                    TimeWindowStart = 63891,
                    TimeWindowEnd   = 65277
                },

                new Address()
                {
                    AddressString   = "2148 8th St, Cuyahoga Falls, OH 44221",
                    Latitude        = 41.136692047119,
                    Longitude       = -81.493492126465,
                    Time            = 300,
                    TimeWindowStart = 65277,
                    TimeWindowEnd   = 68545
                }

                #endregion
            };

            // Set parameters
            var parameters = new RouteParameters()
            {
                AlgorithmType = AlgorithmType.CVRP_TW_MD,
                RouteName     = "Multiple Depot, Multiple Driver with 24 Stops, Time Window",

                RouteDate            = R4MeUtils.ConvertToUnixTimestamp(DateTime.UtcNow.Date.AddDays(1)),
                RouteTime            = 60 * 60 * 7,
                RouteMaxDuration     = 86400,
                VehicleCapacity      = 5,
                VehicleMaxDistanceMI = 10000,

                Optimize     = Optimize.Distance.Description(),
                DistanceUnit = DistanceUnit.MI.Description(),
                DeviceType   = DeviceType.Web.Description(),
                TravelMode   = TravelMode.Driving.Description(),
                Metric       = Metric.Matrix
            };

            var optimizationParameters = new OptimizationParameters()
            {
                Addresses  = addresses,
                Parameters = parameters
            };

            // Run the query
            DataObject dataObject = route4Me.RunOptimization(
                optimizationParameters,
                out string errorString);

            OptimizationsToRemove = new List <string>()
            {
                dataObject?.OptimizationProblemId ?? null
            };

            // Output the result
            PrintExampleOptimizationResult(dataObject, errorString);

            RemoveTestOptimizations();
        }
Example #41
0
 public TagDataView()
 {
     InitializeComponent();
     _vm = root.DataContext as TagDataViewModel;
     DataObject.AddPastingHandler(txtID, OnPaste);
 }
Example #42
0
 /// <summary>
 ///  Constructs a ComboProperty with a given name
 ///  and adds it to the parent data object under this name.
 /// </summary>
 /// <param name="parent">The parent data object to add the property to if applicable.</param>
 /// <param name="name">The property name that should be unique within the parent data object.</param>
 public ComboProperty(DataObject parent, string name)
     : base(parent, name)
 {
     IsMultiValued = true;
     TrimValues    = true;
 }
Example #43
0
        private void CopySelectionToClip()
        {
            DataObject dataObj = dataGridView1.GetClipboardContent();

            Clipboard.SetDataObject(dataObj, true);
        }
 public NumbiricTextBox()
 {
     SetValue(InputMethod.IsInputMethodEnabledProperty, false); //禁用输入法
     DataObject.AddPastingHandler(this, TextBoxPasting);        //粘贴时候判断
     this.MaxLength = 2;                                        //设置长度,避免过多输入
 }
Example #45
0
 /// <summary>
 ///  Constructs an EnumLongProperty with a given name and adds it to the parent data object under this name.
 /// </summary>
 /// <param name="parent">The parent data object to add the property to if applicable.</param>
 /// <param name="name">The property name that should be unique within the parent data object.</param>
 public EnumLongProperty(DataObject parent, string name)
     : base(parent, name)
 {
 }
 public clsPhanCongCoithi_DAL()
 {
     obj = new DataObject();
 }
Example #47
0
        public int OleDrop(IntPtr pDataObj, int grfKeyState, long pt, ref int pdwEffect)
        {
            int     result = Interop.S_OK;
            Control hostControl;
            Form    hostForm;

            hostControl = this.htmlEditor;
            while (hostControl != null)
            {
                hostControl = hostControl.Parent;
                hostForm    = hostControl as Form;
                if (hostForm == null)
                {
                    continue;
                }
                hostForm.BringToFront();
                break;
            }
            int    left = (int)(pt & 0xFFFF);
            int    top  = (int)(pt >> 32) & 0xFFFF;
            long   pt2;
            object o = Marshal.GetObjectForIUnknown(pDataObj);

            _currentDataObj = new DataObject(o);
            IntPtr cptr;

            switch (this._dropInfo.ConverterInfo)
            {
            case DataObjectConverterInfo.Native:
                // Create new DataObject
                if (nativeElement == null)
                {
                    this._dropInfo.ConverterInfo = DataObjectConverterInfo.Unhandled;
                    goto case DataObjectConverterInfo.Unhandled;
                }
                string id     = nativeElement.GetAttribute("id") as string;
                string tempId = Guid.NewGuid().ToString();
                nativeElement.SetAttribute("id", tempId);
                DataObject foolcurrentDataObj = new DataObject(DataFormats.Html, nativeElement.OuterHtml);
                IntPtr     fooldataObjectPtr  = Marshal.GetIUnknownForObject(foolcurrentDataObj);
                Marshal.QueryInterface(fooldataObjectPtr, ref guid, out cptr);
                Marshal.Release(fooldataObjectPtr);
                pt2           = (left - 4) + ((long)(top - 16) << 32);
                result        = this._originalDropTarget.OleDrop(cptr, grfKeyState, pt, ref pdwEffect);
                nativeElement = htmlEditor.GetElementById(tempId);
                nativeElement.SetAttribute("id", id);
                break;

            case DataObjectConverterInfo.CanConvert:
                object data = _currentDataObj.GetData(DataFormats.Serializable);
                dragData             = (DragDropCommands)data;
                this._currentDataObj = new DataObject(DataFormats.Html, String.Empty);
                pDataObj             = Marshal.GetIUnknownForObject(this._currentDataObj);
                Marshal.QueryInterface(dataObjectPtr, ref guid, out cptr);
                Marshal.Release(dataObjectPtr);
                pt2    = (left - 4) + ((long)(top - 16) << 32);
                result = this._originalDropTarget.OleDrop(cptr, grfKeyState, pt2, ref pdwEffect);
                break;

            case DataObjectConverterInfo.Text:
            case DataObjectConverterInfo.Unhandled:
                result = this._originalDropTarget.OleDrop(pDataObj, grfKeyState, pt, ref pdwEffect);
                break;

            case DataObjectConverterInfo.Externally:
                result = Interop.S_OK;
                break;
            }
            if (nativeElement != null)
            {
                SetElementPositioning(nativeElement, left, top);
                _currentDataObj.SetData(typeof(IElement), nativeElement);
            }
            DragEventArgs drgevent = CreateEventArgs(grfKeyState, left, top, (DragDropEffects)pdwEffect, (DragDropEffects)pdwEffect);

            this.htmlEditor.OnDragDrop(drgevent);
            pdwEffect = (int)drgevent.AllowedEffect;
            return(result);
        }
 protected abstract bool CanDeserializeFromData(DataObject data);
Example #49
0
 public static DataObject String(string s)
 {
     return(DataObject.String(s));
 }
        internal static DataObject _CreateDataObject(TextEditor This, bool isDragDrop)
        {
            new UIPermission(UIPermissionClipboard.AllClipboard).Assert();
            DataObject dataObject;

            try
            {
                dataObject = new DataObject();
            }
            finally
            {
                CodeAccessPermission.RevertAssert();
            }
            string text = This.Selection.Text;

            if (text != string.Empty)
            {
                if (TextEditorCopyPaste.ConfirmDataFormatSetting(This.UiScope, dataObject, DataFormats.Text))
                {
                    TextEditorCopyPaste.CriticalSetDataWrapper(dataObject, DataFormats.Text, text);
                }
                if (TextEditorCopyPaste.ConfirmDataFormatSetting(This.UiScope, dataObject, DataFormats.UnicodeText))
                {
                    TextEditorCopyPaste.CriticalSetDataWrapper(dataObject, DataFormats.UnicodeText, text);
                }
            }
            if (This.AcceptsRichContent)
            {
                if (SecurityHelper.CheckUnmanagedCodePermission())
                {
                    Stream stream = null;
                    string text2  = WpfPayload.SaveRange(This.Selection, ref stream, false);
                    if (text2.Length > 0)
                    {
                        if (stream != null && TextEditorCopyPaste.ConfirmDataFormatSetting(This.UiScope, dataObject, DataFormats.XamlPackage))
                        {
                            dataObject.SetData(DataFormats.XamlPackage, stream);
                        }
                        if (TextEditorCopyPaste.ConfirmDataFormatSetting(This.UiScope, dataObject, DataFormats.Rtf))
                        {
                            string text3 = TextEditorCopyPaste.ConvertXamlToRtf(text2, stream);
                            if (text3 != string.Empty)
                            {
                                dataObject.SetData(DataFormats.Rtf, text3, true);
                            }
                        }
                    }
                    Image image = This.Selection.GetUIElementSelected() as Image;
                    if (image != null && image.Source is BitmapSource)
                    {
                        dataObject.SetImage((BitmapSource)image.Source);
                    }
                }
                StringWriter  stringWriter = new StringWriter(CultureInfo.InvariantCulture);
                XmlTextWriter xmlWriter    = new XmlTextWriter(stringWriter);
                TextRangeSerialization.WriteXaml(xmlWriter, This.Selection, false, null);
                string text4 = stringWriter.ToString();
                if (text4.Length > 0 && TextEditorCopyPaste.ConfirmDataFormatSetting(This.UiScope, dataObject, DataFormats.Xaml))
                {
                    TextEditorCopyPaste.CriticalSetDataWrapper(dataObject, DataFormats.Xaml, text4);
                    PermissionSet permissionSet = SecurityHelper.ExtractAppDomainPermissionSetMinusSiteOfOrigin();
                    string        content       = permissionSet.ToString();
                    TextEditorCopyPaste.CriticalSetDataWrapper(dataObject, DataFormats.ApplicationTrust, content);
                }
            }
            DataObjectCopyingEventArgs dataObjectCopyingEventArgs = new DataObjectCopyingEventArgs(dataObject, isDragDrop);

            This.UiScope.RaiseEvent(dataObjectCopyingEventArgs);
            if (dataObjectCopyingEventArgs.CommandCancelled)
            {
                dataObject = null;
            }
            return(dataObject);
        }
        public Dialog_Construction(HB.ModelEnergyProperties libSource, HB.Energy.IConstruction construction, bool lockedMode = false)
        {
            try
            {
                this.ModelEnergyProperties = libSource;

                _hbObj = construction;

                Padding     = new Padding(5);
                Resizable   = true;
                Title       = $"Construction - {DialogHelper.PluginName}";
                WindowStyle = WindowStyle.Default;
                MinimumSize = new Size(650, 500);
                this.Icon   = DialogHelper.HoneybeeIcon;

                var OkButton = new Button {
                    Text = "OK", Enabled = !lockedMode
                };
                OkButton.Click += (sender, e) =>
                {
                    // add new material to library source
                    foreach (var layer in _layers)
                    {
                        var m = OpaqueMaterials.FirstOrDefault(_ => _.Identifier == layer);
                        m = m ?? WindowMaterials.FirstOrDefault(_ => _.Identifier == layer);
                        var dup = m.Duplicate() as HB.Energy.IMaterial;
                        dup.DisplayName = m.DisplayName ?? m.Identifier;
                        libSource.AddMaterial(dup);
                    }
                    OkCommand.Execute(_hbObj);
                };

                AbortButton = new Button {
                    Text = "Cancel"
                };
                AbortButton.Click += (sender, e) => Close();

                //var panel = new Panel_Schedule(sch);
                //panel.AddSeparateRow(null, OkButton, AbortButton, null);
                //Content = panel;

                var leftLayout = new DynamicLayout();
                leftLayout.DefaultSpacing = new Size(5, 5);
                leftLayout.DefaultPadding = new Padding(5);
                leftLayout.Height         = 600;

                leftLayout.AddRow("Name");
                var name = new TextBox();
                _hbObj.DisplayName = _hbObj.DisplayName ?? _hbObj.Identifier;
                name.TextBinding.Bind(() => _hbObj.DisplayName, v => _hbObj.DisplayName = v);
                leftLayout.AddRow(name);



                var groupContent = new DynamicLayout();
                groupContent.DefaultSpacing = new Size(5, 5);
                Action <int, string> actionWhenItemChanged = (int layerIndex, string newValue) => {
                    _layers.RemoveAt(layerIndex);
                    _layers.Insert(layerIndex, newValue);
                    CalRValue(_hbObj, _showIP);
                };

                _layersPanel = new DynamicLayout();
                _layersPanel.DefaultSpacing = new Size(5, 5);
                GenMaterialLayersPanel(_layersPanel, actionWhenItemChanged);
                var fromLibDropin = GenAddMoreDropInArea(
                    (newValue) =>
                {
                    var newIndex = _layers.Count;
                    _layers.Add(newValue);

                    GenMaterialLayersPanel(_layersPanel, actionWhenItemChanged);
                    _layersPanel.Create();
                    CalRValue(_hbObj, _showIP);
                }
                    );
                groupContent.AddSeparateRow(null, "Outside", null);
                groupContent.AddRow(_layersPanel);
                groupContent.AddRow(fromLibDropin);
                groupContent.AddSeparateRow(null, "Inside", null);
                //group.Content = groupContent;
                leftLayout.AddRow(groupContent);
                leftLayout.AddRow(null);
                //leftLayout.AddAutoSized(new Button());

                //leftLayout.AddSeparateRow(new Button());
                // Thermal properties
                var thermGp = new GroupBox()
                {
                    Text = "Construction Thermal Properties"
                };
                var thermProp = new DynamicLayout()
                {
                    DefaultPadding = new Padding(4)
                };
                //thermProp.AddSeparateRow("Construction Thermal Properties", null);
                _r_label = new Label()
                {
                    Text = _r_si
                };
                _u_label = new Label()
                {
                    Text = _u_si
                };
                _uf_label = new Label()
                {
                    Text = _uf_si
                };
                _r_value = new Label()
                {
                    Text = "Not available"
                };
                _u_value = new Label()
                {
                    Text = "Not available"
                };
                _uf_value = new Label()
                {
                    Text = "Not available"
                };
                thermProp.AddSeparateRow(_r_label, ":", _r_value);
                thermProp.AddSeparateRow(_u_label, ":", _u_value);
                thermProp.AddSeparateRow(_uf_label, ":", _uf_value);
                CalRValue(_hbObj, false);

                // unit switchs
                var unit = new RadioButtonList();
                unit.Items.Add("Metric");
                unit.Items.Add("Imperial");
                unit.SelectedIndex         = 0;
                unit.Spacing               = new Size(5, 0);
                unit.SelectedIndexChanged += (s, e) => CalRValue(_hbObj, unit.SelectedIndex == 1);
                thermProp.AddSeparateRow("Unit:", unit);
                thermGp.Content = thermProp;
                leftLayout.AddRow(thermGp);
                leftLayout.AddRow(null);

                var buttonSource = new Button {
                    Text = "Schema Data"
                };
                buttonSource.Click += (s, e) =>
                {
                    Dialog_Message.Show(this, _hbObj.ToJson(true));
                };


                //leftLayout.AddRow(null);

                //Right panel
                var rightGroup = new GroupBox();
                rightGroup.Text = "Library";
                var groupPanel = new DynamicLayout();


                var materialType = new DropDown();
                materialType.Items.Add(new ListItem()
                {
                    Key = "Opaque", Text = "Opaque Material"
                });
                materialType.Items.Add(new ListItem()
                {
                    Key = "Window", Text = "Window Material"
                });
                //constructionTypes.Items.Add(new ListItem() { Key = "Shade Material" });
                //constructionTypes.Items.Add(new ListItem() { Key = "AirBoundary Material" });
                materialType.SelectedIndex = 0;
                groupPanel.AddRow(materialType);

                //Search tbox
                var searchTBox = new TextBox()
                {
                    PlaceholderText = "Search"
                };
                groupPanel.AddRow(searchTBox);

                var allMaterials = OpaqueMaterials;

                // Library
                var lib = new GridView();
                lib.Height = 400;
                groupPanel.AddRow(lib);

                lib.ShowHeader = false;
                var nameCol = new GridColumn()
                {
                    DataCell = new TextBoxCell(0)
                };
                lib.Columns.Add(nameCol);

                // Library items
                lib.DataStore = allMaterials;


                var idCell = new TextBoxCell
                {
                    Binding = Binding.Delegate <HB.Energy.IIDdEnergyBaseModel, string>(r => r.DisplayName ?? r.Identifier)
                };
                lib.Columns.Add(new GridColumn()
                {
                    DataCell = idCell
                });



                // material details
                var detailPanel    = new DynamicLayout();
                var materialDetail = new TextArea();
                materialDetail.Height = 150;
                materialDetail.Text   = "Material Details";
                //groupPanel.AddRow(materialDetail);

                var rightSplit = new Splitter();
                rightSplit.Panel1            = groupPanel;
                rightSplit.Panel2            = materialDetail;
                rightSplit.Panel1MinimumSize = 300;
                rightSplit.Orientation       = Orientation.Vertical;

                rightGroup.Content = rightSplit;


                materialType.SelectedIndexChanged += (sender, e) =>
                {
                    var selectedType = materialType.SelectedKey;
                    allMaterials    = selectedType == "Window" ? this.WindowMaterials : this.OpaqueMaterials;
                    searchTBox.Text = null;
                    //lib.Items.Clear();

                    lib.DataStore = allMaterials;
                    //var filteredItems = allMaterials.Select(_ => new ListItem() { Text = _.Identifier, Key = _.Identifier, Tag = _ });
                    //lib.Items.AddRange(filteredItems);
                };



                //// need this to make drag drop work on Mac
                //lib.MouseDown += (sender, e) => {
                //    _primMousePressed = e.Buttons == MouseButtons.Primary;
                //};
                //lib.MouseUp += (sender, e) => {
                //    _primMousePressed = false;

                //};

                lib.MouseMove += (sender, e) =>
                {
                    if (e.Buttons != MouseButtons.Primary)
                    {
                        return;
                    }
                    if (lib.SelectedItem == null)
                    {
                        return;
                    }

                    var dragableArea = lib.Bounds;
                    dragableArea.Width  -= 20;
                    dragableArea.Height -= 20;
                    var iscontained = e.Location.Y < dragableArea.Height && e.Location.X < dragableArea.Width;
                    //name.Text = $"{dragableArea.Width}x{dragableArea.Height}, {new Point(e.Location).X}:{new Point(e.Location).Y}, {dragableArea.Contains(new Point(e.Location))}";
                    if (!iscontained)
                    {
                        return;
                    }


                    var cell = lib.GetCellAt(e.Location);
                    if (cell.RowIndex == -1 || cell.ColumnIndex == -1)
                    {
                        return;
                    }

                    var selected = (lib.SelectedItem as HB.Energy.IMaterial).Identifier;
                    var data     = new DataObject();
                    data.SetString(selected, "HBObj");
                    lib.DoDragDrop(data, DragEffects.Move);
                    e.Handled = true;
                };

                lib.SelectedItemsChanged += (s, e) =>
                {
                    //Clear preview first
                    materialDetail.Text = null;

                    //Check current selected item from library
                    var selItem = lib.SelectedItem as HB.HoneybeeObject;
                    if (selItem == null)
                    {
                        return;
                    }

                    //Update Preview
                    materialDetail.Text = selItem.ToString(true);
                };


                searchTBox.TextChanged += (sender, e) =>
                {
                    var input = searchTBox.Text;
                    materialDetail.Text = null;

                    if (string.IsNullOrWhiteSpace(input))
                    {
                        lib.DataStore = allMaterials;
                        return;
                    }
                    var regexPatten = ".*" + input.Replace(" ", "(.*)") + ".*";
                    var filtered    = allMaterials.Where(_ => Regex.IsMatch(_.Identifier, regexPatten, RegexOptions.IgnoreCase) || (_.DisplayName != null ? Regex.IsMatch(_.DisplayName, regexPatten, RegexOptions.IgnoreCase) : false));

                    lib.DataStore = filtered;
                };



                //var split = new Splitter();
                //split.Orientation = Orientation.Horizontal;
                //split.Panel1 = leftLayout;
                //split.Panel2 = rightGroup;

                var locked = new CheckBox()
                {
                    Text = "Locked", Enabled = false
                };
                locked.Checked = lockedMode;

                var layout = new DynamicLayout();
                layout.DefaultSpacing = new Size(5, 5);
                layout.DefaultPadding = new Padding(5);
                layout.AddSeparateRow(leftLayout, rightGroup);
                layout.AddSeparateRow(locked, null, OkButton, AbortButton, null, buttonSource);
                layout.AddRow(null);

                //Create layout
                Content = layout;
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        private void papagayoImportToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PapagayoDoc papagayoFile = new PapagayoDoc();
            FileDialog  openDialog   = new OpenFileDialog();

            openDialog.Filter      = @"Papagayo files (*.pgo)|*.pgo|All files (*.*)|*.*";
            openDialog.FilterIndex = 1;
            if (openDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            string fileName = openDialog.FileName;

            papagayoFile.Load(fileName);
            TimelineElementsClipboardData result = new TimelineElementsClipboardData
            {
                FirstVisibleRow   = -1,
                EarliestStartTime = TimeSpan.MaxValue,
            };

            result.FirstVisibleRow = 0;
            int rownum = 0;

            foreach (string voice in papagayoFile.VoiceList)
            {
                List <PapagayoPhoneme> phonemes = papagayoFile.PhonemeList(voice);
                if (phonemes.Count > 0)
                {
                    foreach (PapagayoPhoneme phoneme in phonemes)
                    {
                        if (phoneme.DurationMS == 0.0)
                        {
                            continue;
                        }
                        IEffectModuleInstance effect =
                            ApplicationServices.Get <IEffectModuleInstance>(new LipSyncDescriptor().TypeId);
                        ((LipSync)effect).StaticPhoneme = (App.LipSyncApp.PhonemeType)Enum.Parse(typeof(App.LipSyncApp.PhonemeType), phoneme.TypeName.ToUpper());
                        ((LipSync)effect).LyricData     = phoneme.LyricData;
                        TimeSpan             startTime      = TimeSpan.FromMilliseconds(phoneme.StartMS);
                        EffectModelCandidate modelCandidate =
                            new EffectModelCandidate(effect)
                        {
                            Duration  = TimeSpan.FromMilliseconds(phoneme.DurationMS - 1),
                            StartTime = startTime
                        };
                        result.EffectModelCandidates.Add(modelCandidate, rownum);
                        if (startTime < result.EarliestStartTime)
                        {
                            result.EarliestStartTime = startTime;
                        }
                        effect.PreRender();
                    }
                    IDataObject dataObject = new DataObject(ClipboardFormatName);
                    dataObject.SetData(result);
                    Clipboard.SetDataObject(dataObject, true);
                    _TimeLineSequenceClipboardContentsChanged(EventArgs.Empty);
                    SequenceModified();
                }
                rownum++;
            }
            string displayStr = rownum + " Voices imported to clipboard as seperate rows\n\n";
            int    j          = 1;

            foreach (string voiceStr in papagayoFile.VoiceList)
            {
                displayStr += "Row #" + j + " - " + voiceStr + "\n";
                j++;
            }
            //messageBox Arguments are (Text, Title, No Button Visible, Cancel Button Visible)
            MessageBoxForm.msgIcon = SystemIcons.Information;             //this is used if you want to add a system icon to the message form.
            var messageBox = new MessageBoxForm(displayStr, @"Papagayo Import", false, false);

            messageBox.ShowDialog();
        }
Example #53
0
        void StartDrag()
        {
            // mouse capture and Drag'n'Drop doesn't mix
            textArea.ReleaseMouseCapture();

            // prevent nested StartDrag calls
            mode = MouseSelectionMode.Drag;

            DataObject dataObject = textArea.Selection.CreateDataObject(textArea);

            DragDropEffects allowedEffects = DragDropEffects.All;
            var             deleteOnMove   = textArea.Selection.Segments.Select(s => new AnchorSegment(textArea.Document, s)).ToList();

            foreach (ISegment s in deleteOnMove)
            {
                ISegment[] result = textArea.GetDeletableSegments(s);
                if (result.Length != 1 || result[0].Offset != s.Offset || result[0].EndOffset != s.EndOffset)
                {
                    allowedEffects &= ~DragDropEffects.Move;
                }
            }

            var copyingEventArgs = new DataObjectCopyingEventArgs(dataObject, true);

            textArea.RaiseEvent(copyingEventArgs);
            if (copyingEventArgs.CommandCancelled)
            {
                return;
            }

            object dragDescriptor = new object();

            this.currentDragDescriptor = dragDescriptor;

            DragDropEffects resultEffect;

            using (textArea.AllowCaretOutsideSelection()) {
                var oldCaretPosition = textArea.Caret.Position;
                try {
                    Debug.WriteLine("DoDragDrop with allowedEffects=" + allowedEffects);
                    resultEffect = DragDrop.DoDragDrop(textArea, dataObject, allowedEffects);
                    Debug.WriteLine("DoDragDrop done, resultEffect=" + resultEffect);
                } catch (COMException ex) {
                    // ignore COM errors - don't crash on badly implemented drop targets
                    Debug.WriteLine("DoDragDrop failed: " + ex.ToString());
                    return;
                }
                if (resultEffect == DragDropEffects.None)
                {
                    // reset caret if drag was aborted
                    textArea.Caret.Position = oldCaretPosition;
                }
            }

            this.currentDragDescriptor = null;

            if (deleteOnMove != null && resultEffect == DragDropEffects.Move && (allowedEffects & DragDropEffects.Move) == DragDropEffects.Move)
            {
                bool draggedInsideSingleDocument = (dragDescriptor == textArea.Document.UndoStack.LastGroupDescriptor);
                if (draggedInsideSingleDocument)
                {
                    textArea.Document.UndoStack.StartContinuedUndoGroup(null);
                }
                textArea.Document.BeginUpdate();
                try {
                    foreach (ISegment s in deleteOnMove)
                    {
                        textArea.Document.Remove(s.Offset, s.Length);
                    }
                } finally {
                    textArea.Document.EndUpdate();
                    if (draggedInsideSingleDocument)
                    {
                        textArea.Document.UndoStack.EndUndoGroup();
                    }
                }
            }
        }
Example #54
0
        /// <summary>
        /// Persists an object to the database.
        /// </summary>
        /// <param name="dataObject">the object to save to the database</param>
        protected override bool SaveObjectImpl(DataObject dataObject)
        {
            try
            {
                string tableName = dataObject.TableName;

                var sb = new StringBuilder("UPDATE `" + tableName + "` SET ");

                BindingInfo[] bindingInfo      = GetBindingInfo(dataObject.GetType());
                bool          hasRelations     = false;
                bool          first            = true;
                string        dateFormat       = Connection.GetDBDateFormat();
                string        primaryKeyColumn = string.Empty;
                object        primaryKeyValue  = null;

                for (int i = 0; i < bindingInfo.Length; i++)
                {
                    BindingInfo bind = bindingInfo[i];

                    if (bind.ReadOnly)
                    {
                        continue;
                    }

                    if (!hasRelations)
                    {
                        hasRelations = bind.HasRelation;
                    }

                    if (!bind.HasRelation)
                    {
                        object val = null;
                        if (bind.Member is PropertyInfo)
                        {
                            val = ((PropertyInfo)bind.Member).GetValue(dataObject, null);
                        }
                        else if (bind.Member is FieldInfo)
                        {
                            val = ((FieldInfo)bind.Member).GetValue(dataObject);
                        }
                        else
                        {
                            continue;
                        }

                        if (!first)
                        {
                            sb.Append(", ");
                        }
                        else
                        {
                            first = false;
                        }

                        if (val is bool)
                        {
                            val = ((bool)val) ? (byte)1 : (byte)0;
                        }
                        else if (val is DateTime)
                        {
                            val = ((DateTime)val).ToString(dateFormat);
                        }
                        else if (val is float)
                        {
                            val = ((float)val).ToString(Nfi);
                        }
                        else if (val is double)
                        {
                            val = ((double)val).ToString(Nfi);
                        }
                        else if (val is string)
                        {
                            val = Escape(val.ToString());
                        }

                        sb.Append("`" + bind.Member.Name + "` = ");
                        sb.Append('\'');
                        sb.Append(val);
                        sb.Append('\'');

                        if (bind.UsePrimaryKey)
                        {
                            primaryKeyColumn = bind.Member.Name;
                            primaryKeyValue  = val;
                        }
                    }
                }

                if (primaryKeyColumn != string.Empty)
                {
                    sb.Append(" WHERE `" + primaryKeyColumn + "` = '" + primaryKeyValue + "'");
                }
                else
                {
                    sb.Append(" WHERE `" + tableName + "_ID` = '" + Escape(dataObject.ObjectId) + "'");
                }

                string sql = sb.ToString();

                if (Log.IsDebugEnabled)
                {
                    Log.Debug(sql);
                }

                int res = Connection.ExecuteNonQuery(sql);
                if (res == 0)
                {
                    if (Log.IsErrorEnabled)
                    {
                        Log.Error("Error modifying object " + dataObject.TableName + " ID=" + dataObject.ObjectId + " --- keyvalue changed? " + sql + " " + Environment.StackTrace);
                    }
                    return(false);
                }

                if (hasRelations)
                {
                    SaveObjectRelations(dataObject);
                }

                dataObject.Dirty       = false;
                dataObject.IsPersisted = true;
                return(true);
            }
            catch (Exception e)
            {
                if (Log.IsErrorEnabled)
                {
                    Log.Error("Error while saving data object: " + dataObject.ToString(), e);
                }
            }

            return(false);
        }
 protected abstract void SerializeToData(DataObject data);
Example #56
0
        /// <summary>
        /// Deletes an object from the database.
        /// </summary>
        /// <param name="dataObject">the object to delete from the database</param>
        protected override bool DeleteObjectImpl(DataObject dataObject)
        {
            try
            {
                BindingInfo[] bindingInfo = GetBindingInfo(dataObject.GetType());

                string primaryKeyColumn = string.Empty;
                object primaryKeyValue  = null;

                for (int i = 0; i < bindingInfo.Length; i++)
                {
                    BindingInfo bind = bindingInfo[i];
                    object      val;

                    if (bind.Member is PropertyInfo)
                    {
                        val = ((PropertyInfo)bind.Member).GetValue(dataObject, null);
                    }
                    else if (bind.Member is FieldInfo)
                    {
                        val = ((FieldInfo)bind.Member).GetValue(dataObject);
                    }
                    else
                    {
                        continue;
                    }

                    if (bind.UsePrimaryKey)
                    {
                        primaryKeyColumn = bind.Member.Name;
                        primaryKeyValue  = val;
                    }
                }

                string sql;

                if (primaryKeyColumn != string.Empty)
                {
                    sql = "DELETE FROM `" + dataObject.TableName + "` WHERE `" + primaryKeyColumn + "` = '" + Escape(primaryKeyValue.ToString()) + "'";
                }
                else
                {
                    sql = "DELETE FROM `" + dataObject.TableName + "` WHERE `" + dataObject.TableName + "_ID` = '" + Escape(dataObject.ObjectId) + "'";
                }

                if (Log.IsDebugEnabled)
                {
                    Log.Debug(sql);
                }

                int res = Connection.ExecuteNonQuery(sql);
                if (res == 0)
                {
                    if (Log.IsErrorEnabled)
                    {
                        Log.Error("Deleting " + dataObject.ToString() + " object failed!" + " " + Environment.StackTrace);
                    }
                }

                dataObject.IsPersisted = false;

                DeleteFromCache(dataObject.TableName, dataObject);
                DeleteObjectRelations(dataObject);

                dataObject.IsDeleted = true;
                return(true);
            }
            catch (Exception e)
            {
                throw new DatabaseException("Deleting DataObject " + dataObject.ToString() + " failed !", e);
            }
        }
Example #57
0
        private void PasteData()
        {
            try
            {
                //clear any previously pasted data
                ClearPastedData();
                //check which button is checked and set the columns accordingly. Must be done in order for pasted data to work.
                if (singleRowRadioButton.Checked)
                {
                    for (int b = 1; b <= _tubeCount * 3; b++)
                    {
                        string tubeColumn = "Tube";
                        dataGridView1.Columns.Add(tubeColumn + b, b.ToString());
                    }
                }

                if (tripleRowRadioButton.Checked)
                {
                    for (int b = 1; b <= _tubeCount; b++)
                    {
                        string tubeColumn = "Tube";
                        dataGridView1.Columns.Add(tubeColumn + b, b.ToString());
                    }
                }

                //paste data from clipboard
                DataObject o = (DataObject)Clipboard.GetDataObject();
                if (o != null && o.GetDataPresent(DataFormats.Text))
                {
                    string[] pastedRows =
                        Regex.Split(o.GetData(DataFormats.Text).ToString().TrimEnd("\r\n".ToCharArray()), "\r\n");
                    int j = 0;

                    //This is the code that adds the copied data to the datagrid view, not 100% on how it works.
                    foreach (string pastedRow in pastedRows)
                    {
                        string[] pastedRowCells = pastedRow.Split(new char[] { '\t' });
                        _pastedRowLength = pastedRowCells.Length;
                        //this is needed to verify that the data pasted matches the selected file
                        dataGridView1.Rows.Add();

                        using (DataGridViewRow dataGridView1Row = dataGridView1.Rows[j])
                        {
                            for (int i = 0; i < pastedRowCells.Length; i++)
                            {
                                dataGridView1Row.Cells[i].Value = pastedRowCells[i];
                            }
                        }
                        j++;
                    }
                }
                //checks to see if the the singleColumn radio button is checked, and if so, sees if there is more than 1 row of data that was pasted. if so, it clears the data and throws an error message. this is inefficient (the check should be BEFORE the data is pasted, but it works for now.
                if (_isSingle && dataGridView1.Rows.Count > 1)
                {
                    ClearPastedData();
                    MessageBox.Show(
                        "The data does not seem to be in single row format. Please make sure that your data is in one single row like this:\n\nLCRLCRLCR");
                }
                else
                {
                    //enable the save button once data has been pasted
                    SaveFileButton.Enabled = true;

                    //resize the columns to fit the data entered
                    dataGridView1.AutoResizeColumns();
                }
            }
            catch (ArgumentOutOfRangeException ex)
            {
                MessageBox.Show("The data does not seem to be in triple row format. Please make sure that your data is in three rows like this:\n\nLCR\nLCR\nLCR\n\n" + ex.Message);
                ClearPastedData();
            }
            catch (Exception ex)
            {
                //generic error message, could be improved
                MessageBox.Show(ex.Message);
            }
        }
Example #58
0
 public override void Initialize(DataObject data)
 {
     base.Initialize(data);
 }
 private static bool PasteContentData(TextEditor This, IDataObject dataObject, IDataObject dataObjectToApply, string formatToApply)
 {
     if (formatToApply == DataFormats.Bitmap && dataObjectToApply is DataObject && This.AcceptsRichContent && This.Selection is TextSelection && SecurityHelper.CheckUnmanagedCodePermission())
     {
         BitmapSource bitmapSource = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Bitmap) as BitmapSource;
         if (bitmapSource != null)
         {
             MemoryStream data = WpfPayload.SaveImage(bitmapSource, "image/bmp");
             dataObjectToApply = new DataObject();
             formatToApply     = DataFormats.XamlPackage;
             dataObjectToApply.SetData(DataFormats.XamlPackage, data);
         }
     }
     if (formatToApply == DataFormats.XamlPackage)
     {
         if (This.AcceptsRichContent && This.Selection is TextSelection && SecurityHelper.CheckUnmanagedCodePermission())
         {
             object       pasteData    = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.XamlPackage);
             MemoryStream memoryStream = pasteData as MemoryStream;
             if (memoryStream != null)
             {
                 object obj = WpfPayload.LoadElement(memoryStream);
                 if ((obj is Section || obj is Span) && TextEditorCopyPaste.PasteTextElement(This, (TextElement)obj))
                 {
                     return(true);
                 }
                 if (obj is FrameworkElement)
                 {
                     ((TextSelection)This.Selection).InsertEmbeddedUIElement((FrameworkElement)obj);
                     return(true);
                 }
             }
         }
         dataObjectToApply = dataObject;
         if (dataObjectToApply.GetDataPresent(DataFormats.Xaml))
         {
             formatToApply = DataFormats.Xaml;
         }
         else if (SecurityHelper.CheckUnmanagedCodePermission() && dataObjectToApply.GetDataPresent(DataFormats.Rtf))
         {
             formatToApply = DataFormats.Rtf;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.UnicodeText))
         {
             formatToApply = DataFormats.UnicodeText;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply = DataFormats.Text;
         }
     }
     if (formatToApply == DataFormats.Xaml)
     {
         if (This.AcceptsRichContent && This.Selection is TextSelection)
         {
             object pasteData2 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Xaml);
             if (pasteData2 != null && TextEditorCopyPaste.PasteXaml(This, pasteData2.ToString()))
             {
                 return(true);
             }
         }
         dataObjectToApply = dataObject;
         if (SecurityHelper.CheckUnmanagedCodePermission() && dataObjectToApply.GetDataPresent(DataFormats.Rtf))
         {
             formatToApply = DataFormats.Rtf;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.UnicodeText))
         {
             formatToApply = DataFormats.UnicodeText;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply = DataFormats.Text;
         }
     }
     if (formatToApply == DataFormats.Rtf)
     {
         if (This.AcceptsRichContent && SecurityHelper.CheckUnmanagedCodePermission())
         {
             object pasteData3 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Rtf);
             if (pasteData3 != null)
             {
                 MemoryStream memoryStream2 = TextEditorCopyPaste.ConvertRtfToXaml(pasteData3.ToString());
                 if (memoryStream2 != null)
                 {
                     TextElement textElement = WpfPayload.LoadElement(memoryStream2) as TextElement;
                     if ((textElement is Section || textElement is Span) && TextEditorCopyPaste.PasteTextElement(This, textElement))
                     {
                         return(true);
                     }
                 }
             }
         }
         dataObjectToApply = dataObject;
         if (dataObjectToApply.GetDataPresent(DataFormats.UnicodeText))
         {
             formatToApply = DataFormats.UnicodeText;
         }
         else if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply = DataFormats.Text;
         }
     }
     if (formatToApply == DataFormats.UnicodeText)
     {
         object pasteData4 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.UnicodeText);
         if (pasteData4 != null)
         {
             return(TextEditorCopyPaste.PastePlainText(This, pasteData4.ToString()));
         }
         if (dataObjectToApply.GetDataPresent(DataFormats.Text))
         {
             formatToApply     = DataFormats.Text;
             dataObjectToApply = dataObject;
         }
     }
     if (formatToApply == DataFormats.Text)
     {
         object pasteData5 = TextEditorCopyPaste.GetPasteData(dataObjectToApply, DataFormats.Text);
         if (pasteData5 != null && TextEditorCopyPaste.PastePlainText(This, pasteData5.ToString()))
         {
             return(true);
         }
     }
     return(false);
 }
 /// <summary>
 /// Аргументы события сохранения объекта данных
 /// </summary>
 /// <param name="propertyname">имя свойства объекта данных при частичном редактировании объекта</param>
 /// <param name="dataobject">редактируемый объект данных</param>
 /// <param name="contpath">путь на форме-инициаторе</param>
 public SaveEventArgs(string propertyname, DataObject dataobject, string contpath)
     : base(propertyname, dataobject, contpath)
 {
 }