Beispiel #1
0
        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;
        }
Beispiel #2
0
 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;
     }
 }
Beispiel #3
0
        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();
        }
Beispiel #4
0
 /// <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;
 }