示例#1
0
        public bool Save(Flow.FlowInstance flowInstance)
        {
            var index = flowInstances.IndexOf(flowInstance);

            if (index > -1)
            {
                flowInstances[index] = flowInstance;
            }
            else
            {
                flowInstances.Add(flowInstance);
            }


            string serializedConfiguration = JsonConvert.SerializeObject(flowInstance, Formatting.Indented,
                                                                         new JsonSerializerSettings
            {
                TypeNameHandling           = TypeNameHandling.All,
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            });

            var obj = JsonConvert.DeserializeObject <Flow.FlowInstance>(serializedConfiguration, new JsonSerializerSettings
            {
                TypeNameHandling           = TypeNameHandling.All,
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            });

            return(true);
        }
 /// <summary>
 /// Converts a <see cref="FlowInstance"/> object to byte array
 /// </summary>
 /// <param name="flowInstance">object to convert</param>
 /// <returns>A byte array containing json object of the given <see cref="FlowInstance"/></returns>
 private byte[] ConvertFromJson(Flow.FlowInstance flowInstance)
 {
     return(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(flowInstance, new JsonSerializerSettings
     {
         TypeNameHandling = TypeNameHandling.All,
         PreserveReferencesHandling = PreserveReferencesHandling.Objects
     })));
 }
示例#3
0
        public bool Delete(Flow.FlowInstance flowInstance)
        {
            var index = flowInstances.IndexOf(flowInstance);

            if (index > -1)
            {
                flowInstances.Remove(flowInstance);
            }

            return(true);
        }
        /// <summary>
        /// Deletes a <see cref="FlowInstance"/> from the database
        /// </summary>
        /// <param name="flowInstance">Object to remove</param>
        /// <returns>True if successfull</returns>
        public bool Delete(Flow.FlowInstance flowInstance)
        {
            return(sqlService.OpenConnection((conn) =>
            {
                var affectedRows = conn.Execute($"DELETE FROM {FlowInstanceTableName} WHERE Id = :Id", new
                {
                    Id = flowInstance.Id
                });

                return affectedRows > 0;
            }));
        }
        /// <summary>
        /// Saves a <see cref="FlowInstance"/> into the database
        /// </summary>
        /// <param name="flowInstance">Object to save</param>
        /// <returns>True if successfull</returns>
        public bool Save(Flow.FlowInstance flowInstance)
        {
            return(sqlService.OpenConnection((conn) =>
            {
                var affectedRows = conn.Execute($"Insert Into {FlowInstanceTableName} " +
                                                $" (Id, Data, IsAlive, FlowConfigurationId) On Existing Update Values " +
                                                $" (:Id, :Data, :IsAlive, :FlowConfigurationId);", new
                {
                    Id = flowInstance.Id,
                    Data = ConvertFromJson(flowInstance),
                    IsAlive = flowInstance.IsAlive,
                    FlowConfigurationId = flowInstance.Flow.Id
                });

                return affectedRows > 0;
            }));
        }
 /// <summary>
 /// Delete flow instance
 /// </summary>
 /// <param name="flowInstance">Flow instance</param>
 /// <returns>True if successfull</returns>
 public bool Delete(Flow.FlowInstance flowInstance)
 {
     return(flowInstanceRepository.Delete(flowInstance));
 }
 /// <summary>
 /// Saves a <see cref="FlowInstance"/> into the database
 /// </summary>
 /// <param name="flowInstance">Object to save</param>
 /// <returns>True if successfull</returns>
 public bool Save(Flow.FlowInstance flowInstance)
 {
     return(flowInstanceRepository.Save(flowInstance));
 }