public static DegreeType LoadById(int id)
        {
            try
            {
                using (ProgDecEntities dc = new ProgDecEntities())
                {
                    tblDegreeType row = (from dt in dc.tblDegreeTypes
                                         where dt.Id == id
                                         select dt).FirstOrDefault();

                    if (row != null)
                    {
                        return new DegreeType {
                                   Id = row.Id, Description = row.Description
                        }
                    }
                    ;
                    else
                    {
                        throw new Exception("Row was not found.");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public void LoadById()
 {
     try
     {
         using (ProgDecEntities dc = new ProgDecEntities())
         {
             if (Id >= 0)
             {
                 tblDegreeType degreeType = dc.tblDegreeTypes.Where(p => p.Id == Id).FirstOrDefault();
                 if (degreeType != null)
                 {
                     this.Id          = degreeType.Id;
                     this.Description = degreeType.Description;
                 }
                 else
                 {
                     throw new Exception("Row was not found");
                 }
             }
             else
             {
                 throw new Exception("Id was not set");
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public static int Insert(out int id, string description)
        {
            try
            {
                using (ProgDecEntities dc = new ProgDecEntities())
                {
                    tblDegreeType newrow = new tblDegreeType();

                    newrow.Description = description;
                    newrow.Id          = dc.tblDegreeTypes.Any() ? dc.tblDegreeTypes.Max(dt => dt.Id) + 1 : 1;
                    id = newrow.Id;

                    //if(dc.tblDegreeTypes.Any())
                    //{
                    //    newrow.Id = dc.tblDegreeTypes.Max(dt => dt.Id) + 1;
                    //}
                    //else
                    //{
                    //    newrow.Id = 1;
                    //}

                    dc.tblDegreeTypes.Add(newrow);
                    return(dc.SaveChanges());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public int Update()
 {
     try
     {
         using (ProgDecEntities dc = new ProgDecEntities())
         {
             if (Id >= 0)
             {
                 tblDegreeType degreeType = dc.tblDegreeTypes.Where(p => p.Id == Id).FirstOrDefault();
                 if (degreeType != null)
                 {
                     degreeType.Description = this.Description;
                     return(dc.SaveChanges());
                 }
                 else
                 {
                     throw new Exception("Row was not found");
                 }
             }
             else
             {
                 throw new Exception("ID is not set");
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void DeleteTest()
        {
            using (ProgDecEntities dc = new ProgDecEntities())
            {
                tblDegreeType row = (from dt in dc.tblDegreeTypes
                                     where dt.Id == -99
                                     select dt).FirstOrDefault();

                if (row != null)
                {
                    dc.tblDegreeTypes.Remove(row);
                    int actual = dc.SaveChanges();
                    Assert.AreNotEqual(0, actual);
                }
            }
        }
        public static int Delete(int id)
        {
            try
            {
                using (ProgDecEntities dc = new ProgDecEntities())
                {
                    tblDegreeType deleterow = (from dt in dc.tblDegreeTypes
                                               where dt.Id == id
                                               select dt).FirstOrDefault();

                    dc.tblDegreeTypes.Remove(deleterow);
                    return(dc.SaveChanges());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static int Update(int id, string description)
        {
            try
            {
                using (ProgDecEntities dc = new ProgDecEntities())
                {
                    tblDegreeType updaterow = (from dt in dc.tblDegreeTypes
                                               where dt.Id == id
                                               select dt).FirstOrDefault();

                    updaterow.Description = description;
                    return(dc.SaveChanges());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void UpdateTest()
        {
            using (ProgDecEntities dc = new ProgDecEntities())
            {
                // Get the record that I want to update
                // SELECT * FROM tblDegreeType WHERE  Id = -99
                tblDegreeType row = (from dt in dc.tblDegreeTypes
                                     where dt.Id == -99
                                     select dt).FirstOrDefault();

                if (row != null)
                {
                    // Change values
                    row.Description = "New Description";
                    int actual = dc.SaveChanges();
                    Assert.AreNotEqual(0, actual);
                }
            }
        }
        public void InsertTest()
        {
            using (ProgDecEntities dc = new ProgDecEntities())
            {
                // Make a new degreetype
                tblDegreeType newrow = new tblDegreeType();

                // Set the column values
                newrow.Id          = -99;
                newrow.Description = "My new shiny degree type";

                // Add the row
                dc.tblDegreeTypes.Add(newrow);

                // Save the Changes
                int results = dc.SaveChanges();

                Assert.IsTrue(results > 0);
            }
        }
        public bool Insert()
        {
            try
            {
                using (ProgDecEntities dc = new ProgDecEntities())
                {
                    tblDegreeType degreeType = new tblDegreeType();

                    degreeType.Id          = dc.tblDegreeTypes.Any() ? dc.tblDegreeTypes.Max(p => p.Id) + 1 : 1; // (condition) ? if{} : else{}
                    degreeType.Description = this.Description;

                    dc.tblDegreeTypes.Add(degreeType);
                    dc.SaveChanges();    // returns rows affected
                    return(true);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }