コード例 #1
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Cognate cognate = await db.Cognates.FindAsync(id);

            db.Cognates.Remove(cognate);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
コード例 #2
0
        public async Task <ActionResult> Edit([Bind(Include = "BasicWordId,DerivedWordId,WordPart,WrongAssociation,Id")] Cognate cognate)
        {
            if (ModelState.IsValid)
            {
                db.Entry(cognate).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.BasicWordId   = new SelectList(db.Words, "Id", "Text", cognate.BasicWordId);
            ViewBag.DerivedWordId = new SelectList(db.Words, "Id", "Text", cognate.DerivedWordId);
            return(View(cognate));
        }
コード例 #3
0
        // GET: Cognates/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cognate cognate = await db.Cognates.FindAsync(id);

            if (cognate == null)
            {
                return(HttpNotFound());
            }
            return(View(cognate));
        }
コード例 #4
0
        // GET: Cognates/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Cognate cognate = await db.Cognates.FindAsync(id);

            if (cognate == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BasicWordId   = new SelectList(db.Words, "Id", "Text", cognate.BasicWordId);
            ViewBag.DerivedWordId = new SelectList(db.Words, "Id", "Text", cognate.DerivedWordId);
            return(View(cognate));
        }
コード例 #5
0
        public async Task <List <PotentialCognate> > CreateCognates()
        {
            var potentialCognates = await db.PotentialCognates.OrderBy(c => c.BasicWordText).ThenBy(c => c.DerivedWordText).ToListAsync();

            List <PotentialCognate> realCognates      = new List <PotentialCognate>();
            StringBuilder           shortPreviousText = new StringBuilder("text for first iteration");
            StringBuilder           shortCurrentText  = new StringBuilder("text for first iteration");
            Cognate cognate     = new Cognate();
            int     matchLength = 0;

            foreach (PotentialCognate element in potentialCognates)
            {
                if (element.DerivedWordText.Length - element.BasicWordText.Length < 10)
                {
                    if (!element.BasicWordText.Contains(shortPreviousText.ToString()))
                    {
                        shortCurrentText      = new StringBuilder(element.BasicWordText.Substring(0, element.BasicWordText.Length - 1));
                        cognate               = new Cognate();
                        cognate.BasicWordId   = (int)element.BasicWordId;
                        cognate.DerivedWordId = element.DerivedWordId;
                        int indexOfSubstring = element.DerivedWordText.IndexOf(element.BasicWordText);

                        if (indexOfSubstring == -1)
                        {
                            indexOfSubstring = element.DerivedWordText.IndexOf(shortCurrentText.ToString());
                            matchLength      = shortCurrentText.Length;
                        }
                        else
                        {
                            matchLength = element.BasicWordText.Length;
                        }

                        cognate.WordPart = element.DerivedWordText.Substring(indexOfSubstring + matchLength);
                        db.Cognates.Add(cognate);
                        realCognates.Add(element);
                        shortPreviousText = shortCurrentText;
                    }
                }
            }

            await db.SaveChangesAsync();

            return(realCognates);
        }