private void LoadControl() { //Carga el nombre del Splash en caso de que ocurra un //error para registrarlo en el log Common.LogApplicationItem.UserControlName = "Splash"; #region Datos Usuario User usuarioDto = m_userDto; string password = m_password; Login.Firm = usuarioDto.Firm; Login.passWord = password; Login.PCC = usuarioDto.PCC; Login.TA = usuarioDto.TA; Login.UserId = usuarioDto.UserId; Login.Queue = usuarioDto.Queue; Login.Mail = usuarioDto.UserMail; Login.NombreCompleto = usuarioDto.FamilyName; Login.IsMySabreBlocked = usuarioDto.IsMySabreBlocked; Login.Agent = usuarioDto.Agent; Login.IsFramework35Installed = usuarioDto.IsFramework35Installed; Login.ProfileAllAccess = usuarioDto.ProfileAllAccess; Login.ApplicationName = usuarioDto.ApplicationName; Login.OrgId = usuarioDto.OrgId; UserBL.OrgIdBL = usuarioDto.OrgId; Login.Supervisor = usuarioDto.Supervisor; Login.UpgradeStatus = usuarioDto.UpgradeStatus; //Crear perfil de properties de mySABRE por default #endregion if (Login.UpgradeStatus.Equals(0) && Login.ByParameters) { MessageBox.Show("Acción Cancelada. Ejecutar la aplicación MyCTS que se encuentra en el escritorio."); CloseApp(); } else if (Login.UpgradeStatus.Equals(0) && !Login.ByParameters) { GlobalConstants.PATH_SABRE_USER = string.Format(ConfigurationManager.AppSettings["PATH_MYSABRE_USER"] + "{0}", Login.Firm); GlobalConstants.PATH_SABRE_COMPILED = ConfigurationManager.AppSettings["PATH_MYSABRE_COMPILED"]; } else if (Login.UpgradeStatus.Equals(2) && !Login.ByParameters) { bool exists = File.Exists(Path.Combine(ConfigurationManager.AppSettings["PATH_SABRERED_USER"], @"Profiles\3L64_1571\mysabre.exe")); if (!exists) { MessageBox.Show("Su usuario no puede trabajar con la versión instalada en este equipo, se empezara a actualizar a MyCTS2"); Login.UpgradeStatus = 1; UpdateSRW(); } } GlobalConstants.PATH_SABRE_USER = ConfigurationManager.AppSettings["PATH_SABRERED_USER"]; GlobalConstants.PATH_SABRE_COMPILED = ConfigurationManager.AppSettings["PATH_SABRERED_COMPILED"]; try { SendMessages("Inicializando . . ."); Parameters.ServerDateTime = MyCTS.Services.Contracts.Productivity.GetCurrentDateTime(); Parameters.LocalDateTime = DateTime.Now; //Verifica que el usuario tenga framework 3.5 instalado if (usuarioDto.InstallFramework35) { SilentInstaller.CheckFrameworkVersion(); } DeleteInitialFiles(); GlobalConstants.FilesDBList = CatalogsBL.GetCatalogsFileNames(); try { MyCTSAPI.EnabledBrowser(true); } catch {} // Actualizar a SRW UpdateSRW(); //Tiempos de respuesta del API para comandos manuales y comandos extendidos try { Parameters.CurrentTimeAPINormal = ParameterBL.GetParameterValue("CurrentTimeAPINormal").Values; Parameters.CurrentTimeAPIExtended = ParameterBL.GetParameterValue("CurrentTimeAPIExtended").Values; } catch { Parameters.CurrentTimeAPINormal = "29"; Parameters.CurrentTimeAPIExtended = "240"; } Parameters.TimeExtendedAPI = false; } catch { } #region Verificando configuración . . . string[] driversPath = new string[] { "c:\\", "d:\\" }; string strPath = string.Empty; string strPathTurbo = string.Empty; string strTA = null; try { SendMessages("Verificando configuración . . ."); if (string.IsNullOrEmpty(usuarioDto.TA)) { Login.IsFirstTime = true; foreach (string myDrive in driversPath) { //Obtener la TA de cada maquina. strPath = myDrive + Resources.Constants.PATH_TA_FILE; strTA = GetTAUserMachine(strPath); usuarioDto.TA = strTA; if (!string.IsNullOrEmpty(strTA)) { break; } } } //Update la TA UserBL.UpdateUser(usuarioDto.ApplicationId, usuarioDto.UserId, usuarioDto.UserName, usuarioDto.LoweredUserName, usuarioDto.UserMail, DateTime.Now, usuarioDto.Firm, password, usuarioDto.FamilyName, usuarioDto.Agent, usuarioDto.Queue, usuarioDto.PCC, usuarioDto.TA); //Obtiene el profile del usuario. Profile profileDto = m_userDto.ProfileUser; //Cambiar el nombre del archivo de TurboSABRE if (profileDto != null) { string bannerText = Common.GetProfileElement("BANNER", profileDto.PropertyNames, profileDto.PropertyValuesString); if (string.IsNullOrEmpty(bannerText)) { bannerText = Resources.Constants.BANNER_TEXT; } Login.BannerText = bannerText; Login.UserProfile = profileDto; if (!profileDto.LastUpdatedDate.Equals(DateTime.MinValue)) { foreach (string myDrive in driversPath) { //Obtener la TA de cada maquina. strPathTurbo = myDrive + Resources.Constants.PATH_TURBO_FILE; ChangeTurboSABREFile(strPathTurbo); } } } } catch (Exception ex) { Common.AddMessageToLog(ex); MessageBox.Show("No ha sido posible verificar la información del perfil, por favor contacte con el área de soporte.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); CloseApp(); } #endregion ActualizaVersionDeMyCTS(); #region Creando datos del perfil . . . SendMessages("Cargando datos del perfil . . ."); try { SetSettingsUser(); } catch (Exception ex) { Common.AddMessageToLog(ex); MessageBox.Show("No ha sido posible copiar los archivos de configuración, por favor contacte con el área de soporte.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); CloseApp(); } #endregion #region Cargando archivos de inicio . . . SendMessages("Cargando archivos de inicio . . ."); try { LoadMissingCatalogs(); } catch (Exception ex) { Common.AddMessageToLog(ex); MessageBox.Show("No ha sido posible descargar la información, por favor contacte con el área de soporte.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); CloseApp(); } #endregion //Obtiene la contraseña para poder ingresar comandos de forma manual Parameter parameter = ParameterBL.GetParameterValue("ManualCommands"); Parameters.PasswordManualCommands = (parameter != null) ? parameter.Values : string.Empty; parameter = ParameterBL.GetParameterValue("SecondsLogs"); Parameters.SecondsLogs = (parameter != null) ? parameter.Values : "60000"; parameter = ParameterBL.GetParameterValue("NumCommandsToInsertLogs"); Parameters.NumCommandsToInsertLogs = (parameter != null) ? parameter.Values : "15"; CloseThisWin(); }
private void LoadMissingCatalogs() { string pathCatalogs = GlobalConstants.PATH_SABRE_USER + "\\xml"; DirectoryInfo dir = new DirectoryInfo(pathCatalogs); if (!dir.Exists) { dir.Create(); } string filesToLoad = string.Empty; string logicalFileTemp = string.Empty; string physicalFileTemp1 = string.Empty; List <string> filesNamesToLoad = new List <string>(); bool isLoaded = false; int len = GlobalConstants.FilesDBList.Count; //busca los archivos que tenga cargados el usuario en su máquina //para cargar solamente aquellos que no tengan o sean versiones anteriores for (int i = 0; i < len; i++) { logicalFileTemp = GlobalConstants.FilesDBList[i]; if (string.IsNullOrEmpty(logicalFileTemp)) { break; } //elimina la nomenclatura para identificar la version (yyyyMMdd) y guión bajo logicalFileTemp = logicalFileTemp.Substring(0, logicalFileTemp.Length - 8); FileInfo[] singleFile = dir.GetFiles(logicalFileTemp + "*.xml"); //si no encuentro el archivo fisicamente en el cliente lo cargo foreach (FileInfo f in singleFile) { physicalFileTemp1 = f.Name.ToLower().Replace(".xml", string.Empty); logicalFileTemp = GlobalConstants.FilesDBList[i]; if (!physicalFileTemp1.Equals(logicalFileTemp)) { filesToLoad += "'" + logicalFileTemp + "',"; filesNamesToLoad.Add(logicalFileTemp); //guarda el nombre original de la base de datos para escribirlo f.Delete(); } isLoaded = true; } if (!isLoaded) { logicalFileTemp = GlobalConstants.FilesDBList[i]; filesToLoad += "'" + logicalFileTemp + "',"; filesNamesToLoad.Add(logicalFileTemp); } isLoaded = false; } if (!string.IsNullOrEmpty(filesToLoad)) { filesToLoad += "''"; ArrayList catalogsCollection = CatalogsBL.GetMissingCatalog(filesToLoad); if (catalogsCollection != null) { len = catalogsCollection.Count; for (int i = 0; i < len; i++) { List <ListItem> catalogs = catalogsCollection[i] as List <ListItem>; string pathfile = pathCatalogs + "\\" + filesNamesToLoad[i]; WriteXMLFile(catalogs, pathfile); } } } }