Ejemplo n.º 1
0
        public ActionResult Yeni(KartVM vm)
        {
            string id = User.Identity.GetUserId();

            ViewBag.Images = Directory.EnumerateFiles(Server.MapPath("~/Img")).Select(fn => "~/Img/" + Path.GetFileName(fn));
            if (ModelState.IsValid)
            {
                string Mesaj1 = vm.Mesaj.Length < 55 ? vm.Mesaj : vm.Mesaj.Substring(0, 55);
                string Mesaj2 = vm.Mesaj.Length > 55 ? vm.Mesaj.Substring(55, 110) : null;
                string Mesaj3 = vm.Mesaj.Length > 110 ? vm.Mesaj.Substring(110) : null;
                Kart   kart   = new Kart()
                {
                    AliciAd    = vm.AliciAd,
                    GonderenAd = vm.GonderenAd,
                    ResimAd    = vm.Resimyolu,
                    Mesaj1     = Mesaj1,
                    Mesaj2     = Mesaj2,
                    Mesaj3     = Mesaj3,
                    UserId     = id,
                    Baslik     = "Sevgili -" + vm.AliciAd
                };
                db.Kartlar.Add(kart);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(vm));
        }
    static void GetHierachicalList(List <Kart> kart, List <KartVM> kartVM, Kart currentNode, string curH)
    {
        List <Kart> tmp = new List <Kart>();

        if (currentNode == null)
        {
            tmp = kart.Where(c => c.ParentId == null).ToList();
        }
        else
        {
            tmp = kart.Where(c => c.ParentId == currentNode.Id).ToList();
        }
        int count = 1;

        foreach (Kart k in tmp)
        {
            KartVM tmpVM = new KartVM {
                Id = k.Id, Name = k.Name, ParentId = k.ParentId
            };
            tmpVM.Hierarchy += curH + "." + count.ToString();
            if (tmpVM.Hierarchy.StartsWith("."))
            {
                tmpVM.Hierarchy = tmpVM.Hierarchy.Remove(0, 1);
            }
            kartVM.Add(tmpVM);
            count++;
            GetHierachicalList(kart, kartVM, k, tmpVM.Hierarchy);
        }
    }