예제 #1
0
        public static List <PairedFiles.PairedFile> GetPairedFiles(VersionDetails versionDetails)
        {
            //var filesList = new List<string>();
            var originalFiles = new List <string>();
            var modifiedFiles = new List <string>();

            //get target files
            foreach (var folder in versionDetails.TargetLanguages)
            {
                var originalFilesPath = Path.Combine(versionDetails.OriginalFileLocation,
                                                     folder.id);
                originalFiles.AddRange(GetFilesFromFolder(originalFilesPath));

                var modifiedFilesPath = Path.Combine(versionDetails.ModifiedFileLocation,
                                                     folder.id);
                modifiedFiles.AddRange(GetFilesFromFolder(modifiedFilesPath));
            }

            //get files from source folder for initial files
            var sourceOriginalPathFolder = Path.Combine(versionDetails.OriginalFileLocation,
                                                        versionDetails.SourceLanguage.id);

            originalFiles.AddRange(GetFilesFromFolder(sourceOriginalPathFolder));

            //get files from source folder for modified files
            var modifiedOriginalPathFolder = Path.Combine(versionDetails.ModifiedFileLocation,
                                                          versionDetails.SourceLanguage.id);

            modifiedFiles.AddRange(GetFilesFromFolder(modifiedOriginalPathFolder));


            var pairedFiles = CreatePairedFiles(originalFiles, modifiedFiles);

            return(pairedFiles);
        }
예제 #2
0
        public static List <PairedFiles.PairedFile> GetPairedFiles(VersionDetails versionDetails, Project project)
        {
            var originalFiles = new List <string>();
            var modifiedFiles = new List <string>();

            var pathToLanguageFolder = Path.Combine(versionDetails.OriginalFileLocation, versionDetails.SourceLanguage.id);

            if (Directory.Exists(pathToLanguageFolder))
            {
                foreach (var folder in versionDetails.TargetLanguages)
                {
                    var originalFilesPath = Path.Combine(versionDetails.OriginalFileLocation,
                                                         folder.id);
                    originalFiles.AddRange(GetFilesFromFolder(originalFilesPath));

                    var modifiedFilesPath = Path.Combine(versionDetails.ModifiedFileLocation,
                                                         folder.id);
                    modifiedFiles.AddRange(GetFilesFromFolder(modifiedFilesPath));
                }

                //get files from source folder for initial files
                var sourceOriginalPathFolder = Path.Combine(versionDetails.OriginalFileLocation,
                                                            versionDetails.SourceLanguage.id);
                originalFiles.AddRange(GetFilesFromFolder(sourceOriginalPathFolder));

                //get files from source folder for modified files
                var modifiedOriginalPathFolder = Path.Combine(versionDetails.ModifiedFileLocation,
                                                              versionDetails.SourceLanguage.id);
                modifiedFiles.AddRange(GetFilesFromFolder(modifiedOriginalPathFolder));
            }
            else
            {
                // that means the project is created as "Translate single document" - only one target language is available

                var originalFile = Directory.GetFiles(versionDetails.OriginalFileLocation, "*.sdlxliff").FirstOrDefault();
                if (!string.IsNullOrEmpty(originalFile))
                {
                    originalFiles.Add(originalFile);
                }

                var updatedFile = Directory.GetFiles(versionDetails.ModifiedFileLocation, "*.sdlxliff").FirstOrDefault();
                if (!string.IsNullOrEmpty(updatedFile))
                {
                    modifiedFiles.Add(updatedFile);
                }
            }



            var pairedFiles = CreatePairedFiles(originalFiles, modifiedFiles);

            return(pairedFiles);
        }
예제 #3
0
        public static VersionDetails CreateVersionDetails(Project project)
        {
            var versionDetails = new VersionDetails
            {
                OriginalFileLocation = project.projectVersions[0].location,
                ModifiedFileLocation = project.projectVersions[project.projectVersions.Count - 1].location,
                SourceLanguage       = project.sourceLanguage,
                TargetLanguages      = project.targetLanguages
            };

            return(versionDetails);
        }
        public override bool Execute()
        {
            var serializer = new XmlSerializer(typeof(VersionDetails));

            VersionDetails versionDetails = null;

            using (var stream = File.OpenRead(VersionDetailsFile))
            {
                versionDetails = (VersionDetails)serializer.Deserialize(stream);
            }

            var allRepoProps = new Dictionary <string, string>();

            foreach (var dep in versionDetails.ToolsetDependencies.Concat(versionDetails.ProductDependencies))
            {
                Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Starting dependency {dep.ToString()}");
                string repoPath   = DeriveRepoPath(ClonedSubmoduleDirectory, dep.Uri, dep.Sha);
                string repoGitDir = DeriveRepoGitDirPath(ClonedSubmoduleGitRootDirectory, dep.Uri);
                if (Directory.Exists(repoGitDir))
                {
                    foreach (string repoName in GetRepoNamesOrDefault(dep))
                    {
                        string safeRepoName = repoName.Replace("-", "");
                        try
                        {
                            WriteMinimalMetadata(repoPath, dep.Uri, dep.Sha);
                            WriteSourceBuildMetadata(SourceBuildMetadataDir, repoGitDir, dep);
                            if (File.Exists(Path.Combine(repoPath, ".gitmodules")))
                            {
                                HandleSubmodules(repoPath, repoGitDir, dep);
                            }
                            allRepoProps[$"{safeRepoName}GitCommitHash"]        = dep.Sha;
                            allRepoProps[$"{safeRepoName}OutputPackageVersion"] = dep.Version;
                        }
                        catch (Exception e)
                        {
                            Log.LogErrorFromException(e, true, true, null);
                        }
                    }
                }
                else
                {
                    Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Skipping dependency {dep.ToString()} - git dir {repoGitDir} doesn't exist");
                }
            }
            string allRepoPropsPath = Path.Combine(SourceBuildMetadataDir, "AllRepoVersions.props");

            Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Writing all repo versions to {allRepoPropsPath}");
            WritePropsFile(allRepoPropsPath, allRepoProps);

            return(!Log.HasLoggedErrors);
        }
예제 #5
0
        /** 20180409.  Control Version en CMEDIA */
        static void SetCurrentSwVersion()
        {
            if (Settings.Default.SNMPEnabled == 1)
            {
                System.Threading.Tasks.Task.Factory.StartNew(() =>
                {
                    System.Threading.Thread.Sleep(5000);

                    VersionDetails version = new VersionDetails("versiones.json");
                    /** Se añade el componente CMEDIA */
                    version.version.Components.Add(new VersionDetails.VersionDataComponent()
                    {
                        Name  = "Hardware de Audio",
                        Files = new List <VersionDetails.VersionDataFileItem>()
                        {
                            new   VersionDetails.VersionDataFileItem()
                            {
                                Path = _HwManager.HwManagerType + " #1",
                                Date = _HwManager.SwDate(0),
                                Size = _HwManager.SwVersion(0),
                                MD5  = ""
                            },
                            new   VersionDetails.VersionDataFileItem()
                            {
                                Path = _HwManager.HwManagerType + " #2",
                                Date = _HwManager.SwDate(1),
                                Size = _HwManager.SwVersion(1),
                                MD5  = ""
                            },
                            new   VersionDetails.VersionDataFileItem()
                            {
                                Path = _HwManager.HwManagerType + " #3",
                                Date = _HwManager.SwDate(2),
                                Size = _HwManager.SwVersion(2),
                                MD5  = ""
                            },
                            new   VersionDetails.VersionDataFileItem()
                            {
                                Path = _HwManager.HwManagerType + " #4",
                                Date = _HwManager.SwDate(3),
                                Size = _HwManager.SwVersion(3),
                                MD5  = ""
                            }
                        }
                    });
                    /** Se actualiza el string de version */
                    SnmpStringObject.Get(Settings.Default.CurrentSwVersionOid).Value = version.ToString();
                });
            }
        }
예제 #6
0
        private string GetJarURL(string jsonURL)
        {
            Uri            uri     = new Uri(jsonURL);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            string         json;

            using (var response = request.GetResponse())
                using (Stream stream = response.GetResponseStream())
                    using (StreamReader reader = new StreamReader(stream))
                    {
                        json = reader.ReadToEnd();
                    }

            VersionDetails versionDetails = JsonConvert.DeserializeObject <VersionDetails>(json);

            if (versionDetails.downloads.server == null)
            {
                return(null);
            }
            return(versionDetails.downloads.server.url);
        }
예제 #7
0
        public string GetVersion(RequestObject requestObject, SyncDetails syncDetails)
        {
            string         response       = string.Empty;
            VersionDetails versionDetails = new VersionDetails();

            try
            {
                if (null != requestObject && null != syncDetails && ValidationHelperFunctions.CheckRequestValidatorToken())
                {
                    versionDetails.Status = false;
                    ClientContext clientContext = null;
                    string        usersMySite   = BriefcaseHelperFunction.GetPersonalURL(requestObject);
                    if (!string.IsNullOrEmpty(usersMySite))
                    {
                        using (clientContext = ServiceUtility.GetClientContext(requestObject.SPAppToken, new Uri(usersMySite), requestObject.RefreshToken))
                        {
                            List <string> sourceURL = BriefcaseHelperFunction.CheckSourceURL(clientContext, syncDetails, 1);

                            if (sourceURL.Count != 0)
                            {
                                return(BriefcaseHelperFunction.GetNotSupportedMessage(sourceURL));
                            }

                            sourceURL = BriefcaseHelperFunction.CheckSourceURL(clientContext, syncDetails, 2);
                            List <string> relativeURLList = BriefcaseHelperFunction.CheckSourceURL(clientContext, syncDetails, 3);
                            versionDetails.RelativeURL = relativeURLList;
                            for (int iterator = 0; iterator < sourceURL.Count; iterator++)
                            {
                                string url         = sourceURL[iterator];
                                string relativeURL = Convert.ToString(url.Split(Convert.ToChar(ConstantStrings.DOLLAR, CultureInfo.InvariantCulture))[1], CultureInfo.InvariantCulture);
                                using (clientContext = ServiceUtility.GetClientContext(requestObject.SPAppToken, new Uri(url.Split(Convert.ToChar(ConstantStrings.DOLLAR, CultureInfo.InvariantCulture))[0]), requestObject.RefreshToken))
                                {
                                    Microsoft.SharePoint.Client.File file = clientContext.Web.GetFileByServerRelativeUrl(relativeURL);
                                    string documentLibraryName            = BriefcaseHelperFunction.getLibraryName(clientContext, file);
                                    List   docLib = clientContext.Web.Lists.GetByTitle(documentLibraryName);
                                    clientContext.Load(docLib);
                                    clientContext.ExecuteQuery();
                                    versionDetails.IsMajorVersion.Add(docLib.EnableVersioning);
                                    versionDetails.IsMinorVersion.Add(docLib.EnableMinorVersions);
                                    versionDetails.Status = true;
                                    if (versionDetails.IsMajorVersion[iterator] || versionDetails.IsMinorVersion[iterator])
                                    {
                                        versionDetails.CurrentMajorVersion.Add(Convert.ToString(file.MajorVersion, CultureInfo.InvariantCulture));

                                        if (file.CheckOutType != CheckOutType.None)
                                        {
                                            if (0 == file.MinorVersion)
                                            {
                                                versionDetails.CurrentMinorVersion.Add(Convert.ToString(file.MinorVersion, CultureInfo.InvariantCulture));
                                            }
                                            else
                                            {
                                                int currentMinorVersion = file.MinorVersion - 1;
                                                versionDetails.CurrentMinorVersion.Add(Convert.ToString(currentMinorVersion, CultureInfo.InvariantCulture));
                                            }

                                            clientContext.Load(file.CheckedOutByUser);
                                            clientContext.ExecuteQuery();
                                            User user = clientContext.Web.CurrentUser;
                                            clientContext.Load(user);
                                            clientContext.ExecuteQuery();
                                            if (user.Title == file.CheckedOutByUser.Title)
                                            {
                                                versionDetails.CheckOutStatus.Add(Convert.ToString(file.CheckedOutByUser.Title, CultureInfo.InvariantCulture));
                                            }
                                            else
                                            {
                                                versionDetails.Status       = false;
                                                versionDetails.ErrorMessage = ServiceConstantStrings.AlreadyCheckOut;
                                            }
                                        }
                                        else
                                        {
                                            versionDetails.CurrentMinorVersion.Add(Convert.ToString(file.MinorVersion, CultureInfo.InvariantCulture));
                                            versionDetails.CheckOutStatus.Add(ConstantStrings.Space);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        versionDetails.ErrorMessage = ServiceConstantStrings.UserMySiteNotPresent;
                    }
                }
                else
                {
                    versionDetails.Status       = false;
                    versionDetails.ErrorMessage = TextConstants.MessageNoInputs;
                }
            }
            catch (Exception exception)
            {
                versionDetails.Status        = false;
                versionDetails.ErrorMessage += ServiceUtility.RemoveEscapeCharacter(exception.Message);
                Logger.LogError(exception, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name, ServiceConstantStrings.LogTableName);
            }

            response = BriefcaseHelperFunction.GetSerializeResponse(versionDetails);
            return(response);
        }
        public HttpResponseMessage DownloadOrgChartPDF(DownloadPDFInfo Info)
        {
            string ErrorString = "ERROR_NONE", ErrorMessage = "", PDF_FileName = "";

            try
            {
                LevelInfo LI         = new LevelInfo();
                string    AuthHeader = HttpContext.Current.Request.Headers["Authorization"];

                if (AuthHeader != null && AuthHeader.StartsWith("Basic"))
                {
                    //Extract credentials
                    string EncodedUsernamePassword = AuthHeader.Substring("Basic ".Length).Trim();

                    //The coding should be iso or you could use ASCII and UTF-8 decoder
                    Encoding Encoding         = Encoding.GetEncoding("iso-8859-1");
                    string   UsernamePassword = Encoding.GetString(Convert.FromBase64String(EncodedUsernamePassword));

                    int SeperatorIndex = UsernamePassword.IndexOf(':');

                    string UserName = UsernamePassword.Substring(0, SeperatorIndex);
                    string Password = UsernamePassword.Substring(SeperatorIndex + 1);

                    using (Models.DBContext db = new Models.DBContext())
                    {
                        LoginUsers UserData = LI.GetLoginUserWebAPI("", UserName);
                        var        UCA      = (from uca in db.UserLastActions
                                               where uca.UserId == UserData.UserName
                                               select uca).FirstOrDefault();
                        if (UCA != null)
                        {
                            var    FolderName       = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/App_Data/Versions/DownLoadVersion"));
                            string FN               = UserData.UserName + "_" + UserData.CompanyName + "_" + DateTime.Now.ToString("yyyyMMddhhmmss");
                            string FileNameWithPath = FolderName + "\\" + FN + ".PDF";
                            int    FinalyzerVersion = Convert.ToInt32(LI.ChooseFinalyzerVersionWebAPI(UCA.Version, UserName));

                            VersionDetails VD = (from vd in db.VersionDetails
                                                 where vd.UserRole == "Finalyzer" &&
                                                 vd.CompanyName == UserData.CompanyName &&
                                                 vd.ActiveVersion == "Y" &&
                                                 vd.VersionNo == FinalyzerVersion
                                                 select vd).FirstOrDefault();
                            if (VD != null)
                            {
                                var UFH = (from ufh in db.UploadFilesHeaders
                                           where ufh.CompanyName == UserData.CompanyName &&
                                           ufh.Role == "Finalyzer" &&
                                           ufh.VersionNo == FinalyzerVersion
                                           select ufh).FirstOrDefault();
                                if (UFH != null)
                                {
                                    string ShowLevelPDF = UCA.ShowLevel;
                                    if (Info.LevelUp == "Yes")
                                    {
                                        ShowLevelPDF = UCA.ParentLevel == "999999" ? UCA.ShowLevel : UCA.ParentLevel;
                                    }
                                    string CurrentLevelPDF = "All";
                                    if (Info.CurrentLevel == "Yes")
                                    {
                                        CurrentLevelPDF = UCA.Levels;
                                        if (Info.LevelUp == "Yes")
                                        {
                                            if (UCA.ParentLevel != "999999")
                                            {
                                                if (CurrentLevelPDF == "One")
                                                {
                                                    CurrentLevelPDF = "Two";
                                                }
                                                else if (CurrentLevelPDF == "Two")
                                                {
                                                    CurrentLevelPDF = "Three";
                                                }
                                                else if (CurrentLevelPDF == "Three")
                                                {
                                                    CurrentLevelPDF = "Four";
                                                }
                                                else if (CurrentLevelPDF == "Four")
                                                {
                                                    CurrentLevelPDF = "Five";
                                                }
                                                else if (CurrentLevelPDF == "Five")
                                                {
                                                    CurrentLevelPDF = "Five";
                                                }
                                                else if (CurrentLevelPDF == "All")
                                                {
                                                    CurrentLevelPDF = "All";
                                                }
                                            }
                                            else
                                            {
                                                Info.LevelUp = "No";
                                            }
                                        }
                                    }
                                    if (UCA.ParentLevel == "999999")
                                    {
                                        Info.LevelUp = "No";
                                    }
                                    AllLevelPDF AllPDF = new AllLevelPDF(ShowLevelPDF, "999999", UCA.Oper.Trim().ToUpper(), UCA.Country,
                                                                         CurrentLevelPDF, "23/10/2018", 6, "EN", "", "PDF", "POSITION_CALCULATED_COST",
                                                                         UFH.PositionCostField, UserData.CompanyName, UFH.FirstPosition,
                                                                         FinalyzerVersion);
                                    DataSet OrgDataSet = LI.GetOrgChartDataTable(UCA.Role, UCA.Country, ShowLevelPDF, "999999", CurrentLevelPDF, UCA.Oper, UCA.Version, UCA.ShowLevel, Info.LevelUp, UCA.SelectedFunctionalManagerType);
                                    AllPDF.CreateAllLevelPDFIntermediateResults(OrgDataSet, UCA.Oper.ToUpper(), VD.VersionNo.ToString(), "", "PDF");
                                    OrgDataSet   = LI.GetOrgChartDataTable(UCA.Role, UCA.Country, ShowLevelPDF, "999999", CurrentLevelPDF, UCA.Oper, UCA.Version, UCA.ShowLevel, Info.LevelUp, UCA.SelectedFunctionalManagerType);
                                    PDF_FileName = AllPDF.CreateAllLevelPDF(OrgDataSet, "PDF", UCA.Company, UCA.UserId, UCA.Oper, UCA.SelectedFMLine, Info.ViewFlag, FileNameWithPath, Info.LevelUp, UCA.ShowLevel);
                                }
                            }
                        }
                    }
                }
                else
                {
                    //Handle what happens if that isn't the case
                    ErrorString = "ERROR_AUTH";
                }
            }
            catch (Exception ex)
            {
                // Log exception code goes here
                ErrorString  = "ERROR_IN";
                ErrorMessage = ex.Message;
            }

            if (ErrorString == "ERROR_IN")
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error occured while executing DownloadOrgChartPDF(" + ErrorMessage + ")."));
            }
            else if (ErrorString == "ERROR_AUTH")
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "The authorization header is either empty or isn't Basic."));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, PDF_FileName));
        }