예제 #1
0
        public List <LearningAreaBDO> GetLearningAreas()
        {
            List <LearningArea>    laList    = new List <LearningArea>();
            List <LearningAreaBDO> laBDOList = new List <LearningAreaBDO>();

            try {
                using (var DCEnt = new DCFIEntities())
                {
                    var allLA = (DCEnt.LearningAreas);
                    laList = allLA.ToList <LearningArea>();

                    foreach (LearningArea l in laList)
                    {
                        LearningAreaBDO laBDO = new LearningAreaBDO();
                        ConvertLearningAreaToLearningAreaBDO(l, laBDO);
                        laBDOList.Add(laBDO);
                    }
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
            return(laBDOList);
        }
예제 #2
0
        public bool UpdateLearningArea(ref LearningArea learningArea, ref string message)
        {
            LearningAreaBDO labdo = new LearningAreaBDO();

            TranslateLearningAreaToLearningAreaBDO(learningArea, labdo);
            return(laLogic.UpdateLearningArea(ref labdo, ref message));
        }
예제 #3
0
        public LearningAreaBDO GetLearningArea(string learningAreaCode)
        {
            LearningAreaBDO laBDO = null;
            LearningArea    l     = new LearningArea();

            try {
                using (var DCEnt = new DCFIEntities())
                {
                    var lA = (from learn in DCEnt.LearningAreas
                              where learn.LearningAreaCode == learningAreaCode
                              select learn).FirstOrDefault();

                    l = lA;
                }

                if (l != null)
                {
                    laBDO          = new LearningAreaBDO();
                    laBDO.Academic = l.Academic;
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
            return(laBDO);
        }
예제 #4
0
 public void TranslateLearningAreaToLearningAreaBDO(LearningArea la, LearningAreaBDO lBdo)
 {
     lBdo.Academic         = la.Academic;
     lBdo.Description      = la.Description;
     lBdo.LearningAreaCode = la.LearningAreaCode;
     lBdo.RatePerUnit      = la.RatePerUnit;
     lBdo.Units            = la.Units;
     lBdo.Subjects         = ToSubjectBDOList(la.Subjects);
 }
예제 #5
0
 public void ConvertLearningAreaToLearningAreaBDO(LearningArea la, LearningAreaBDO labdo)
 {
     // SubjectDAO sdao = new SubjectDAO();
     labdo.Subjects         = GetSubjectsforLearningArea(la.LearningAreaCode);
     labdo.Academic         = la.Academic;
     labdo.Description      = la.Description;
     labdo.LearningAreaCode = la.LearningAreaCode;
     labdo.Units            = la.Units;
     labdo.RatePerUnit      = la.RatePerUnit;
 }
예제 #6
0
        private void TranslateLearningAreaToLearningAreaBDO(LearningArea la, LearningAreaBDO labdo)
        {
            SubjectService ss = new SubjectService();

            labdo.Academic         = la.Academic;
            labdo.Description      = la.Description;
            labdo.LearningAreaCode = la.LearningAreaCode;
            labdo.RatePerUnit      = la.RatePerUnit;
            labdo.Units            = la.Units;
            labdo.Subjects         = ss.ToSubjectBDOList(la.Subjects);
        }
예제 #7
0
        public void ConvertLearningAreaBDOToLearningArea(LearningAreaBDO labdo, LearningArea la)
        {
            SubjectDAO sdao = new SubjectDAO();

            la.Academic         = labdo.Academic;
            la.Description      = labdo.Description;
            la.LearningAreaCode = labdo.LearningAreaCode;
            la.Units            = labdo.Units;
            la.RatePerUnit      = labdo.RatePerUnit;
            la.Subjects         = sdao.ToSubjectList(labdo.Subjects);
        }
예제 #8
0
        public LearningArea GetLearningArea(string learningAreaCode)
        {
            LearningArea    la    = new LearningArea();
            LearningAreaBDO laBDO = laLogic.GetLearningArea(learningAreaCode);

            if (laBDO != null)
            {
                TranslateLearningAreaBDOToLearningArea(laLogic.GetLearningArea(learningAreaCode), la);
            }

            return(la);
        }
예제 #9
0
        public void ConvertSubjectToSubjectBDO(Subject s, SubjectBDO sbdo)
        {
            LearningAreaDAO ldao = new LearningAreaDAO();
            LearningAreaBDO la   = new LearningAreaBDO();

            sbdo.Description      = s.Description;
            sbdo.GradeLevel       = s.GradeLevel;
            sbdo.LearningAreaCode = s.LearningAreaCode;
            sbdo.SubjectCode      = s.SubjectCode;
            sbdo.SubjectID        = s.SubjectID;
            //  ldao.ConvertLearningAreaToLearningAreaBDO(s.LearningArea, la);
            sbdo.LearningArea = la;
        }
예제 #10
0
        public void TranslateSubjectToSubjectBDO(Subject sub, SubjectBDO sbdo)
        {
            LearningAreaService las = new LearningAreaService();
            LearningAreaBDO     lb  = new LearningAreaBDO();

            sbdo.SubjectID        = sub.SubjectID;
            sbdo.Description      = sub.Description;
            sbdo.GradeLevel       = sub.GradeLevel;
            sbdo.LearningAreaCode = sub.LearningAreaCode;
            sbdo.SubjectCode      = sub.SubjectCode;
            las.TranslateLearningAreaToLearningAreaBDO(sub.LArea, lb);
            sbdo.LearningArea = lb;
        }
예제 #11
0
 public void ConvertLearningAreaToLearningAreaBDO(LearningArea la, LearningAreaBDO labdo)
 {
     // labdo.Subjects = GetSubjectsforLearningArea(la.LearningAreaCode);
     labdo.Academic         = la.Academic;
     labdo.Description      = la.Description;
     labdo.LearningAreaCode = la.LearningAreaCode;
     labdo.Units            = la.Units;
     labdo.RatePerUnit      = la.RatePerUnit;
     labdo.RatePerSubject   = la.RatePerSubject;
     foreach (Subject s in la.Subjects)
     {
         SubjectBDO sb = new SubjectBDO();
         ConvertSubjectToSubjectBDO(s, sb);
         sb.Academic = (bool)la.Academic;
         labdo.Subjects.Add(sb);
     }
 }
예제 #12
0
        public LearningAreaBDO GetLearningArea(string learningAreaCode)
        {
            LearningArea l = new LearningArea();

            using (var DCEnt = new DCFIEntities())
            {
                var lA = (from learn in DCEnt.LearningAreas
                          where learn.LearningAreaCode == learningAreaCode
                          select learn).FirstOrDefault();

                l = lA;
            }

            LearningAreaBDO laBDO = new LearningAreaBDO();

            ConvertLearningAreaToLearningAreaBDO(l, laBDO);

            return(laBDO);
        }
예제 #13
0
        public List <LearningAreaBDO> GetLearningAreas()
        {
            List <LearningArea> laList = new List <LearningArea>();

            using (var DCEnt = new DCFIEntities())
            {
                var allLA = (DCEnt.LearningAreas);
                laList = allLA.ToList <LearningArea>();
            }

            List <LearningAreaBDO> laBDOList = new List <LearningAreaBDO>();

            foreach (LearningArea l in laList)
            {
                LearningAreaBDO laBDO = new LearningAreaBDO();
                ConvertLearningAreaToLearningAreaBDO(l, laBDO);
                laBDOList.Add(laBDO);
            }
            return(laBDOList);
        }
예제 #14
0
        public Boolean CreateLearningArea(ref LearningAreaBDO laBDO, ref string message)
        {
            message = "Learning Area Added Successfully";
            bool ret = true;

            LearningArea la = new LearningArea();

            ConvertLearningAreaBDOToLearningArea(laBDO, la);
            using (var DCEnt = new DCFIEntities())
            {
                DCEnt.LearningAreas.Add(la);
                DCEnt.Entry(la).State = System.Data.Entity.EntityState.Added;
                int num = DCEnt.SaveChanges();


                if (num == 0)
                {
                    ret     = false;
                    message = "Adding of Learning Area failed";
                }
            }
            return(ret);
        }
예제 #15
0
        public Boolean CreateLearningArea(ref LearningAreaBDO laBDO, ref string message)
        {
            message = "Learning Area Added Successfully";
            bool ret = true;

            LearningArea la = new LearningArea();

            try {
                ConvertLearningAreaBDOToLearningArea(laBDO, la);
                using (var DCEnt = new DCFIEntities())
                {
                    DCEnt.LearningAreas.Add(la);
                    DCEnt.Entry(la).State = System.Data.Entity.EntityState.Added;
                    int num = DCEnt.SaveChanges();


                    if (num == 0)
                    {
                        ret     = false;
                        message = "Adding of Learning Area failed";
                    }
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
            return(ret);
        }
예제 #16
0
 public bool UpdateLearningArea(ref LearningAreaBDO learningArea, ref string message)
 {
     return(laDao.UpdateLearningArea(ref learningArea, ref message));
 }
예제 #17
0
 public bool CreateLearningArea(ref LearningAreaBDO la, ref string message)
 {
     return(laDao.CreateLearningArea(ref la, ref message));
 }
예제 #18
0
        public Boolean UpdateLearningArea(ref LearningAreaBDO laBDO, ref string message)
        {
            Boolean      ret = true;
            LearningArea l   = new LearningArea();

            ConvertLearningAreaBDOToLearningArea(laBDO, l);
            LearningArea laInDB = new LearningArea();

            using (var DCEnt = new DCFIEntities())
            {
                var learningAreaCode = laBDO.LearningAreaCode;
                laInDB = (from la in DCEnt.LearningAreas
                          where la.LearningAreaCode.Equals(learningAreaCode)
                          select la).FirstOrDefault();

                if (laInDB == null)
                {
                    throw new Exception("No Learning Area with Code " + laBDO.LearningAreaCode);
                }

                if (laInDB.Subjects.Count == 0)
                {
                    foreach (Subject s in l.Subjects)
                    {
                        laInDB.Subjects.Add(s);
                    }
                }
                else if (laInDB.Subjects.Count < l.Subjects.Count)
                {
                    //compare 2 lists check the non existing to the other
                    IEnumerable <Subject> sToAdd = l.Subjects.Except(laInDB.Subjects);
                    if (sToAdd != null)
                    {
                        foreach (Subject child in sToAdd)
                        {
                            laInDB.Subjects.Add(child);
                        }
                    }

                    IEnumerable <Subject> sToRemove = laInDB.Subjects.Except(l.Subjects);
                    if (sToRemove != null)
                    {
                        foreach (Subject child in sToRemove)
                        {
                            laInDB.Subjects.Add(child);
                        }
                    }
                }
                else if (laInDB.Subjects.Count > l.Subjects.Count)
                {
                    //compare 2 lists check the non existing to the other
                    IEnumerable <Subject> sToAdd = l.Subjects.Except(laInDB.Subjects);
                    if (sToAdd != null)
                    {
                        foreach (Subject child in sToAdd)
                        {
                            laInDB.Subjects.Add(child);
                        }
                    }

                    IEnumerable <Subject> sToRemove = laInDB.Subjects.Except(l.Subjects);
                    if (sToRemove != null)
                    {
                        foreach (Subject child in sToRemove)
                        {
                            laInDB.Subjects.Add(child);
                        }
                    }
                }
                else if (laInDB.Subjects.Count == l.Subjects.Count)
                {
                    //compare 2 lists check the non existing to the other
                    IEnumerable <Subject> sToAdd    = laInDB.Subjects.Except(l.Subjects);
                    IEnumerable <Subject> sToRemove = l.Subjects.Except(laInDB.Subjects);
                    if (sToAdd != null)
                    {
                        foreach (Subject child in sToAdd)
                        {
                            laInDB.Subjects.Add(child);
                        }
                    }

                    if (sToRemove != null)
                    {
                        foreach (Subject child in sToRemove)
                        {
                            laInDB.Subjects.Remove(child);
                        }
                    }
                }
                using (var DC = new DCFIEntities())
                {
                    //   DC.Teachers.Remove(teacherInDB);
                    laInDB = l;

                    foreach (Subject s in laInDB.Subjects)
                    {
                        DC.Entry(s).State = s.SubjectID == 0 ? System.Data.Entity.EntityState.Added : System.Data.Entity.EntityState.Modified;
                    }

                    DC.Entry(laInDB).State = System.Data.Entity.EntityState.Modified;

                    int num = DC.SaveChanges();

                    if (num > 0)
                    {
                        message = "No learning area is updated.";
                    }
                }
            }
            return(ret);
        }
예제 #19
0
        public Boolean UpdateLearningArea(ref LearningAreaBDO laBDO, ref string message)
        {
            List <Subject> toRemove;
            List <Subject> toAdd;
            List <Subject> toUpdate;
            Boolean        ret     = true;
            LearningArea   l       = new LearningArea();
            LearningArea   laInDB  = new LearningArea();
            LearningArea   laInDB2 = new LearningArea();

            try {
                using (var DCEnt = new DCFIEntities())
                {
                    var learningAreaCode = laBDO.LearningAreaCode;
                    laInDB = (from la in DCEnt.LearningAreas
                              where la.LearningAreaCode.Equals(learningAreaCode)
                              select la).FirstOrDefault();

                    if (laInDB == null)
                    {
                        throw new Exception("No Learning Area with Code " + laBDO.LearningAreaCode);
                    }

                    l.Academic         = laBDO.Academic;
                    l.Description      = laBDO.Description;
                    l.LearningAreaCode = laBDO.LearningAreaCode;
                    l.RatePerSubject   = laBDO.RatePerSubject;
                    l.RatePerUnit      = laBDO.RatePerUnit;
                    l.Units            = laBDO.Units;
                    l.Subjects         = ToSubjectList(laBDO.Subjects);

                    if (laInDB.Subjects.Count == 0)
                    {
                        foreach (Subject s in l.Subjects)
                        {
                            laInDB.Subjects.Add(s);
                        }
                    }

                    else
                    {
                        toRemove = new List <Subject>();
                        toAdd    = new List <Subject>();
                        toUpdate = new List <Subject>();

                        foreach (Subject s in l.Subjects)
                        {
                            Subject subj = new Subject();
                            subj = laInDB.Subjects.Where(sub => sub.SubjectCode == s.SubjectCode).FirstOrDefault();

                            if (subj == null)
                            {
                                DCEnt.Subjects.Add(s);
                                DCEnt.Entry(s).State = System.Data.Entity.EntityState.Added;
                            }
                            else
                            {
                                if (!CompareSubject(subj, s))
                                {
                                    toUpdate.Add(s);
                                }
                            }
                        }

                        //Add new Subject
                        if (toAdd.Count > 0)
                        {
                            foreach (Subject c in toAdd)
                            {
                                DCEnt.Subjects.Add(c);
                                DCEnt.Entry(c).State = System.Data.Entity.EntityState.Added;
                            }
                        }

                        foreach (Subject c in laInDB.Subjects)
                        {
                            Subject subj = new Subject();
                            subj = l.Subjects.Where(sub => sub.SubjectCode == c.SubjectCode).FirstOrDefault();
                            Subject upSubj = new Subject();
                            upSubj = toUpdate.Where(sub => sub.SubjectCode == c.SubjectCode).FirstOrDefault();

                            //toRemove subject
                            if (subj == null)
                            {
                                DCEnt.Subjects.Remove(c);
                                DCEnt.Entry(c).State = System.Data.Entity.EntityState.Deleted;
                            }

                            //toUpdate subject
                            if (upSubj != null)
                            {
                                c.Description = upSubj.Description;
                                c.MPW         = upSubj.MPW;

                                DCEnt.Entry(c).State = System.Data.Entity.EntityState.Modified;
                            }
                        }


                        DCEnt.LearningAreas.Attach(laInDB);
                        DCEnt.Entry(laInDB).State = System.Data.Entity.EntityState.Modified;
                    }


                    int num = DCEnt.SaveChanges();


                    if (num > 0)
                    {
                        message = "No learning area is updated.";
                    }
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
            return(ret);
        }