string GetObjectKey(IModelDetailViewFriendlyUrl modelView, string[] strings) { var objectSpace = WebApplication.Instance.CreateObjectSpace(modelView.ModelClass.TypeInfo.Type); var modelMember = modelView.ModelClass.FindMember(modelView.Url.ValueMemberName); var findObject = objectSpace.FindObject(modelView.ModelClass.TypeInfo.Type, CriteriaOperator.Parse(modelMember.Name + "=?", strings[1])); return(modelView.ModelClass.TypeInfo.KeyMember.GetValue(findObject).ToString()); }
private string GetObjectKey(IModelDetailViewFriendlyUrl modelView, string[] strings) { var objectSpace = WebApplication.Instance.CreateObjectSpace(modelView.ModelClass.TypeInfo.Type); var modelMember = modelView.ModelClass.FindMember(modelView.Url.ValueMemberName); var keyValue = GetValueQueryString(strings, modelMember.Name); var findObject = objectSpace.FindObject(modelView.ModelClass.TypeInfo.Type, CriteriaOperator.Parse(modelMember.Name + "=?", Convert.ChangeType(keyValue?.Value, modelMember.Type == typeof(Guid) ? typeof(String) : modelMember.Type))); return(modelView.ModelClass.TypeInfo.KeyMember.GetValue(findObject).ToString()); }
string EditModeFriendlyUrl(ViewShortcut currentShortcut, string friendlyUrl, IModelDetailViewFriendlyUrl modelDetailViewFriendlyUrl) { return(modelDetailViewFriendlyUrl != null && !string.IsNullOrEmpty(modelDetailViewFriendlyUrl.Url.EditMode) ? currentShortcut.Keys.ToList().Where( (key, i) => key == "mode" && currentShortcut.Values.ToList()[i] == "Edit").Aggregate( friendlyUrl, (current, key) => (modelDetailViewFriendlyUrl).Url.EditMode + "-" + current) : friendlyUrl); }
string EditModeFriendlyUrl(ViewShortcut currentShortcut, string friendlyUrl, IModelDetailViewFriendlyUrl modelDetailViewFriendlyUrl) { return modelDetailViewFriendlyUrl != null && !string.IsNullOrEmpty(modelDetailViewFriendlyUrl.Url.EditMode) ? currentShortcut.Keys.ToList().Where( (key, i) => key == "mode" && currentShortcut.Values.ToList()[i] == "Edit").Aggregate( friendlyUrl, (current, key) => (modelDetailViewFriendlyUrl).Url.EditMode + "-" + current) : friendlyUrl; }
string GetObjectKey(IModelDetailViewFriendlyUrl modelView, string[] strings) { var objectSpace = WebApplication.Instance.CreateObjectSpace(modelView.ModelClass.TypeInfo.Type); var modelMember = modelView.ModelClass.FindMember(modelView.Url.ValueMemberName); var findObject = objectSpace.FindObject(modelView.ModelClass.TypeInfo.Type, CriteriaOperator.Parse(modelMember.Name + "=?", strings[1])); return modelView.ModelClass.TypeInfo.KeyMember.GetValue(findObject).ToString(); }