public void Add(Models.TextContent content) { try { content.StoreFiles(); ((IPersistable)content).OnSaving(); var folder = content.GetFolder().GetActualFolder(); var schema = content.GetSchema().GetActualSchema(); if (folder != null && folder.StoreInAPI) { var proxy = new BackendProxy(); var additionalData = new Dictionary <string, object>() { { "CreatedBy", AuthHelper.GetCurrentUserName() }, { "ModifiedBy", AuthHelper.GetCurrentUserName() }, { "OwnerId", AuthHelper.GetCurrentUserName() } }; //Get payload // var payload = JsonConvert.SerializeObject(content, new CustomJsonDictionaryConverter(schema.GetJsonSerializationIgnoreProperties(), additionalData)); //Send data to API // proxy.Execute("POST", schema.Name, payload); } else { var command = dbCommands.Add(content); if (command != null) { if (SQLServerTransactionUnit.Current != null) { SQLServerTransactionUnit.Current.RegisterCommand(command); SQLServerTransactionUnit.Current.RegisterPostAction(delegate() { ((IPersistable)content).OnSaved(); }); } else { SQLServerHelper.BatchExecuteNonQuery(content.GetRepository(), command); ((IPersistable)content).OnSaved(); } } } } catch (Exception e) { throw e; } }
public void Update(Models.TextContent @new, Models.TextContent old) { @new.StoreFiles(); ((IPersistable)@new).OnSaving(); var folder = @new.GetFolder().GetActualFolder(); var schema = @new.GetSchema().GetActualSchema(); if (folder != null && folder.StoreInAPI) { var proxyBackend = new BackendProxy(); //Add additional data // var additionalData = new Dictionary <string, object> { { "ModifiedBy", AuthHelper.GetCurrentUserName() } }; //Get payload // var payload = JsonConvert.SerializeObject(@new, new CustomJsonDictionaryConverter(schema.GetJsonSerializationIgnoreProperties(), additionalData)); //Send data to API // proxyBackend.Execute("PUT", string.Format("{0}({1})", schema.Name, @new.Id), payload); } else { var command = dbCommands.Update(@new); if (SQLServerTransactionUnit.Current != null) { SQLServerTransactionUnit.Current.RegisterCommand(command); SQLServerTransactionUnit.Current.RegisterPostAction(delegate() { ((IPersistable)@new).OnSaved(); }); } else { SQLServerHelper.BatchExecuteNonQuery(@new.GetRepository(), command); ((IPersistable)@new).OnSaved(); } } }