Innovenergy_trunk/csharp/App/Backend/Database/Update.cs

60 lines
1.6 KiB
C#

using InnovEnergy.App.Backend.DataTypes;
namespace InnovEnergy.App.Backend.Database;
public static partial class Db
{
//We can execute the updates manually for each table, but we prefer the abstract way using Connection.Update method
//We pass an object as an argument and the Connection will connect this object with the corresponding table.
//The update is being done based on the primary id of the object.
private static Boolean Update(Object obj)
{
var success = Connection.Update(obj) > 0;
if(success) Backup();
return success;
}
public static Boolean Update(Folder folder)
{
return Update(obj: folder);
}
public static Boolean Update(Error error)
{
return Update(obj: error);
}
public static Boolean Update(Warning warning)
{
return Update(obj: warning);
}
public static Boolean Update(Installation installation)
{
return Update(obj: installation);
}
public static Boolean Update(User user)
{
var originalUser = GetUserById(user.Id);
if (originalUser is null) return false;
// these columns must not be modified!
user.ParentId = originalUser.ParentId;
user.Name = originalUser.Name;
return Update(obj: user);
}
public static void UpdateAction(UserAction updatedAction)
{
var existingAction = UserActions.FirstOrDefault(action => action.Id == updatedAction.Id);
if (existingAction != null)
{
Update(updatedAction);
}
}
}