예제 #1
0
        private int Add(StudentEducationalClassSyncModel model)
        {
            var educationalClass = new EducationalClassRepository(DatabaseFactory);
            var term             = new TermRepository(DatabaseFactory);

            if (!educationalClass.IsExist(x =>
                                          x.CodeClass == model.EducationalClassId && x.Term.TermCode == model.Term) ||
                !term.IsExist(x => x.TermCode == model.Term))
            {
                return(0);
            }

            var sc = new StudentEducationalClass
            {
                Term             = term.GetMany(x => x.TermCode == model.Term).FirstOrDefault(),
                CreationDate     = DateTime.Now,
                EducationalClass = educationalClass
                                   .GetMany(x => x.CodeClass == model.EducationalClassId && x.Term.TermCode == model.Term)
                                   .FirstOrDefault(),
                IsActive = model.IsActive,
                Grade    = model.Grade,
                ProfessorEvaluationScore = model.ProfessorEvaluationScore,
                StudentId = model.StudentId
            };

            DataContext.StudentEducationalClasses.Add(sc);
            return(DataContext.SaveChanges());
        }
        public int AddOrUpdate(ProfessorSyncModel model)
        {
            var term = new TermRepository(DatabaseFactory);

            if (term.IsExist(x => x.TermCode == model.Term))
            {
                if (IsExist(x => x.ProfessorCode == model.ProfessoreCode &&
                            x.Term.TermCode == model.Term))
                {
                    //ToDO Update
                    var r = Update(model);
                    if (r != 0)
                    {
                        return(2);
                    }
                    return(3);
                }
                else
                {
                    //ToDo Add
                    var r = Add(model, term);
                    if (r != 0)
                    {
                        return(1);
                    }
                    return(3);
                }
            }
            else
            {
                return(5);
            }
        }
        public int AddOrUpdate(GroupSyncModel educationalGroup)
        {
            var termRepo = new TermRepository(DatabaseFactory);

            if (!termRepo.IsExist(y => y.TermCode == educationalGroup.Term))
            {
                return((int)Enums.AddOrUpdateRenurnValue.ترم_موجود_نمی_باشد);
            }

            var collegeRepo = new CollegeRepository(DatabaseFactory);

            if (!collegeRepo.IsExist(y => y.CollegeCode == educationalGroup.CollegeId))
            {
                return((int)Enums.AddOrUpdateRenurnValue.دانشکده_موجود_نمی_باشد);
            }

            if (IsExist(x => x.EducationalGroupCode == educationalGroup.EducationalGroupCode && x.Term.TermCode == educationalGroup.Term))
            {
                //ToDO Update
                var r = Update(educationalGroup);
                if (r != 0)
                {
                    return((int)Enums.AddOrUpdateRenurnValue.آپدیت_گردید);
                }
                return((int)Enums.AddOrUpdateRenurnValue.عملیات_ناموفق);
            }
            else
            {
                //ToDo Add
                var r = Add(educationalGroup);
                if (r != 0)
                {
                    return((int)Enums.AddOrUpdateRenurnValue.اضافه_گردید);
                }
                ;

                return((int)Enums.AddOrUpdateRenurnValue.عملیات_ناموفق);
            }
        }
예제 #4
0
        public int Update(EducationalClassSyncModel educationalClass, EducationalGroupRepository groupRepo, ProfessorRepository professorRepo, TermRepository termRepo)
        {
            if (!groupRepo.IsExist(y =>
                                   y.EducationalGroupCode == educationalClass.GroupId &&
                                   y.Term.TermCode == educationalClass.Term) ||
                !professorRepo.IsExist(y =>
                                       y.ProfessorCode == educationalClass.ProfessorId &&
                                       y.Term.TermCode == educationalClass.Term) ||
                !termRepo.IsExist(x => x.TermCode == educationalClass.Term))
            {
                return(0);
            }

            var item = DataContext.EducationalClasses
                       .FirstOrDefault(f => f.CodeClass == educationalClass.CodeClass && f.Term.TermCode == educationalClass.Term);


            if (item != null)
            {
                item.CodeClass = educationalClass.CodeClass;

                item.LastModifiedDate = DateTime.Now;

                item.EducationalGroup = groupRepo
                                        .GetMany(
                    g => g.EducationalGroupCode == educationalClass.GroupId &&
                    g.Term.TermCode == educationalClass.Term)
                                        .FirstOrDefault();

                item.IsActive = educationalClass.IsActive;

                item.Name = educationalClass.Name;

                item.OnlineHeldingCount = educationalClass.OnlineHeldingCount;

                item.LessonPlanSendDate       = educationalClass.LessonPlanSendDate;
                item.AggregationExamPaperDate = educationalClass.AggregationExamPaperDate;
                item.ReceiveExamPaperDate     = educationalClass.ReceiveExamPaperDate;


                //item.OthersHeldingCount = educationalClass.OthersHeldingCount;

                //item.PersentHeldingCount = educationalClass.PresentHeldingCount;

                item.Professor = professorRepo.GetMany(
                    g => g.ProfessorCode == educationalClass.ProfessorId &&
                    g.Term.TermCode == educationalClass.Term).FirstOrDefault();

                if (educationalClass.ProfessorDelayAndEarlier != null)
                {
                    item.ProfessorDelayAndEarlier = educationalClass.ProfessorDelayAndEarlier.Value;
                }

                item.Term = termRepo.GetMany(g => g.TermCode == educationalClass.Term).FirstOrDefault();

                int datePartYear  = 0;
                int datePartMonth = 0;
                int datePartDay   = 0;
                if (educationalClass.DeclaringScoreDate != null &&
                    int.TryParse(educationalClass.DeclaringScoreDate.Split('/')[0], out datePartYear) &&
                    int.TryParse(educationalClass.DeclaringScoreDate.Split('/')[1], out datePartMonth) &&
                    int.TryParse(educationalClass.DeclaringScoreDate.Split('/')[2], out datePartDay)
                    )
                {
                    item.DeclaringScoreDate = new DateTime(datePartYear, datePartMonth, datePartDay, new PersianCalendar());
                }
                else if (educationalClass.DeclaringScoreDate != null && educationalClass.DeclaringScoreDate.Split('/').Length > 1 && educationalClass.DeclaringScoreDate.Split('/')[2].Contains(' '))
                {
                    item.DeclaringScoreDate = DateTime.Parse(educationalClass.DeclaringScoreDate);
                }
                item.HoldingExamDate     = educationalClass.HoldingExamDate;
                item.LoadingQuestionDate = educationalClass.LoadingQuestionDate;
                //if (educationalClass.HoldingExamDate != null)
                //{
                //    var datePartYear = Convert.ToInt32(educationalClass.HoldingExamDate.Split('/')[0]);
                //    var datePartMonth = Convert.ToInt32(educationalClass.HoldingExamDate.Split('/')[1]);
                //    var datePartDay = Convert.ToInt32(educationalClass.HoldingExamDate.Split('/')[2]);
                //    item.HoldingExamDate = new DateTime(datePartYear, datePartMonth, datePartDay);
                //}
                //if (educationalClass.LoadingQuestionDate != null)
                //{
                //    var datePartYear = Convert.ToInt32(educationalClass.LoadingQuestionDate.Split('/')[0]);
                //    var datePartMonth = Convert.ToInt32(educationalClass.LoadingQuestionDate.Split('/')[1]);
                //    var datePartDay = Convert.ToInt32(educationalClass.LoadingQuestionDate.Split('/')[2]);
                //    item.LoadingQuestionDate = new DateTime(datePartYear, datePartMonth, datePartDay);
                //}
            }
            return(DataContext.SaveChanges());
        }
예제 #5
0
        public int Add(EducationalClassSyncModel educationalClass, EducationalGroupRepository groupRepo, ProfessorRepository professorRepo, TermRepository termRepo)
        {
            if (!groupRepo.IsExist(y =>
                                   y.EducationalGroupCode == educationalClass.GroupId && y.Term.TermCode == educationalClass.Term) ||
                !professorRepo.IsExist(y =>
                                       y.ProfessorCode == educationalClass.ProfessorId && y.Term.TermCode == educationalClass.Term) ||
                !termRepo.IsExist(x => x.TermCode == educationalClass.Term))
            {
                return(0);
            }

            var item = new EducationalClass
            {
                CodeClass        = educationalClass.CodeClass,
                CreationDate     = DateTime.Now,
                LastModifiedDate = DateTime.Now,

                EducationalGroup = groupRepo
                                   .GetMany(
                    g => g.EducationalGroupCode == educationalClass.GroupId &&
                    g.Term.TermCode == educationalClass.Term)
                                   .FirstOrDefault(),

                IsActive = educationalClass.IsActive,

                Name = educationalClass.Name,

                OnlineHeldingCount = educationalClass.OnlineHeldingCount,

                OthersHeldingCount = educationalClass.OthersHeldingCount,

                PersentHeldingCount = educationalClass.PresentHeldingCount,

                Professor = professorRepo.GetMany(
                    g => g.ProfessorCode == educationalClass.ProfessorId &&
                    g.Term.TermCode == educationalClass.Term).FirstOrDefault(),

                ReceiveExamPaperDate     = educationalClass.ReceiveExamPaperDate,
                AggregationExamPaperDate = educationalClass.AggregationExamPaperDate,
                LessonPlanSendDate       = educationalClass.LessonPlanSendDate,

                Term = termRepo.GetMany(g => g.TermCode == educationalClass.Term).FirstOrDefault()
            };

            if (educationalClass.ProfessorDelayAndEarlier != null)
            {
                item.ProfessorDelayAndEarlier = educationalClass.ProfessorDelayAndEarlier.Value;
            }

            if (educationalClass.DeclaringScoreDate != null)
            {
                var datePartYear  = Convert.ToInt32(educationalClass.DeclaringScoreDate.Split('/')[0]);
                var datePartMonth = Convert.ToInt32(educationalClass.DeclaringScoreDate.Split('/')[1]);
                var datePartDay   = Convert.ToInt32(educationalClass.DeclaringScoreDate.Split('/')[2]);
                item.DeclaringScoreDate = new DateTime(datePartYear, datePartMonth, datePartDay, new PersianCalendar());
            }
            item.HoldingExamDate     = educationalClass.HoldingExamDate;
            item.LoadingQuestionDate = educationalClass.LoadingQuestionDate;
            //if (educationalClass.HoldingExamDate != null)
            //{
            //    var datePartYear = Convert.ToInt32(educationalClass.HoldingExamDate.Split('/')[0]);
            //    var datePartMonth = Convert.ToInt32(educationalClass.HoldingExamDate.Split('/')[1]);
            //    var datePartDay = Convert.ToInt32(educationalClass.HoldingExamDate.Split('/')[2]);
            //    item.HoldingExamDate = new DateTime(datePartYear, datePartMonth, datePartDay, new PersianCalendar());
            //}
            //if (educationalClass.LoadingQuestionDate != null)
            //{
            //    var datePartYear = Convert.ToInt32(educationalClass.LoadingQuestionDate.Split('/')[0]);
            //    var datePartMonth = Convert.ToInt32(educationalClass.LoadingQuestionDate.Split('/')[1]);
            //    var datePartDay = Convert.ToInt32(educationalClass.LoadingQuestionDate.Split('/')[2]);
            //    item.LoadingQuestionDate = new DateTime(datePartYear, datePartMonth, datePartDay, new PersianCalendar());
            //}

            DataContext.EducationalClasses.Add(item);
            try
            {
                return(DataContext.SaveChanges());
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
        }