public ActionResult Portrait(string id)
 {
     if (id == null)
     {
         return(null);
     }
     Models.PortraitModel pmodel = new Models.PortraitModel(id);
     return(View(pmodel));
 }
 public ActionResult Trassa()
 {
     if (StaticObjects.totrace && StaticObjects.trassa != null)
     {
         foreach (var element in StaticObjects.trassa.Elements())
         {
             try
             {
                 if (element.Name == "portrait")
                 {
                     XAttribute id_att = element.Attribute("id");
                     if (id_att == null) continue;
                     Models.PortraitModel pmodel = new Models.PortraitModel(id_att.Value);
                 }
                 else if (element.Name == "search")
                 {
                     XAttribute ss_att = element.Attribute("ss");
                     if (ss_att == null) continue;
                     var model = new Turgunda2.Models.SearchModel(ss_att.Value, null);
                 }
             }
             catch (Exception) { }
         }
     }
     return RedirectToAction("Index", "Home");
 }
 public ActionResult Portrait(string id)
 {
     if (id == null) return null;
     Models.PortraitModel pmodel = new Models.PortraitModel(id);
     return View(pmodel);
 }
        public ActionResult Index()
        {
            try
            {
                if (User.IsInRole("user"))
                {
                    string name = Request.Params["name"];
                    string label = "Моё";
                    if (name == null)
                    { // обычный вход зарегистрированного пользователя
                        name = "Фонды";
                        label = name;
                    }
                    var recs = StaticObjects.SearchByName(name).Where(r =>
                    {
                        var na = r.Elements("field").FirstOrDefault(f => f.Attribute("prop").Value == sema2012m.ONames.p_name && f.Value == name);
                        if (na == null) return false;
                        return true;
                    }).ToArray();
                    if (recs.Count() == 1)
                    {
                        string id = recs[0].Attribute("id").Value;
                        XElement rec_format = new XElement("record");
                        XElement xtree = StaticObjects.GetItemById(id, rec_format);
                        if (xtree != null && xtree.Attribute("type") != null)
                        {
                            string type_id = xtree.Attribute("type").Value;
                            if (type_id == sema2012m.ONames.FOG + "collection")
                            {
                                rec_format = new XElement("record", new XAttribute("type", type_id),
                                    new XElement("inverse", new XAttribute("prop", sema2012m.ONames.p_incollection),
                                        new XElement("record", new XAttribute("type", sema2012m.ONames.FOG + "collection-member"),
                                            new XElement("direct", new XAttribute("prop", sema2012m.ONames.p_collectionitem),
                                                new XElement("record", new XAttribute("type", sema2012m.ONames.FOG + "collection"),
                                                    new XElement("field", new XAttribute("prop", sema2012m.ONames.p_name))),
                                                new XElement("record", new XAttribute("type", sema2012m.ONames.FOG + "document"),
                                                    new XElement("field", new XAttribute("prop", sema2012m.ONames.p_name))),
                                                new XElement("record", new XAttribute("type", sema2012m.ONames.FOG + "photo-doc"),
                                                    new XElement("field", new XAttribute("prop", sema2012m.ONames.p_name))),
                                                new XElement("record", new XAttribute("type", sema2012m.ONames.FOG + "video-doc"),
                                                    new XElement("field", new XAttribute("prop", sema2012m.ONames.p_name))),
                                                new XElement("record", new XAttribute("type", sema2012m.ONames.FOG + "audio-doc"),
                                                    new XElement("field", new XAttribute("prop", sema2012m.ONames.p_name))),
                                                null
                                            )))
                                        );
                                Models.PortraitModel pm = new Models.PortraitModel(id, rec_format);
                                ViewData["label"] = label;
                                return View("Composition", pm);
                            }
                        }
                    }
                }
            }
            catch (Exception) { }

            return View();
        }