public void ModifyUserDetails(ModifyUserDetailsParameters parameters) { using (TransactionScope scope = new TransactionScope()) { using (IDbConnection connection = new DbConnection(ConnectionString)) { connection.Open(); using (IDbCommand command = connection.CreateCommand()) { command.CommandText = StatementCache.Instance.GetCachedStatement("Imi.SupplyChain.Transportation.Authentication.DataAccess.Queries.ModifyUserDetails.sql"); ((OracleCommand)command).BindByName = true; foreach (IDbDataParameter parameter in ModifyUserDetailsTranslator.TranslateParameters(parameters)) { command.Parameters.Add(parameter); } command.Prepare(); command.ExecuteNonQuery(); } } scope.Complete(); } }
public void SelectAndClose(UserNode selectedNode) { if (selectedNode != null) { try { UserSettingsChangedEventArgs args = new UserSettingsChangedEventArgs(); EventTopic userSettingsTopic = WorkItem.EventTopics.Get(Imi.SupplyChain.UX.UXEventTopicNames.UserSettingsChangedTopic); if (userSettingsTopic != null) { userSettingsTopic.Fire(this, args, WorkItem, PublicationScope.Descendants); if (args.OpenDialogs.Count > 0) { if (ShellInteractionService.ShowMessageBox(this.View.Title, string.Format(LocalResources.ChangeUserSettings_CloseAll, string.Join("\n", args.OpenDialogs)), null, MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No) { Close(); return; } } } ShellInteractionService.ShowProgress(); UserSessionService.NodeId = selectedNode.NodeIdentity; ModifyUserDetailsParameters modifyUserDetailsParameters = new ModifyUserDetailsParameters(); modifyUserDetailsParameters.UserIdentity = UserSessionService.UserId; modifyUserDetailsParameters.LastLogonTime = DateTime.Now; modifyUserDetailsParameters.RecentNodeIdentity = selectedNode.NodeIdentity; ModifyUserDetailsRequest serviceRequest = new ModifyUserDetailsRequest(); serviceRequest.ModifyUserDetailsParameters = modifyUserDetailsParameters; Service.ModifyUserDetails(serviceRequest); if (userSettingsTopic != null) { UserSettingsChangedEventArgs userSettingsChangedEventArgs = new UserSettingsChangedEventArgs(true); userSettingsTopic.Fire(this, userSettingsChangedEventArgs, WorkItem, PublicationScope.Descendants); } // Set the selected Warehouse and ClientId on statusrow in container ShellInteractionService.ContextInfo = string.Format(LocalResources.STATUSBAR_GATEWAYTMS_NODE, selectedNode.NodeIdentity, selectedNode.NodeName); Close(); } catch (Exception ex) { ShellInteractionService.HideProgress(); ShellInteractionService.ShowMessageBox(StringResources.ActionException_Text, ex.Message, ex.ToString(), MessageBoxButton.Ok, MessageBoxImage.Error); } finally { ShellInteractionService.HideProgress(); } } }
public static IList <IDbDataParameter> TranslateParameters(ModifyUserDetailsParameters parameters) { IList <IDbDataParameter> parameterList = new List <IDbDataParameter>(); IDbDataParameter dbParameter; dbParameter = new OracleParameter(); dbParameter.ParameterName = "EMPID"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.UserIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "NODE_ID"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.RecentNodeIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "LASTLOGONDTM"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(DateTime)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.LastLogonTime; parameterList.Add(dbParameter); return(parameterList); }
public void Execute(ModifyUserDetailsParameters parameters) { ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[schemaName]; string connectionString = settings.ConnectionString; IAuthenticationDao dao = new AuthenticationDao(connectionString); dao.ModifyUserDetails(parameters); }