public PartialViewResult SetVariantNew(RecordModel rmodel) { string ss = rmodel.name_to_set; string prop = rmodel.prop_to_set; string eid = rmodel.eid; string ty = rmodel.type_to_set; string sysobj_id = Sema2012.Engine.CreateSysObject(ty, ss, User.Identity.Name); Turgunda.Models.PortraitModel portrait = new Turgunda.Models.PortraitModel(rmodel.id); rmodel.SetPortrait(portrait); if (sysobj_id != null) { DirectLink target = RecordModel.GetTarget(rmodel, prop); target.target_id = sysobj_id; target.target_name = ss; RecordModel.SetTarget(rmodel, prop, target); } return PartialView("EditForm", rmodel); }
public PartialViewResult EditForm(string id, string eid) { Turgunda.Models.PortraitModel portrait = (Turgunda.Models.PortraitModel)this.Session["portrait"]; portrait = new Turgunda.Models.PortraitModel(id); //portrait.Eid = eid; Turgunda.Models.RecordModel record = new RecordModel(); //new RecordModel(portrait, eid); record.eid = eid; record.SetPortrait(portrait); record.Load(); record.id = id; //SetViewData(); return PartialView("EditForm", record); }
public PartialViewResult SetVariant(RecordModel rmodel) { //RecordModel rmodel = new RecordModel(); Turgunda.Models.PortraitModel portrait = (Turgunda.Models.PortraitModel)this.Session["portrait"]; if (true || portrait == null) portrait = new Turgunda.Models.PortraitModel(rmodel.id); rmodel.SetPortrait(portrait); string prop = rmodel.prop_to_set; DirectLink target = RecordModel.GetTarget(rmodel, prop); target.target_id = rmodel.id_to_set; target.target_name = rmodel.name_to_set; RecordModel.SetTarget(rmodel, prop, target); //SetViewData(); return PartialView("EditForm", rmodel); }
public PartialViewResult EditForm(/*string lang, */RecordModel rmodel) { var ok = rmodel.ok; var cancel = rmodel.cancel; var chk = rmodel.chk; var chlang = rmodel.l; Turgunda.Models.PortraitModel portrait = (Turgunda.Models.PortraitModel)this.Session["portrait"]; if (true || portrait == null) portrait = new Turgunda.Models.PortraitModel(rmodel.id); rmodel.SetPortrait(portrait); if (chlang != null) { rmodel.lang = rmodel.lang == "ru" ? "en" : "ru"; return PartialView("EditForm", rmodel); } if (cancel != null) { return PartialView("RecordView", rmodel); } if (ok != null) { // Если фиксация результата, то надо обратиться к сервису изменений, а также перевычислить // и переприсвоить портрет XElement rec = rmodel.MakeRecord(); Sema2012.Engine.ReplaceRecord(rec, User.Identity.Name); //? if (dc == null) dc = new DbCreation(Engine.connectionstring, Engine._configuration); //? dc.SaveRecord(rmodel, User.Identity.Name); portrait = new Turgunda.Models.PortraitModel(rmodel.id); //Session["portrait"] = portrait; rmodel.SetPortrait(portrait); return PartialView("RecordView", rmodel); } // chk: Проверка. Для всех прямых ссылок нужно зафиксировать ситуацию, когда // идентификатор цели не установлен, но есть образец для просмотра, тогда в модель надо // "толкнуть" варианты, подходящие под образец foreach (var dir_format in rmodel.xformat.Elements("direct")) { string prop = dir_format.Attribute("prop").Value; DirectLink target = RecordModel.GetTarget(rmodel, prop); if (target.target_id != null || target.target_name == null) continue; string type = target.target_type ?? "person"; var searchresults = new Turgunda.Models.SearchModel(target.target_name, type); target.target_list = searchresults.SearchResults .Select(res => new DirectLink { target_id = res.Attribute("id").Value, target_name = res.Value }) .ToList(); RecordModel.SetTarget(rmodel, prop, target); } //SetViewData(); return PartialView("EditForm", rmodel); }
public static void SetTarget(RecordModel rmodel, string prop, DirectLink target) { switch (prop) { case "father": rmodel.father = target; break; case "mother": rmodel.mother = target; break; case "wife": rmodel.wife = target; break; case "husband": rmodel.husband = target; break; case "learning-org": rmodel.learningorg = target; break; case "in-org": rmodel.inorg = target; break; case "in-doc": rmodel.indoc = target; break; case "participant": rmodel.participant = target; break; case "learner": rmodel.learner = target; break; case "org-child": rmodel.orgchild = target; break; case "org-parent": rmodel.orgparent = target; break; case "reflected": rmodel.reflected = target; break; case "in-archive": rmodel.inarchive = target; break; case "info-source": rmodel.infosource = target; break; case "author": rmodel.author = target; break; case "collection-item": rmodel.collectionitem = target; break; case "in-collection": rmodel.incollection = target; break; case "inDocument": rmodel.inDocument = target; break; case "partItem": rmodel.partItem = target; break; default: break; } }
public static DirectLink GetTarget(RecordModel rmodel, string prop) { DirectLink target = new DirectLink(); switch (prop) { case "father": target = rmodel.father; break; case "mother": target = rmodel.mother; break; case "wife": target = rmodel.wife; break; case "husband": target = rmodel.husband; break; case "learning-org": target = rmodel.learningorg; break; case "in-org": target = rmodel.inorg; break; case "in-doc": target = rmodel.indoc; break; case "participant": target = rmodel.participant; break; case "learner": target = rmodel.learner; break; case "org-child": target = rmodel.orgchild; break; case "org-parent": target = rmodel.orgparent; break; case "reflected": target = rmodel.reflected; break; case "in-archive": target = rmodel.inarchive; break; case "info-source": target = rmodel.infosource; break; case "author": target = rmodel.author; break; case "collection-item": target = rmodel.collectionitem; break; case "in-collection": target = rmodel.incollection; break; case "inDocument": target = rmodel.inDocument; break; case "partItem": target = rmodel.partItem; break; default: break; } return target; }
public static string GetField(RecordModel rmodel, string prop) { string res = null; switch (prop) { case "name": res = rmodel.name; break; case "from-date": res = rmodel.startDate; break; case "to-date": res = rmodel.endDate; break; case "comment": res = rmodel.comment; break; case "description": res = rmodel.description; break; case "sex": res = rmodel.gender; break; case "role": res = rmodel.participationRole; break; case "role-classification": res = rmodel.participationRoleClassification; break; case "degree": res = rmodel.titledDegree; break; case "alias": res = rmodel.alias; break; case "doc-content": res = rmodel.docContent; break; case "ground": res = rmodel.ground; break; case "pageNumbers": res = rmodel.pageNumbers; break; default: break; } return res; }