using DTS.Common.Base;
using DTS.Common.Enums.Database;
namespace DTS.Common.Interface.Database
{
///
/// this viewmodel provides a way for transferring a remote database to a local database
/// it clears the local database and populates it with the remote databse
/// it requires a local database that has the right tables and stored procedures already
///
public interface IDatabaseCopyViewModel : IBaseViewModel
{
///
/// the view associated with the model
///
IDatabaseCopyView View { get; set; }
///
/// frees up any memory associated with viewmodel
///
void Unset();
///
/// copies from remote database to local database
/// uses DTS.Common.Storage to determine local and remote
///
void CopyDatabase();
///
/// initializes viewmodel state
///
void InitializeState(DbType dbType, string dbName);
string DbName { get; }
///
/// the overall status/progress
///
IStatusAndProgressBarView OverallProgressBarView { get; }
///
/// current task status/progress
///
IStatusAndProgressBarView CurrentTaskProgressBarView { get; }
DbType DatabaseType { get; }
bool CopyEnabled { get; }
bool IsCopyVisible { get; set; }
}
}