Example #1
0
        /// <summary>
        /// Gets the columns for datasource.
        /// </summary>
        /// <param name="dr">The dr.</param>
        /// <returns></returns>
        public DataTable GetColumnsForDatasource(DataRow[] dr)
        {
            Security.Cryptography cy = new Security.Cryptography();

            string tableName = cy.Decrypt(dr[0]["DatabaseObject"].ToString());
            string externalConnectionString = Utilities.CreateConnectionString(DataBaseTypeEnum.PostgreSQL, dr);

            string query = "";

            if (tableName.SQLTest())
            {
                query = string.Format("SELECT * FROM  ( {0}  ) as table1 limit 1; ", tableName);
            }
            else
            {
                query = string.Format("SELECT * FROM {0} limit 1;", tableName);
            }

            DataTable dt = new DataTable();

            PostgreSQLDB pstdb = new PostgreSQLDB(externalConnectionString);

            NpgsqlCommand Command = new NpgsqlCommand();

            Command.CommandText = query;
            Command.CommandType = CommandType.Text;


            dt = pstdb.ExecuteDataSet(Command).Tables[0];

            return(dt);
        }
Example #2
0
        /// <summary>
        /// Gets the columns for datasource.
        /// </summary>
        /// <param name="dr">The dr.</param>
        /// <returns></returns>
        public DataTable GetColumnsForDatasource(DataRow[] dr)
        {
            Security.Cryptography cy = new Security.Cryptography();

            string tableName = cy.Decrypt(dr[0]["DatabaseObject"].ToString());
            string externalConnectionString = Utilities.CreateConnectionString(DataBaseTypeEnum.SQLServer, dr);

            string query = "";

            //  if (tableName.ToLower().Contains("select"))



            if (tableName.SQLTest())
            {
                query = string.Format("SELECT TOP 1 * FROM  ( {0}  ) as table1 ", tableName);
            }
            else
            {
                query = string.Format("SELECT TOP 1 * FROM {0}", tableName);
            }

            DataTable dt = new DataTable();

            SqlDatabase sqd = new SqlDatabase(externalConnectionString);

            //dt = sqd.ExecuteDataSet("usp_read_columns_for_datasource", tableName, tableName.SQLTest()).Tables[0];
            dt = sqd.ExecuteDataSet(CommandType.Text, query).Tables[0];

            return(dt);
        }
Example #3
0
        /// <summary>
        /// Adds new org and Admin User object
        /// </summary>
        /// <param name="dto"></param>
        public int AddOrganization(UserOrganizationDto userOrganizationDto)
        {
            OrganizationDto organizationDto = userOrganizationDto.Organization;
            Cryptography    Cryptography    = new Security.Cryptography();
            UserDTO         userDto         = userOrganizationDto.User;

            if (userOrganizationDto.User == null)
            {
                throw new Exception("An organization cannot be added with zero users");
            }

            int         organizationID = -1;
            SqlDatabase db             = new SqlDatabase(ConnectionString);

            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                connection.Open();

                SqlCommand command = connection.CreateCommand();
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "usp_add_organization";
                command.Parameters.Add(new SqlParameter("@OrganizationName", organizationDto.Name));
                command.Parameters.Add(new SqlParameter("@OrganizationDescription", ""));
                command.Parameters.Add(new SqlParameter("@OrganizationKey", Cryptography.Encrypt(Guid.NewGuid().ToString())));
                command.Parameters.Add(new SqlParameter("@UserId", userDto.UserID));
                command.Parameters.Add(new SqlParameter("@UserNm", userDto.UserName));
                command.Parameters.Add(new SqlParameter("@FirstNm", userDto.FirstName));
                command.Parameters.Add(new SqlParameter("@LastNm", userDto.LastName));
                command.Parameters.Add(new SqlParameter("@EmailAdd", userDto.Email));
                command.Parameters.Add(new SqlParameter("@PhoneNbr", userDto.Phone));
                command.Parameters.Add(new SqlParameter("@PwdHash", userDto.PasswordHash));
                command.Parameters.Add(new SqlParameter("@IsExistingUser", userDto.IsExistingUser));

                if (userDto.IsExistingUser)
                {
                    command.Parameters.Add(new SqlParameter("@ResetPwd", userDto.ShouldResetPassword));
                }
                else
                {
                    command.Parameters.Add(new SqlParameter("@ResetPwd", true));
                }


                command.Parameters.Add(new SqlParameter("@RoleId", userOrganizationDto.RoleId));
                command.Parameters.Add(new SqlParameter("@IsActive", userOrganizationDto.Active));

                try
                {
                    db.ExecuteNonQuery(command);
                    organizationID = 1000; //success
                }
                catch (Exception Ex)
                {
                    throw new Exception(Ex.Message);
                }
            }

            return(organizationID);
        }
        /// <summary>
        /// Gets the external connection string.
        /// </summary>
        /// <param name="dataSourceName">Name of the data source.</param>
        /// <param name="tableName"></param>
        /// <returns></returns>
        public string GetExternalConnectionString(string dataSourceName, out string tableName)  //     out    DataBaseTypeEnum databaseType)
        {
            DataTable dtGet;

            PostgreSQLDB  ewavDB  = new PostgreSQLDB(this.MetaDataConnectionString);
            NpgsqlCommand Command = new NpgsqlCommand();

            Command.CommandType = CommandType.StoredProcedure;
            Command.CommandText = "read_external_connec_str";

            NpgsqlParameter parameter = new NpgsqlParameter("dsname", NpgsqlTypes.NpgsqlDbType.Varchar);

            parameter.Value     = dataSourceName;
            parameter.Direction = ParameterDirection.Input;
            Command.Parameters.Add(parameter);

            parameter           = new NpgsqlParameter("dbobject", NpgsqlTypes.NpgsqlDbType.Varchar);
            parameter.Value     = this.MetaDataViewName;
            parameter.Direction = ParameterDirection.Input;
            Command.Parameters.Add(parameter);
            try
            {
                dtGet = ewavDB.ExecuteDataSet(Command).Tables[0];
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            string extConnectionString = " ";

            extConnectionString = Utilities.CreateConnectionString(DataBaseTypeEnum.PostgreSQL,
                                                                   new DataRow[] { dtGet.Rows[0] });

            Ewav.Security.Cryptography cy = new Security.Cryptography();
            tableName = cy.Decrypt(dtGet.Rows[0]["DatabaseObject"].ToString());


            return(extConnectionString);
        }
Example #5
0
        public static void InitConnections( )
        {
            STDataServersController serverCtrl = new STDataServersController();

            foreach (STDataServerSyncsInfo syncInfo in new STDataServerSyncsController().GetListAllObjects().Cast <STDataServerSyncsInfo>().ToList())
            {
                if (!syncInfo.FK_STDataServerID.HasValue)
                {
                    continue;
                }

                STDataServersInfo server = serverCtrl.GetObjectByID(syncInfo.FK_STDataServerID.Value) as STDataServersInfo;
                if (server == null)
                {
                    return;
                }

                #region Init Linked Server
                Security.Cryptography cryp = new Security.Cryptography();
                String strPassword         = cryp.Decrypt(server.EncryptedPassword);

                String strQuery = String.Format(@"IF EXISTS(SELECT * FROM sys.servers WHERE name = '{0}') EXEC master.sys.sp_dropserver '{0}','droplogins'  
                                                                EXEC master.dbo.sp_addlinkedserver
                                                                    @server = '{0}',
                                                                    @srvproduct=N'MSSQL',
                                                                    @provider=N'SQLNCLI',
                                                                    @provstr=N'PROVIDER=SQLOLEDB;SERVER={1}'
 
                                                                EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname='{0}',
                                                                @useself=N'False',@locallogin=NULL,@rmtuser=N'{2}',@rmtpassword='******'", server.Name, server.ServerAddress, server.UserName, strPassword);
                BusinessObjectController.RunQuery(strQuery);

                #endregion

                InitCompanyConnection(server.STDataServerID);
                InitSystemConnection(server.STDataServerID);
            }
        }
Example #6
0
        public static bool ChangePassword(String strDatabase, String strUserNo, String strOldPassword, String strNewPassword)
        {
            if (!ConnectDatabase(strDatabase))
            {
                return(false);
            }

            Security.Cryptography crypto = new Security.Cryptography();
            String strOldEncryptedPass   = crypto.Encrypt(strOldPassword);

            ADUsersInfo user = new ADUsersController().GetObjectByNo(strUserNo) as ADUsersInfo;

            if (user == null || strOldEncryptedPass != user.Password)
            {
                ABCHelper.ABCMessageBox.Show(LoginForm, "Thông tin người dùng, mật khẩu không đúng", "Đổi mật khẩu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            user.Password = crypto.Encrypt(strNewPassword);
            BusinessObjectController.RunQuery(String.Format(@"UPDATE ADUsers SET Password='******' ,UpdateTime=GETDATE() WHERE ADUserID = '{1}'", user.Password, user.ADUserID));
            ABCHelper.ABCMessageBox.Show(LoginForm, "Đổi mật khẩu thành công", "Đổi mật khẩu", MessageBoxButtons.OK, MessageBoxIcon.Information);
            return(true);
        }
Example #7
0
        public static void Login(LoginType loginType, String strDatabase, String strUserNo, String strPassword)
        {
            if (!ConnectDatabase(strDatabase))
            {
                return;
            }

            String      strEncryptedPass = new Security.Cryptography().Encrypt(strPassword);
            ADUsersInfo user             = new ADUsersController().GetObject(String.Format(@"SELECT * FROM ADUsers WHERE No='{0}' AND ABCStatus ='Alive' AND Active =1 ", strUserNo)) as ADUsersInfo;

            if (user == null || strEncryptedPass != user.Password)
            {
                ABCHelper.ABCMessageBox.Show(LoginForm, "Thông tin người dùng, mật khẩu không đúng", "Đăng nhập", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (LoginForm != null)
            {
                LoginForm.Close();
                LoginForm.Dispose();
            }
            Application.DoEvents();

            ABCScreen.SplashUtils.ShowSplash(loginType);

            ABCControls.UICaching.InitCachingPresentControls();

            #region Section

            CurrentUser = user;
            if (CurrentUser.FK_ADUserGroupID.HasValue)
            {
                CurrentUserGroup = new ADUserGroupsController().GetObjectByID(CurrentUser.FK_ADUserGroupID.Value) as ADUserGroupsInfo;
            }
            ABCUserProvider.CurrentUserName = CurrentUser.No;

            if (CurrentUser.FK_HREmployeeID.HasValue)
            {
                try
                {
                    ABCUserProvider.CurrentEmployee = new HREmployeesController().GetObjectByID(CurrentUser.FK_HREmployeeID.Value) as HREmployeesInfo;
                    if (ABCUserProvider.CurrentEmployee != null)
                    {
                        ABCUserProvider.CurrentEmployeeName = ABCUserProvider.CurrentEmployee.Name;
                        if (ABCUserProvider.CurrentEmployee.FK_GECompanyUnitID.HasValue)
                        {
                            ABCUserProvider.CurrentCompanyUnit = new GECompanyUnitsController().GetObjectByID(ABCUserProvider.CurrentEmployee.FK_GECompanyUnitID.Value) as GECompanyUnitsInfo;
                        }
                    }
                }catch (Exception ex)
                {
                }
            }

            StartOnlineTimer();

            if (loginType == LoginType.ERP)
            {
                ABCApp.ABCAppHelper.Instance.StartSection();
            }
            else if (loginType == LoginType.Studio)
            {
                ABCStudio.ABCStudioHelper.Instance.StartSection();
            }

            ABCScreen.SplashUtils.CloseSplash();

            #endregion
        }