Inheritance: System.Data.Linq.DataContext
        /// <summary>
        /// Find all Greenhouse's
        /// </summary>
        /// <param name="dc"></param>
        /// <returns>return an IQueryable collection of Greenhouse</returns>
        public IQueryable<Domain.Greenhouse> Find(DataContext dc)
        {
            dc = dc ?? Conn.GetContext();
            var r = from g in dc.Greenhouses
                    let greenhouseUsers = LoadGreenhouseUsers(dc, g.GreenhouseID)
                    let sections = LoadSections(dc, g.GreenhouseID)
                    select new Domain.Greenhouse
                    {
                        ID = g.GreenhouseID,
                        GreenhouseUsers = new LazyList<GreenhouseUser>(greenhouseUsers),
                        Sections = new LazyList<Section>(sections),
                        Usernames = Usernames,
                        Address = new Address
                        {
                            City = g.City,
                            StateOrProvince = g.StateOrProvince,
                            Country = g.Country,
                            Zip = g.Zip,
                            StreetLine1 = g.StreetLine1,
                            StreetLine2 = g.StreetLine2,
                            IsDefault = g.IsDefault,
                        }

                    };
            return r;
        }
 /// <summary>
 /// Find all Section's
 /// </summary>
 /// <param name="dc"></param>
 /// <returns>return an IQueryable collection of Section</returns>
 public IQueryable<Domain.Section> Find(DataContext dc)
 {
     dc = dc ?? Conn.GetContext();
     var r = from s in dc.Sections
             select new Domain.Section
             {
                 ID = s.SectionID,
                 Name = s.Name,
                 GreenhouseID = s.GreenhouseID,
                 PresetID = s.PresetID,
                 UserID = s.UserID,
                 Username = s.User.UserName,
                 IsTemperatureActivated = s.IsTemeratureActivated,
                 IdealTemperature = s.IdealTemperature,
                 TemperatureThreshold = s.TemperatureThreshold,
                 IsLightActivated = s.IsLightActivated,
                 IdealLightIntensity = s.IdealLightIntensity,
                 LightIntensityThreshold = s.LightIntensityThreshold,
                 IsHumidityActivated = s.IsHumidityActivated,
                 IdealHumidity = s.IdealHumidity,
                 HumidityThreshold = s.HumidityThreshold,
                 IsWaterLevelActivated = s.IsWaterLevelActivated,
                 IdealWaterLevel = s.IdealWaterLevel,
                 WaterLevelThreshold = s.WaterLevelThreshold,
                 DateCreated = s.DateCreated,
                 DateUpdated = s.DateUpdated
             };
     return r;
 }
        /// <summary>
        /// Save a Product
        /// </summary>
        /// <param name="dc"></param>
        /// <param name="product"></param>
        /// <returns>returns the id of the saved product</returns>
        public int Save(DataContext dc, Domain.Product product)
        {
            dc = dc ?? Conn.GetContext();
            var dbProduct = dc.Products.Where(p => p.ProductID == product.ID).SingleOrDefault();
            var isNew = false;
            if (dbProduct == null)
            {
                dbProduct = new Product();
                isNew = true;
            }

            dbProduct.Name = product.Name;
            dbProduct.Description = product.Description;
            dbProduct.Price = product.Price;
            dbProduct.IsActive = product.IsActive;
            dbProduct.Image = product.Image;
            dbProduct.DateUpdated = DateTime.Now;

            if (isNew)
            {
                dbProduct.DateCreated = DateTime.Now;
                dc.Products.InsertOnSubmit(dbProduct);
            }
            dc.SubmitChanges();
            return dbProduct.ProductID;
        }
        public IQueryable<Domain.Greenhouse> All(DataContext dc, string username)
        {
            dc = dc ?? Conn.GetContext();
            var r = from g in dc.Greenhouses
                    join gu in dc.GreenhouseUsers on g.GreenhouseID equals gu.GreenhouseId
                    let greenhouseUsers = LoadGreenhouseUsers(dc, g.GreenhouseID)
                    let sections = LoadSections(dc, g.GreenhouseID)
                    where gu.User.UserName.ToLower() == username.ToLower()
                    select new Domain.Greenhouse
                    {
                        ID = g.GreenhouseID,
                        GreenhouseUsers = new LazyList<GreenhouseUser>(greenhouseUsers),
                        Sections = new LazyList<Section>(sections),
                        Usernames = Usernames,
                        Address = new Address
                        {
                            City = g.City,
                            StateOrProvince = g.StateOrProvince,
                            Country = g.Country,
                            Zip = g.Zip,
                            StreetLine1 = g.StreetLine1,
                            StreetLine2 = g.StreetLine2,
                            IsDefault = g.IsDefault,
                        }

                    };
            return r;
        }
        /// <summary>
        /// Find all Preset's
        /// </summary>
        /// <param name="dc">DataContext</param>
        /// <returns>return an IQueryable collection of Preset</returns>
        public IQueryable<Domain.Preset> All(DataContext dc)
        {
            dc = dc ?? Conn.GetContext();
            var r = from p in dc.Presets
                    select new Domain.Preset
                    {
                        ID = p.PresetID,
                        Name = p.Name,
                        UserID = p.UserID,

                        IdealTemperature = p.IdealTemperature,
                        TemperatureThreshold = p.TemperatureThreshold,

                        IdealLightIntensity = p.IdealLightIntensity,
                        LightIntensityThreshold = p.LightIntensityThreshold,

                        IdealHumidity = p.IdealHumidity,
                        HumidityThreshold = p.HumidityThreshold,

                        IdealWaterLevel = p.IdealWaterLevel,
                        WaterLevelThreshold = p.WaterLevelThreshold,

                        IsGlobal = p.IsGlobal,
                        DateCreated = p.DateCreated,
                        DateUpdated = p.DateUpdated
                    };
            return r;
        }
        /// <summary>
        /// Save a Preset
        /// </summary>
        /// <param name="dc">DataContext</param>
        /// <param name="preset"></param>
        /// <returns>returns the id of the saved preset</returns>
        public int Save(DataContext dc, Domain.Preset preset)
        {
            dc = dc ?? Conn.GetContext();
            var dbPreset = dc.Presets.Where(p => p.PresetID == preset.ID).SingleOrDefault();
            var isNew = false;
            if (dbPreset == null)
            {
                dbPreset = new Preset();
                isNew = true;
            }

            dbPreset.Name = preset.Name;
            dbPreset.UserID = preset.UserID;
            dbPreset.IdealTemperature = preset.IdealTemperature;
            dbPreset.TemperatureThreshold = preset.TemperatureThreshold;
            dbPreset.IdealLightIntensity = preset.IdealLightIntensity;
            dbPreset.LightIntensityThreshold = preset.LightIntensityThreshold;
            dbPreset.IdealHumidity = preset.IdealHumidity;
            dbPreset.HumidityThreshold = preset.HumidityThreshold;
            dbPreset.IdealWaterLevel = preset.IdealWaterLevel;
            dbPreset.WaterLevelThreshold = preset.WaterLevelThreshold;
            dbPreset.IsGlobal = preset.IsGlobal;
            dbPreset.DateUpdated = DateTime.Now;

            if (isNew)
            {
                dbPreset.DateCreated = DateTime.Now;
                dc.Presets.InsertOnSubmit(dbPreset);
            }
            dc.SubmitChanges();
            return dbPreset.PresetID;
        }
 /// <summary>
 /// Delete a single TaskType
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <param name="taskType"></param>
 public void Delete(DataContext dc, Domain.TaskType taskType)
 {
     dc = dc ?? Conn.GetContext();
     var dbTaskType = dc.TaskTypes.Where(t => t.TaskTypeId == taskType.ID).SingleOrDefault();
     if (dbTaskType == null) return;
     dc.TaskTypes.Attach(dbTaskType, true);
     dc.TaskTypes.DeleteOnSubmit(dbTaskType);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Delete a single product
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="product"></param>
 public void Delete(DataContext dc, Domain.Product product)
 {
     dc = dc ?? Conn.GetContext();
     var dbProduct = dc.Products.Where(p => p.ProductID == product.ID).SingleOrDefault();
     if (dbProduct == null) return;
     dc.Products.Attach(dbProduct, true);
     dc.Products.DeleteOnSubmit(dbProduct);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Delete a single TaskRepository
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <param name="task"></param>
 public void Delete(DataContext dc, Domain.Task task)
 {
     dc = dc ?? Conn.GetContext();
     var dbTask = dc.Tasks.Where(t => t.TaskID == task.ID).SingleOrDefault();
     if (dbTask == null) return;
     //dc.Tasks.Attach(dbTask, true);
     dc.Tasks.DeleteOnSubmit(dbTask);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Delete a single greenhouse
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="greenhouse"></param>
 public void Delete(DataContext dc, Domain.Greenhouse greenhouse)
 {
     dc = dc ?? Conn.GetContext();
     var dbGreenhouse = dc.Greenhouses.Where(g => g.GreenhouseID == greenhouse.ID).SingleOrDefault();
     if (dbGreenhouse == null) return;
     dc.GreenhouseUsers.DeleteAllOnSubmit(dbGreenhouse.GreenhouseUsers);
     foreach (var section in dbGreenhouse.Sections) { dc.Tasks.DeleteAllOnSubmit(section.Tasks); }
     dc.Sections.DeleteAllOnSubmit(dbGreenhouse.Sections);
     dc.Greenhouses.DeleteOnSubmit(dbGreenhouse);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Delete a single 
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="section"></param>
 public void Delete(DataContext dc, Domain.Section section)
 {
     dc = dc ?? Conn.GetContext();
     var dbSection = dc.Sections.Where(s => s.SectionID == section.ID).SingleOrDefault();
     if (dbSection == null) return;
     foreach (var task in dbSection.Tasks)
     {
         dc.Tasks.DeleteOnSubmit(task);
     }
     dc.Sections.DeleteOnSubmit(dbSection);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Find all TaskType's
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <returns>return an IQueryable collection of TaskType</returns>
 public IQueryable<Domain.TaskType> All(DataContext dc)
 {
     dc = dc ?? Conn.GetContext();
     var r = from t in dc.TaskTypes
             select new Domain.TaskType
             {
                 ID = t.TaskTypeId,
                 Name = t.Name,
                 Type = (TaskTypes)Enum.Parse(typeof(TaskTypes), t.Name)
             };
     return r;
 }
 public IQueryable<Domain.GreenhouseUser> Find(DataContext dc)
 {
     dc = dc ?? Conn.GetContext();
     var r = from gu in dc.GreenhouseUsers
             select new Domain.GreenhouseUser
             {
                 ID = gu.GreenhouseUserId,
                 UserID = gu.UserId,
                 Username = gu.User.UserName,
                 GreenhouseID = gu.GreenhouseId
             };
     return r;
 }
        /// <summary>
        /// Find TaskType by it's Enum type
        /// </summary>
        /// <param name="dc"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public Domain.TaskType Find(DataContext dc, TaskTypes type)
        {
            var result = All(dc).Where(t => t.Name == type.ToString()).SingleOrDefault();
            if (result == null)
            {
                result = new Domain.TaskType
                {
                    Name = type.ToString(),
                    Type = type
                };
                result.Save();
            }

            return result;
        }
 public void Delete(DataContext dc, Domain.GreenhouseUser greenhouseUser)
 {
     dc = dc ?? Conn.GetContext();
     var dbGreenhouseUser = dc.GreenhouseUsers.Where(g => g.GreenhouseUserId == greenhouseUser.ID).SingleOrDefault();
     if (dbGreenhouseUser == null) return;
     foreach (var section in dbGreenhouseUser.Greenhouse.Sections.Where(gu => gu.UserID == dbGreenhouseUser.UserId))
     {
         dc.Sections.DeleteOnSubmit(section);
         foreach (var task in section.Tasks)
         {
             dc.Tasks.DeleteOnSubmit(task);
         }
     }
     dc.GreenhouseUsers.DeleteOnSubmit(dbGreenhouseUser);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Find all Product's
 /// </summary>
 /// <param name="dc"></param>
 /// <returns>return an IQueryable collection of Product</returns>
 public IList<Domain.Product> All(DataContext dc)
 {
     dc = dc ?? Conn.GetContext();
     var r = from p in dc.Products
             select new Domain.Product
             {
                 ID = p.ProductID,
                 Name = p.Name,
                 Description = p.Description,
                 Price = p.Price,
                 IsActive = p.IsActive,
                 Image = p.Image,
                 DateUpdated = p.DateUpdated,
                 DateCreated = p.DateCreated
             };
     return r.ToList();
 }
 /// <summary>
 /// Find all TaskRepository's
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <returns>return an IQueryable collection of TaskRepository</returns>
 public IQueryable<Domain.Task> All(DataContext dc)
 {
     dc = dc ?? Conn.GetContext();
     var r = from t in dc.Tasks
             select new Domain.Task
                        {
                            ID = t.TaskID,
                            SectionID = t.SectionID,
                            StartTime = t.StartTime,
                            EndTime = t.EndTime,
                            Interval = (t.EndTime.TimeOfDay - t.StartTime.TimeOfDay).TotalMinutes,
                            TaskTypeId = t.TaskTypeID,
                            DateCreated = t.DateCreated,
                            DateUpdated = t.DateUpdated
                        };
     return r;
 }
        public int Save(DataContext dc, Domain.GreenhouseUser greenhouseUser)
        {
            dc = dc ?? Conn.GetContext();
            var dbGreenhouseUser = dc.GreenhouseUsers.Where(g => g.GreenhouseUserId == greenhouseUser.ID).SingleOrDefault();
            var isNew = false;
            if (dbGreenhouseUser == null)
            {
                dbGreenhouseUser = new GreenhouseUser();
                isNew = true;
            }

            dbGreenhouseUser.UserId = greenhouseUser.UserID;
            dbGreenhouseUser.GreenhouseId = greenhouseUser.GreenhouseID;

            if (isNew)
            {
                dc.GreenhouseUsers.InsertOnSubmit(dbGreenhouseUser);
            }
            dc.SubmitChanges();

            greenhouseUser.ID = dbGreenhouseUser.GreenhouseId;

            return greenhouseUser.ID;
        }
Example #19
0
 /// <summary>
 /// Find all Task's
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <returns>return an IQueryable collection of Task</returns>
 public static IQueryable<Task> All(DataContext dc)
 {
     return Repository.All(dc);
 }
Example #20
0
 /// <summary>
 /// Save Task
 /// </summary>
 /// <param name="dc"></param>
 /// <returns>returns the id of the saved task</returns>
 public int Save(DataContext dc)
 {
     return Save(dc, this);
 }
Example #21
0
 /// <summary>
 /// Delete Task
 /// </summary>
 /// <param name="dc"></param>
 public void Delete(DataContext dc)
 {
     Delete(dc, this);
 }
Example #22
0
 /// <summary>
 /// Save a Task
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <param name="task"></param>
 /// <returns>returns the id of the saved task</returns>
 public static int Save(DataContext dc, Task task)
 {
     return Repository.Save(dc, task);
 }
Example #23
0
 /// <summary>
 /// Find an Task by it's id.
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="id"></param>
 /// <returns>returns a Task</returns>
 public static Task Find(DataContext dc, int id)
 {
     return Repository.Find(dc, id);
 }
 public DataContext GetContext()
 {
     // maybe make more data connections
     var dc = new DataContext();
     return dc;
 }
 public static IQueryable<Greenhouse> FindByUsername(DataContext dc, string username)
 {
     if (username == null) Find(dc);
     return Repository.Find(dc, username);
 }
 /// <summary>
 /// Find all Greenhouse's
 /// </summary>
 /// <param name="dc"></param>
 /// <returns>return an IQueryable collection of Greenhouse</returns>
 public static IQueryable<Greenhouse> Find(DataContext dc)
 {
     return Repository.Find(dc);
 }
 /// <summary>
 /// Delete a single greenhouse
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="greenhouse"></param>
 public static void Delete(DataContext dc, Greenhouse greenhouse)
 {
     Repository.Delete(dc, greenhouse);
 }
 /// <summary>
 /// Save a Greenhouse
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="greenhouse"></param>
 /// <returns>returns the id of the saved greenhouse</returns>
 public static int Save(DataContext dc, Greenhouse greenhouse)
 {
     return Repository.Save(dc, greenhouse);
 }
 /// <summary>
 /// Find an Product by it's id.
 /// </summary>
 /// <param name="dc"></param>
 /// <param name="id"></param>
 /// <returns>returns a Product</returns>
 public Domain.Product Find(DataContext dc, int id)
 {
     return All(dc).Where(p => p.ID == id).SingleOrDefault();
 }
Example #30
0
 /// <summary>
 /// Delete a single Task
 /// </summary>
 /// <param name="dc">DataContext</param>
 /// <param name="task"></param>
 public static void Delete(DataContext dc, Task task)
 {
     Repository.Delete(dc, task);
 }