public ViewQuery(IViewMap viewMap) { ViewMap = viewMap; ViewQueryTranslator = new ViewQueryTranslator <V>(ViewMap); string columnNames = string.Empty; foreach (var keyValue in ViewMap.ColumnNames) { columnNames += keyValue.Value + " AS " + keyValue.Key + ", "; } columnNames += "-"; columnNames = columnNames.Replace(", -", ""); ViewMap.Query = "SELECT " + columnNames + " FROM " + viewMap.Name; }
public ModelConfiguration View <V>() { try { Type type = typeof(V); if (type.BaseType.Name != typeof(ViewMap <>).Name) { throw new Exception("El tipo [" + type + "] debe ser una clase heredada del tipo [" + typeof(ViewMap <>) + "]"); } string entityKey = type.BaseType.GetGenericArguments()[0].Name; Configuration.Mappings.Remove(entityKey); IViewMap viewMap = Activator.CreateInstance(type) as IViewMap; Configuration.ViewMappings.Add(entityKey, viewMap); return(this); } catch { throw; } }
public static void ProvideView(ViewModelBase vm, ViewModelBase parentVm = null) { IViewMap map = Maps.SingleOrDefault(x => x.ViewModelType == vm.GetType()); if (map == null) { return; } var viewInstance = Activator.CreateInstance(map.ViewType) as Window; if (viewInstance == null) { throw new InvalidOperationException(string.Format("Can not create an instance of {0}", map.ViewType)); } if (parentVm != null) { ViewInstance parent = RegisteredViews.SingleOrDefault(x => x.ViewModel == parentVm); if (parent != null) { Window parentView = parent.View; if (Application.Current.Windows.OfType <Window>().Any(x => Equals(x, parentView))) { viewInstance.Owner = parentView; } } } viewInstance.DataContext = vm; RegisteredViews.Add(new ViewInstance(viewInstance, vm)); viewInstance.Show(); }
/// <summary> /// Initializes a new instance of <see cref="ViewModelToViewConverter"/>. /// To use with unit testing. /// </summary> /// <param name="map">The ViewModel-View mapping.</param> public ViewModelToViewConverter(IViewMap map) { ViewMap = map; }
public ViewQueryTranslator(IViewMap viewMap) { ViewMap = viewMap; }