Exemple #1
0
        public Report ImportReport(TDM api, Stream file)
        {
            XDocument infoXml;

            using (ZipFile zipFile = new ZipFile(file))
            {
                ZipEntry zipEntry = zipFile.GetEntry("Info.xml");
                using (Stream zipStream = zipFile.GetInputStream(zipEntry))
                {
                    using (StreamReader streamReader = new StreamReader(zipStream))
                    {
                        infoXml = XDocument.Load(streamReader);
                        int testRuns = int.Parse(infoXml.Element("LogFileInfo").Element("TestRunCount").Value);
                        for (int i = 1; i <= testRuns; i++)
                        {
                            ZipEntry zipEntryRun = zipFile.GetEntry($"Run {i}.xml");
                            using (Stream zipStreamRun = zipFile.GetInputStream(zipEntryRun))
                            {
                                using (StreamReader streamReaderRun = new StreamReader(zipStreamRun))
                                {
                                    XDocument runXML = XDocument.Load(streamReaderRun);
                                    UUTReport uut    = CreateReport(api, runXML);
                                    api.Submit(uut);
                                }
                            }
                        }
                    }
                }
            }
            return(null);
        }
Exemple #2
0
        public JsonResult GetTDMPublico(string id)
        {
            int IdTDM = int.Parse(id);
            TDM tdm;

            if (IdTDM == 0)
            {
                tdm = new TDM()
                {
                    Descricao  = "TODOS",
                    Id         = 0,
                    TdmPublico = false
                }
            }
            ;
            else
            {
                tdm = db.TDM.Find(IdTDM);
            }

            int IsPublic = 0;

            if (tdm.TdmPublico)
            {
                IsPublic = 1;
            }

            return(Json(new { tdmPublico = IsPublic, Id = tdm.Id }, JsonRequestBehavior.AllowGet));
        }
Exemple #3
0
        private UUTReport CreateReport(TDM api, XDocument xml)
        {
            XElement  testRun     = xml.Element("testrun");
            XElement  testRunInfo = testRun.Element("testruninfo");
            UUTReport uut         = api.CreateUUTReport(
                testRunInfo.Element("user").Value,
                parameters["partNumber"],
                parameters["partRevision"],
                testRunInfo.Element("serial").Value,
                parameters["operationTypeCode"],
                parameters["sequenceName"],
                parameters["sequenceVersion"]);

            uut.StartDateTime = DateTime.ParseExact(testRun.Attribute("datetime").Value, "o", CultureInfo.InvariantCulture);
            uut.Comment       = testRunInfo.Element("project-description").Value;
            if (testRunInfo.Element("xjlink-name") != null)
            {
                uut.StationName = testRunInfo.Element("xjlink-name").Value;
            }
            if (testRunInfo.Element("time-taken") != null)
            {
                uut.ExecutionTime = double.Parse(testRunInfo.Element("time-taken").Value) / 1000.0;
            }
            ReadTests(uut, testRun);
            uut.Status = testRunInfo.Element("result").Value == "Passed"?UUTStatusType.Passed:UUTStatusType.Failed; //Termiated, Error?
            return(uut);
        }
Exemple #4
0
        private UUTReport CreateUUTFromHeader(TDM api, string[] cols, string sn)
        {
            UUTReport uut = api.CreateUUTReport(parameters["operator"],
                                                cols[2], parameters["partRevision"],
                                                sn, parameters["operationTypeCode"],
                                                parameters["sequenceName"], parameters["sequenceVersion"]);

            uut.StartDateTime = DateTime.Parse(cols[1], cultureInfo);
            return(uut);
        }
Exemple #5
0
        public static string SummarizeByCompressionRatio(TDM miTDM,
                                                         List <PositionValue> phrasesList,
                                                         SummaryType summaryType,
                                                         int summaryLength, out List <KeyValuePair <string, int> > summaryXML)
        {
            var genSummary = "";

            summaryXML = new List <KeyValuePair <string, int> >();
            var i = 0;

            if (summaryType == SummaryType.Words)
            {
                string[] words;
                do
                {
                    genSummary += miTDM.PhrasesList[phrasesList[i].Position].OriginalText + " ";
                    summaryXML.Add(new KeyValuePair <string, int>(miTDM.PhrasesList[phrasesList[i].Position].OriginalText, phrasesList[i].Position));
                    i++;
                    words = genSummary.TrimEnd(' ').Split(' ');
                } while (words.Length < summaryLength && i < phrasesList.Count);

                genSummary = "";
                for (i = 0; i < summaryLength; i++)
                {
                    if (i > words.Length - 1)
                    {
                        continue;
                    }
                    genSummary += words[i] + " ";
                }

                var myLength = genSummary.TrimEnd(' ').Split(' ').Length;
                if (myLength < summaryLength)
                {
                    Debug.WriteLine("**************OJO: short : " + myLength + " **************");
                }
                return(genSummary.Trim());
            }

            if (summaryType == SummaryType.Sentences)
            {
                for (var f = 0; f < phrasesList.Count; f++)
                {
                    if (f >= summaryLength)
                    {
                        break;
                    }
                    genSummary += miTDM.PhrasesList[phrasesList[f].Position].OriginalText + " ";
                }
                return(genSummary.Trim());
            }

            return(genSummary.Trim());
        }
Exemple #6
0
 public void NewSession()
 {
     if (server_config.Gamemode == "TDM")
     {
         gamemodeTDM      = new TDM();
         SelectedGamemode = 0;
         SendNewGamemode(0);
         gamemodeTDM.SessionFinished += EndSession;
     }
     SessionStatus = true;
 }
Exemple #7
0
        public override void Summarize(SummaryParameters mySummaryParameters, string newsDirectory, string cacheFileName)
        {
            Mis = (DegreeCentralityLexRankParameters)mySummaryParameters;

            Debug.WriteLine("Starting execution of DegreeCentralityLexRank.");
            var startTime = DateTime.Now;

            var myTDM              = new TDM(newsDirectory, Mis.MyTDMParameters, cacheFileName);
            var normalized         = ((DegreeCentralityLexRankParameters)mySummaryParameters).SimilarityNormalized;
            var mySimilarityMatrix = new SimilarityMatrix(myTDM, cacheFileName, normalized);

            var totalPhrases         = myTDM.PhrasesList.Count;
            var myCosineSimilarities = mySimilarityMatrix.CosineSimilarityBetweenPhrases;

            var weights = new double[totalPhrases];

            for (var i = 0; i < totalPhrases; i++)
            {
                var sum = 0.0d;
                for (var j = 0; j < totalPhrases; j++)
                {
                    if (myCosineSimilarities[i][j] > Mis.DegreeCentrality)
                    {
                        sum++;
                    }
                }
                weights[i] = sum;
            }

            var phrasesList = new List <PositionValue>(); // Save candidate phrases with their weight (relevance)

            for (var i = 0; i < totalPhrases; i++)
            {
                phrasesList.Add(new PositionValue(i, weights[i]));
            }

            //phrasesList.Sort((x,y) => -1 * x.Value.CompareTo(y.Value)); // The phrases are ordered by their weight
            phrasesList.Sort(delegate(PositionValue x, PositionValue y)
            {
                if (Math.Abs(x.Value - y.Value) < 1e-07)
                {
                    return(myTDM.PhrasesList[x.Position].PositionInDocument.CompareTo(myTDM.PhrasesList[y.Position].PositionInDocument));
                }
                return(-1 * x.Value.CompareTo(y.Value));
            });

            TextSummary = Util.SummarizeByCompressionRatio(myTDM, phrasesList, mySummaryParameters.MySummaryType,
                                                           Mis.MaximumLengthOfSummaryForRouge, out SummaryByPhrases);

            var fin = DateTime.Now - startTime;

            Debug.WriteLine("Minutes of DegreeCentralityLexRank: " + fin.TotalMinutes);
        }
Exemple #8
0
        public Report ImportReport(TDM api, Stream file)
        {
            cultureInfo = new CultureInfo(parameters["cultureCode"]);

            UUTReport unitTestReport = null;

            using (TextReader reader = new StreamReader(file))
            {
                //Serial #:	Time:   Lot #:  Name	Margin	Unit	Result	Tolerance	Limits
                string   header = reader.ReadLine();
                string   line = reader.ReadLine();
                string   sn = "", measureName = "", xUnit = "", yUnit = "";
                double[] xValues = null;
                while (line != null)
                {
                    if (!string.IsNullOrEmpty(line))
                    {
                        string[] columns = line.Split(new char[] { '\t' });
                        if (columns[0] != "Serial #:")
                        {
                            sn = columns[0];
                        }
                        if (unitTestReport == null || unitTestReport.SerialNumber != sn)
                        {
                            if (unitTestReport != null)
                            {
                                api.Submit(unitTestReport);
                            }
                            unitTestReport = CreateUUTFromHeader(api, columns, sn);
                        }
                        if (columns[0] == "Serial #:")
                        {
                            ReadGraphHeader(unitTestReport, columns, out measureName, out xUnit, out yUnit);
                        }
                        else if (columns.Length > 10)
                        {
                            ReadGraphData(unitTestReport, columns, measureName, xUnit, yUnit, ref xValues);
                        }
                        else
                        {
                            ReadMeasure(unitTestReport, columns);
                        }
                    }
                    line = reader.ReadLine();
                }
                if (unitTestReport != null)
                {
                    api.Submit(unitTestReport);
                }
            }
            return(unitTestReport);
        }
Exemple #9
0
        public override void Summarize(SummaryParameters mySummaryParameters, string newsDirectory, string cacheFileName)
        {
            MyParameters = (FSPParameters)mySummaryParameters;

            MyTDM         = new TDM(newsDirectory, MyParameters.MyTDMParameters, cacheFileName);
            MyExternalMDS = new SimilarityMatrix(MyTDM, cacheFileName);
            SolutionSize  = MyTDM.PhrasesList.Count;

            var phrasesList = Execute();

            TextSummary = Util.SummarizeByCompressionRatio(MyTDM, phrasesList, mySummaryParameters.MySummaryType,
                                                           MyParameters.MaximumLengthOfSummaryForRouge, out SummaryByPhrases);
        }
Exemple #10
0
 public ActionResult SalvarEdicao(TDM objeto)
 {
     try
     {
         Salvar(objeto, true);
         //this.FlashSuccess("TDM editado com sucesso.");
     }
     catch (Exception ex)
     {
         this.FlashError(ex.Message);
     }
     return(RedirectToAction("Index"));
 }
Exemple #11
0
        public ActionResult Remover(int id)
        {
            var result = new JsonResult()
            {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            TDM tdm = db.TDM.Find(id);

            this.user = (Usuario)Session["ObjUsuario"];

            if (tdm.TdmPublico)
            {
                result.Data = new { Result = "Não é possível excluir um TDM Público", Status = (int)WebExceptionStatus.UnknownError };
            }

            try
            {
                List <DataPool> dataPools = db.DataPool.Where(x => x.IdTDM == id).ToList();

                if (dataPools.Count() > 0)
                {
                    throw new Exception("O TDM possui relacionamento com Datapools.", new Exception("FK_DataPool_TDM"));
                }

                TDM_Usuario tdm_usuario = db.TDM_Usuario.Where(x => x.IdTDM == id).Where(x => x.IdUsuario == user.Id).FirstOrDefault();
                db.TDM_Usuario.Remove(tdm_usuario);
                db.SaveChanges();
                db.TDM.Remove(tdm);
                db.SaveChanges();

                result.Data = new { Result = "TDM removida com sucesso.", Status = (int)WebExceptionStatus.Success };
            }

            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException != null && ex.InnerException.Message.ToString().Contains("FK_DataPool_TDM"))
                {
                    result.Data = new { Result = "Esse registro contém dependência com outra entidade.", Status = (int)WebExceptionStatus.SendFailure }
                }
                ;
                else
                {
                    result.Data = new { Result = ex.Message, Status = (int)WebExceptionStatus.UnknownError }
                };
            }
            return(result);
        }
Exemple #12
0
        private List <TDM> GetTDMByUser()
        {
            List <TDM>         TDMs       = new List <TDM>();
            int                idUser     = Util.GetUsuarioLogado().Id;
            List <TDM_Usuario> tdmUsuario = db.TDM_Usuario.Where(x => x.IdUsuario == idUser).ToList();

            tdmUsuario.ForEach(element => {
                TDM tdm = db.TDM.FirstOrDefault(x => x.Id == element.IdTDM);
                if (!tdm.TdmPublico)
                {
                    TDMs.Add(tdm);
                }
            });

            return(TDMs);
        }
Exemple #13
0
        public Report ImportReport(TDM api, Stream file)
        {
            Dictionary <string, string> headerData = new Dictionary <string, string>();

            using (TextReader reader = new StreamReader(file))
            {
                string line = reader.ReadLine();
                while (line != null)
                {
                    if (line.Contains("="))
                    {
                        string[] keyValue = line.Split(new char[] { '=' });
                        headerData.Add(keyValue[0], keyValue[1]);
                    }
                    line = reader.ReadLine();
                }
            }
            UUTReport uut = CreateReportFromHeader(headerData, api);
            //2020-5-20-135-5-14-10-1-37-563-120-1.589E+09
            Regex regex = new Regex(@"(?<Year>\d+)-(?<Month>\d+)-(?<WeekNo>-*\d+)-(?<JDay>-*\d+)-(?<WDay>\d+)-(?<Day>\d+)-(?<Hour>\d+)-(?<Minute>\d+)-(?<Second>\d+)-(?<MSec>\d+)-(?<UTCOffset>\d+)");
            Match match = regex.Match(headerData["Cfg_DutStartTime"]);

            uut.StartDateTime = new DateTime(
                int.Parse(match.Groups["Year"].Value),
                int.Parse(match.Groups["Month"].Value),
                int.Parse(match.Groups["Day"].Value),
                int.Parse(match.Groups["Hour"].Value),
                int.Parse(match.Groups["Minute"].Value),
                int.Parse(match.Groups["Second"].Value),
                int.Parse(match.Groups["MSec"].Value)
                );
            uut.StartDateTimeUTC = uut.StartDateTime.AddMinutes(-int.Parse(match.Groups["UTCOffset"].Value));
            uut.AddMiscUUTInfo("FileName", api.ConversionSource.SourceFile.Name);
            string testDataFolderName = $"{api.ConversionSource.SourceFile.DirectoryName}\\{Path.GetFileNameWithoutExtension(api.ConversionSource.SourceFile.Name)}";

            string[] dataFileNames = Directory.GetFiles(testDataFolderName, "*.txt");
            foreach (string fileName in dataFileNames)
            {
                ReadDataFile(uut, fileName);
            }
            uut.Status = headerData["Ctrl_OverallVerdict"] == "1" ? UUTStatusType.Passed : UUTStatusType.Failed;
            //Code for overall verdict: -1: Void, no result 0: Fail, nok 1: Pass, ok 2: Warning 3: Noise 4: Invalid
            return(uut);
        }
Exemple #14
0
        public override void Summarize(SummaryParameters mySummaryParameters, string newsDirectory, string cacheFileName)
        {
            Mis = (ContinuousLexRankParameters)mySummaryParameters;

            Debug.WriteLine("Starting execution of ContinuousLexRank.");
            var startTime = DateTime.Now;

            var myTDM              = new TDM(newsDirectory, Mis.MyTDMParameters, cacheFileName);
            var normalized         = ((ContinuousLexRankParameters)mySummaryParameters).SimilarityNormalized;
            var mySimilarityMatrix = new SimilarityMatrix(myTDM, cacheFileName, normalized);

            var totalPhrases         = myTDM.PhrasesList.Count;
            var myCosineSimilarities = mySimilarityMatrix.CosineSimilarityBetweenPhrases;

            // Calculate the transition probabilities over the same similarity matrix
            // the row vector is normalized |v| = 1
            for (var i = 0; i < totalPhrases; i++)
            {
                var sum = 0.0d;
                for (var j = 0; j < totalPhrases; j++)
                {
                    sum += myCosineSimilarities[i][j];
                }

                // The row must add 1 to be a matrix representing a markov chain where the
                // transition probabilities of state i to state j are stored.
                // It must add 1 because all the probabilities of change when accumulating must add 1.
                for (var j = 0; j < totalPhrases; j++)
                {
                    myCosineSimilarities[i][j] /= sum;
                }
            }

            // The neighborhood graph is constructed - Matrix stochastic, irreducible and aperiodic.
            // It is irreducible if a state (node) can be reached from any other state (node).
            // It is aperiodic if the period = 1, i.e. mcd {n: P(n) x,x > 0}
            for (var i = 0; i < totalPhrases; i++)
            {
                for (var j = 0; j < totalPhrases; j++)
                {
                    var valor = myCosineSimilarities[i][j];
                    valor = (Mis.DampingFactor / totalPhrases) +
                            (1 - Mis.DampingFactor) * valor;
                    myCosineSimilarities[i][j] = valor;
                }
            }

            // Based on the Perron-Frobenius theorem, an irreducible and aperiodic Markov chain
            // always converges to a single stationary distribution.
            var weights = UtilLexRank.PowerMethod(myCosineSimilarities, Mis.ErrorTolerance);

            var phrasesList = new List <PositionValue>(); // Save candidate phrases with their weight (relevance)

            for (var i = 0; i < totalPhrases; i++)
            {
                phrasesList.Add(new PositionValue(i, weights[i]));
            }

            //phrasesList.Sort((x,y) => -1*x.Value.CompareTo(y.Value)); // The phrases are ordered by their weight

            phrasesList.Sort(delegate(PositionValue x, PositionValue y)
            {
                if (Math.Abs(x.Value - y.Value) < 1e-07)
                {
                    return(myTDM.PhrasesList[x.Position].PositionInDocument.CompareTo(myTDM.PhrasesList[y.Position].PositionInDocument));
                }
                return(-1 * x.Value.CompareTo(y.Value));
            });

            TextSummary = Util.SummarizeByCompressionRatio(myTDM, phrasesList, mySummaryParameters.MySummaryType,
                                                           Mis.MaximumLengthOfSummaryForRouge, out SummaryByPhrases);

            var endTime = DateTime.Now - startTime;

            Debug.WriteLine("Minutes of ContinuousLexRank: " + endTime.TotalMinutes);
        }
Exemple #15
0
    public void EndSession()
    {
        SelectedGamemode = 1;

        Console.ForegroundColor = ConsoleColor.DarkBlue;
        Console.WriteLine("> Session ended, await new session:" + server_config.AwaitNewSession + " seconds");
        Console.ForegroundColor = ConsoleColor.White;

        #region Delete players object

        List <ushort> keys = new List <ushort>(clientsSimpleObjects.Keys);

        foreach (var element in keys)
        {
            foreach (NetConnection conn in _server.Connections)
            {
                NetOutgoingMessage msg = _server.CreateMessage();
                //   msg.Write((byte)DataTransmissionEnum.DestroySimpleObject);
                msg.Write(element);
                _server.SendMessage(msg, conn, NetDeliveryMethod.ReliableOrdered);
            }

            bool suc = false;
            while (!suc)
            {
                suc = clientsSimpleObjects.TryRemove(element, out _);
            }
        }
        #endregion

        #region Delete Players
        List <ushort> keys2 = new List <ushort>(clientsInstanses.Keys);
        foreach (var element in keys2)
        {
            foreach (NetConnection conn in _server.Connections)
            {
                NetOutgoingMessage msg = _server.CreateMessage();
                // msg.Write((byte)DataTransmissionEnum.DestroyPlayer);
                msg.Write(element);
                _server.SendMessage(msg, conn, NetDeliveryMethod.ReliableOrdered);
            }

            bool suc = false;
            while (!suc)
            {
                suc = clientsInstanses.TryRemove(element, out _);
            }
        }
        #endregion

        gamemodeTDM.SessionFinished -= EndSession;
        gamemodeTDM = null;

        foreach (var conn in _server.Connections)
        {
            NetOutgoingMessage msg = _server.CreateMessage();
            // msg.Write((byte)DataTransmissionEnum.SessionEnded);
            _server.SendMessage(msg, conn, NetDeliveryMethod.ReliableOrdered);
        }

        SessionStatus = false;
        Execute(() => NewSession(), server_config.AwaitNewSession * 1000);
    }
Exemple #16
0
        public JsonResult DisponibilizarMassaDataPoolPublico(IList <string> ids)
        {
            var result = new JsonResult()
            {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            try
            {
                for (int i = 0; i < ids.Count; i++)
                {
                    int idAtual = Int32.Parse(ids[i]);

                    TestData TestData = db.TestData.FirstOrDefault(x => x.Id == idAtual);

                    if (TestData.IdStatus == (int)EnumStatusTestData.Disponivel || TestData.IdStatus == (int)EnumStatusTestData.Reservada)
                    {
                        TDM             TDM      = db.TDM.FirstOrDefault(x => x.TdmPublico == true);
                        List <DataPool> DataPool = db.DataPool.Where(x => x.IdTDM == TDM.Id).Where(x => x.IdScript_CondicaoScript == TestData.IdScript_CondicaoScript).Where(x => x.IdAut == TestData.DataPool.IdAut).ToList();

                        //VERIFICA SE EXISTE ALGUM DATAPOOL COM O MESMO CONJUNTO SCRIPT E CONDIÇÃO
                        if (DataPool.Count() == 0)
                        {
                            DataPool DataPoolCurrent = db.DataPool.Where(x => x.Id == TestData.IdDataPool).FirstOrDefault();
                            DataPool DataPoolPublic  = new DataPool()
                            {
                                IdTDM = TDM.Id,
                                IdScript_CondicaoScript = TestData.IdScript_CondicaoScript,
                                IdAut           = DataPoolCurrent.IdAut,
                                Observacao      = DataPoolCurrent.Observacao,
                                Descricao       = "DATAPOOL PÚBLICO " + TestData.DataPool.AUT.Descricao,
                                DataSolicitacao = DateTime.Now,
                                QtdSolicitada   = 0
                            };

                            db.DataPool.Add(DataPoolPublic);
                            db.SaveChanges();

                            DataPool = db.DataPool.Where(x => x.IdTDM == TDM.Id).Where(x => x.IdScript_CondicaoScript == TestData.IdScript_CondicaoScript).ToList();
                        }


                        int IdDataPoolSystem = DataPool.FirstOrDefault(x => x.IdAut == TestData.DataPool.IdAut).Id;

                        TestData.IdDataPool = IdDataPoolSystem;
                        TestData.IdStatus   = (int)EnumStatusTestData.Disponivel;

                        SalvarObjeto(TestData);

                        result.Data = new { Result = "Massa(s) de Teste disponibilizada(s) para TDM público com sucesso.", Status = (int)WebExceptionStatus.Success };
                        //this.FlashSuccess("Massa de Teste disponibilizada para TDM público com sucesso.");
                    }
                    else
                    {
                        result.Data = new { Result = "Não é possível disponibilizar massas com status diferente de Disponível e Reservada.", Status = (int)WebExceptionStatus.UnknownError };
                        //this.FlashError("Não é possível disponibilizar massas com status diferente de Disponível e Reservada.");
                    }
                }
            }
            catch (Exception ex)
            {
                result.Data = new { Result = ex.Message, Status = (int)WebExceptionStatus.UnknownError };
            }
            return(result);
        }
Exemple #17
0
        public ActionResult Salvar(TDM objeto, bool editar = false)
        {
            this.user = (Usuario)Session["ObjUsuario"];
            try
            {
                if (!ModelState.IsValid)
                {
                    var msg = string.Empty;
                    ModelState.Values.SelectMany(v => v.Errors).ForEach(m => msg = string.Concat(m.ErrorMessage.ToString(), @"\n"));
                    if (!msg.IsNullOrWhiteSpace())
                    {
                        this.FlashWarning(msg);
                    }

                    return(View("Adicionar", objeto));
                }

                TDM tdm;

                if (editar)
                {
                    //bool bOption = false;

                    //if (Request.Form.Get("listTdmPublico").Equals("1"))
                    //{
                    //    bOption = true;
                    //}

                    //objeto.TdmPublico = bOption;
                    db.Entry(objeto).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    //TDM_Usuario tdmUsuario = new TDM_Usuario()
                    //{
                    //    IdTDM = objeto.Id,
                    //    IdUsuario = Util.GetUsuarioLogado().Id
                    //};

                    //db.TDM_Usuario.Add(tdmUsuario);
                    //db.SaveChanges();

                    this.FlashSuccess("TDM editado com sucesso!");
                }
                else
                {
                    //bool bOption = false;

                    //if (Request.Form.Get("listTdmPublico").Equals("1")){
                    //    bOption = true;
                    //}

                    tdm = new TDM()
                    {
                        Descricao  = Request.Form.Get("tdm_descricao"),
                        TdmPublico = false,
                    };

                    // Criando o objeto TDM Usuario e realizando a inserção no banco com os dados do Usuário responsável pela criação do TDM.
                    TDM_Usuario tdm_usuario = new TDM_Usuario();
                    tdm_usuario.IdTDM     = tdm.Id;
                    tdm_usuario.IdUsuario = this.user.Id;

                    // Salvando as alterações no banco
                    db.TDM.Add(tdm);
                    db.TDM_Usuario.Add(tdm_usuario);
                    db.SaveChanges();

                    this.FlashSuccess("TDM adicionado com sucesso!");
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.ToString().Contains("AK_TDM_Descricao"))
                {
                    this.FlashWarning("Já existe um TDM com essa descrição. Para ter acesso contacte o administrador do sistema.");
                }
                else
                {
                    this.FlashError(ex.Message);
                }
            }

            return(RedirectToAction("Index"));
        }
Exemple #18
0
        private UUTReport CreateReportFromHeader(Dictionary <string, string> headerData, TDM api)
        {
            UUTReport uut = api.CreateUUTReport(headerData["Cfg_UserName"], parameters["partNumber"], parameters["partRevision"], headerData["Cfg_SerialNumber"],
                                                parameters["operationTypeCode"], parameters["sequenceName"], parameters["sequenceVersion"]);

            uut.AddMiscUUTInfo("Cfg_LoginMode", headerData["Cfg_LoginMode"]);
            uut.AddMiscUUTInfo("Cfg_Speaker", headerData["Cfg_Speaker"]);
            return(uut);
        }
Exemple #19
0
        public override void Summarize(SummaryParameters mySummaryParameters, string newsDirectory, string cacheFileName)
        {
            Mis = (LexRankWithThresholdParameters)mySummaryParameters;

            Debug.WriteLine("Starting execution of LexRankWithThreshold.");
            var startTime = DateTime.Now;

            var myTDM              = new TDM(newsDirectory, Mis.MyTDMParameters, cacheFileName);
            var normalized         = ((LexRankWithThresholdParameters)mySummaryParameters).SimilarityNormalized;
            var mySimilarityMatrix = new SimilarityMatrix(myTDM, cacheFileName, normalized);

            var totalPhrases         = myTDM.PhrasesList.Count;
            var myCosineSimilarities = mySimilarityMatrix.CosineSimilarityBetweenPhrases;

            // Calculate the transition probabilities on the same similarity matrix,
            // i.e., the values are passed to 1 or 0 if they exceed the threshold and
            // at the end it is normalized dividing by the number of ones that remained
            // ... the row vector is normalized |v| = 1.
            // With this, one property of markov models are met.
            for (var i = 0; i < totalPhrases; i++)
            {
                var sum = 0.0d;
                for (var j = 0; j < totalPhrases; j++)
                {
                    if (myCosineSimilarities[i][j] > Mis.Threshold)
                    {
                        myCosineSimilarities[i][j] = 1;
                        sum++;
                    }
                    else
                    {
                        myCosineSimilarities[i][j] = 0;
                    }
                }
                for (var j = 0; j < totalPhrases; j++)
                {
                    myCosineSimilarities[i][j] /= sum;
                }
            }

            // Here the other two properties of the markov matrices are met.
            // The neighborhood graph is constructed.
            for (var i = 0; i < totalPhrases; i++)
            {
                for (var j = 0; j < totalPhrases; j++)
                {
                    myCosineSimilarities[i][j] = (Mis.DampingFactor / totalPhrases) +
                                                 (1 - Mis.DampingFactor) * myCosineSimilarities[i][j];
                }
            }

            var weights = UtilLexRank.PowerMethod(myCosineSimilarities, Mis.ErrorTolerance);

            var phrasesList = new List <PositionValue>(); // Save candidate phrases with their weight (relevance)

            for (var i = 0; i < totalPhrases; i++)
            {
                phrasesList.Add(new PositionValue(i, weights[i]));
            }

            //phrasesList.Sort((x,y) => -1*x.Value.CompareTo(y.Value)); // The phrases are ordered by their weight
            phrasesList.Sort(delegate(PositionValue x, PositionValue y)
            {
                if (Math.Abs(x.Value - y.Value) < 1e-07)
                {
                    return(myTDM.PhrasesList[x.Position].PositionInDocument.CompareTo(myTDM.PhrasesList[y.Position].PositionInDocument));
                }
                return(-1 * x.Value.CompareTo(y.Value));
            });

            TextSummary = Util.SummarizeByCompressionRatio(myTDM, phrasesList, mySummaryParameters.MySummaryType,
                                                           Mis.MaximumLengthOfSummaryForRouge, out SummaryByPhrases);

            var fin = DateTime.Now - startTime;

            Debug.WriteLine("Minutes of LexRankWithThreshold " + fin.TotalMinutes);
        }