Changes between Version 7 and Version 8 of 13078


Ignore:
Timestamp:
12/11/13 19:04:12 (10 years ago)
Author:
13078
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 13078

    v7 v8  
    13521352}}}
    13531353
     1354'''MyDbContext.cs'''
     1355{{{
     1356#!c#
     1357using System;
     1358using System.Collections.Generic;
     1359using System.Data.Entity;
     1360using System.Linq;
     1361using System.Text;
     1362using System.Threading.Tasks;
     1363
     1364namespace CoDBIS_NakedObjects
     1365{
     1366   public class MyDbContext : DbContext
     1367    {
     1368       public MyDbContext(String name) : base(name) { }
     1369       public MyDbContext() { }
     1370       public DbSet<User> Users { get; set; }
     1371
     1372    }
     1373}
     1374}}}
     1375
     1376'''UserRepository.cs'''
     1377{{{
     1378#!c#
     1379using NakedObjects;
     1380using System;
     1381using System.Collections.Generic;
     1382using System.ComponentModel;
     1383using System.Linq;
     1384using System.Text;
     1385using System.Threading.Tasks;
     1386
     1387namespace CoDBIS_NakedObjects
     1388{
     1389
     1390      [DisplayName("Users")]
     1391    public class UserRepository
     1392    {
     1393
     1394        public IDomainObjectContainer Container { set; protected get; }
     1395
     1396        public IQueryable<User> AllUsers()
     1397        {
     1398            return Container.Instances<User>();
     1399        }
     1400
     1401       
     1402        public User CreateNewUser()
     1403        {
     1404            User obj = Container.NewTransientInstance<User>();
     1405            //set up any parameters
     1406            //Container.Persist(ref obj);
     1407            return obj;
     1408        }
     1409       
     1410
     1411      #region Find
     1412      public User Find(string  searchString)
     1413      {
     1414      var query = from obj in Container.Instances<User>()
     1415                              where obj.Name.ToUpper().Contains(searchString.ToUpper())
     1416                              select obj;
     1417                 
     1418      return query.FirstOrDefault();
     1419          //(If inheriting from AbsractFactoryAndRepository can use:) return SingleObjectWarnIfNoMatch(query);
     1420      }
     1421      #endregion
     1422     
     1423
     1424    }
     1425}
     1426}}}
     1427
     1428
     1429
     1430'''ActivityRepository.cs'''
     1431{{{
     1432#!c#
     1433using NakedObjects;
     1434using System;
     1435using System.Collections.Generic;
     1436using System.ComponentModel;
     1437using System.Linq;
     1438using System.Text;
     1439using System.Threading.Tasks;
     1440
     1441namespace CoDBIS_NakedObjects
     1442{
     1443    [DisplayName("Activities")]
     1444    public class ActivityRepository
     1445    {
     1446        public IDomainObjectContainer Container { set; protected get; }
     1447
     1448       
     1449        public IQueryable<Activity> AllActivitys()
     1450        {
     1451            return Container.Instances<Activity>();
     1452        }
     1453
     1454       
     1455        public Activity CreateNewActivity()
     1456        {
     1457            Activity obj = Container.NewTransientInstance<Activity>();
     1458            //set up any parameters
     1459            //Container.Persist(ref obj);
     1460            return obj;
     1461        }
     1462       
     1463
     1464      #region Find
     1465      public Activity Find(string name )
     1466      {
     1467      var query = from obj in Container.Instances<Activity>()
     1468                              where obj.Name.ToUpper().Contains(name.ToUpper())
     1469                              select obj;
     1470                 
     1471      return query.FirstOrDefault();
     1472          //(If inheriting from AbsractFactoryAndRepository can use:) return SingleObjectWarnIfNoMatch(query);
     1473      }
     1474      #endregion
     1475     
     1476    }
     1477}
     1478
     1479}}}
     1480
     1481'''RunWeb.cs'''
     1482{{{
     1483#!c#
     1484using CoDBIS_NakedObjects;
     1485using NakedObjects.Boot;
     1486using NakedObjects.Core.Context;
     1487using NakedObjects.Core.NakedObjectsSystem;
     1488using NakedObjects.EntityObjectStore;
     1489using NakedObjects.Services;
     1490using NakedObjects.Web.Mvc;
     1491using NakedObjects.Web.Mvc.Helpers;
     1492using System.Data.Entity;
     1493using System.Data.Entity.Infrastructure;
     1494
     1495
     1496namespace CoDBIS_MVC.App_Start {
     1497    public class RunWeb : RunMvc {
     1498        protected override NakedObjectsContext Context {
     1499            get { return HttpContextContext.CreateInstance(); }
     1500        }
     1501
     1502        protected override IServicesInstaller MenuServices {
     1503            get {
     1504                return new ServicesInstaller( new UserRepository(), new ActivityRepository());
     1505            }
     1506        }
     1507
     1508        protected override IServicesInstaller ContributedActions {
     1509            get { return new ServicesInstaller(); }
     1510        }
     1511
     1512        protected override IServicesInstaller SystemServices {
     1513            get { return new ServicesInstaller(new SimpleEncryptDecrypt()); }
     1514        }
     1515
     1516
     1517                // example functions that gets types for AssociateTypes below 
     1518                //private static Type[] AdventureWorksTypes() {
     1519        //    var allTypes =  AppDomain.CurrentDomain.GetAssemblies().Single(a => a.GetName().Name == "AdventureWorksModel").GetTypes();
     1520        //    return allTypes.Where(t => t.BaseType == typeof(AWDomainObject) && !t.IsAbstract).ToArray();
     1521        //}
     1522                //
     1523                //private static Type[] CodeFirstTypes() {
     1524        //    return new[] {typeof(Class1), typeof(Class2)};
     1525        //}
     1526
     1527        protected override IObjectPersistorInstaller Persistor
     1528        {
     1529            get
     1530            {
     1531                 Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); //For in-memory database
     1532                 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>()); //Optional behaviour for CodeFirst
     1533                var installer = new EntityPersistorInstaller();
     1534
     1535                 //installer.UsingEdmxContext("Model").AssociateTypes(AdventureWorksTypes); // for Model/Database First
     1536                 installer.AddCodeFirstDbContextConstructor(() => new MyDbContext());  //For Code First
     1537
     1538                return installer;
     1539            }
     1540        }
     1541
     1542        public static void Run() {
     1543            new RunWeb().Start();
     1544        }
     1545    }
     1546}
     1547}}}