using System;
using System.Linq;
using System.Text;
using DevExpress.Xpo;
using DevExpress.ExpressApp;
using System.ComponentModel;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;

namespace Nuvolar.Module.BusinessObjects.Migration
{
    [DefaultClassOptions,NavigationItem(false),CreatableItem(false)]
    
    public class MigrationParameters : BaseObject
    { // Inherit from a different class to provide a custom primary key, concurrency and deletion behavior, etc. (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument113146.aspx).
        public MigrationParameters(Session session)
            : base(session)
        {
        }
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).
        }
        private string _SQLServer;
        private eSQLType _SQLType;
        private string _SQLPort;
        private string _SQLUser;
        private string _SQLPassword;
        private string _SQLDatabase;

        private DateTime _DateFrom;
        private DateTime _DateTo;

        public string SQLServer
        {
            get { return _SQLServer; }
            set { SetPropertyValue(nameof(SQLServer), ref _SQLServer, value); }
        }
        public eSQLType SQLType
        {
            get { return _SQLType; }
            set { SetPropertyValue(nameof(SQLType), ref _SQLType, value); }
        }
        public string SQLPort
        {
            get { return _SQLPort; }
            set { SetPropertyValue(nameof(SQLPort), ref _SQLPort, value); }
        }
        public string SQLUser
        {
            get { return _SQLUser; }
            set { SetPropertyValue(nameof(SQLUser), ref _SQLUser, value); }
        }
        public string SQLPassword
        {
            get { return _SQLPassword; }
            set { SetPropertyValue(nameof(SQLPassword), ref _SQLPassword, value); }
        }
        public string SQLDatabase
        {
            get { return _SQLDatabase; }
            set { SetPropertyValue(nameof(SQLDatabase), ref _SQLDatabase, value); }
        }

        public DateTime DateFrom
        {
            get { return _DateFrom; }
            set { SetPropertyValue(nameof(DateFrom), ref _DateFrom, value); }
        }
        public DateTime DateTo
        {
            get { return _DateTo; }
            set { SetPropertyValue(nameof(DateTo), ref _DateTo, value); }
        }

    }
}