public int AddOrUpdate(EducationalClassSyncModel educationalClass) { var groupRepo = new EducationalGroupRepository(DatabaseFactory); var professorRepo = new ProfessorRepository(DatabaseFactory); var termRepo = new TermRepository(DatabaseFactory); if (IsExist(x => x.CodeClass == educationalClass.CodeClass && x.Term.TermCode == educationalClass.Term)) { //ToDO Update var r = Update(educationalClass, groupRepo, professorRepo, termRepo); if (r != 0) { return(2); } return(3); } else { //ToDo Add var r = Add(educationalClass, groupRepo, professorRepo, termRepo); if (r != 0) { return(1); } return(3); } }
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); } }
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 Add(GroupSyncModel ge) { var profRepo = new ProfessorRepository(DatabaseFactory); var termRepo = new TermRepository(DatabaseFactory); var collegeRepo = new CollegeRepository(DatabaseFactory); var c = new EducationalGroup { Name = ge.Name, IsActive = ge.IsActive, GroupManger = profRepo .GetMany(x => x.ProfessorCode == ge.GroupMangerId && x.Term.TermCode == ge.Term).FirstOrDefault(), OnlinePresenceTime = ge.OnlinePresenceTime != 0 ? ge.OnlinePresenceTime : null, PhysicalPresenceTime = ge.PhysicalPresenceTime != 0 ? ge.PhysicalPresenceTime : null, TotalStudentsCount = ge.TotalStudentsCount != 0 ? ge.TotalStudentsCount : null, CancellationStudentsCount = ge.CancellationStudentsCount != 0 ? ge.CancellationStudentsCount : null, DismissedstudentsCount = ge.DismissedstudentsCount != 0 ? ge.DismissedstudentsCount : null, TotalStudentScoresAverage = ge.TotlalStudentAverageScores != 0 ? ge.TotlalStudentAverageScores : null, TotalProfessorsCount = ge.TotalProfessorsCount != 0 ? ge.TotalProfessorsCount : null, DoctoralProfessorsCount = ge.DoctoralProfessorsCount != 0 ? ge.DoctoralProfessorsCount : null, MaProfessorsCount = ge.MaProfessorsCount != 0 ? ge.MaProfessorsCount : null, BachelorProfessorsCount = ge.BachelorProfessorsCount != 0 ? ge.BachelorProfessorsCount : null, TotalProposals = ge.TotalProposals != 0 ? ge.TotalProposals : null, ApprovedProposals = ge.ApprovedProposals != 0 ? ge.ApprovedProposals : null, College = collegeRepo.GetMany(x => x.CollegeCode == ge.CollegeId).FirstOrDefault(), AverageBachelorStudentGrades = ge.BachelorStudentAverageScores != 0 ? ge.BachelorStudentAverageScores : null, AverageMaStudentGrades = ge.MaStudentAverageScores != 0 ? ge.MaStudentAverageScores : null, AverageDoctoralStudentGrades = ge.DoctoralStudentAverageScores != 0 ? ge.DoctoralStudentAverageScores : null, Term = termRepo.GetMany(x => x.TermCode == ge.Term).FirstOrDefault(), EducationalGroupCode = ge.EducationalGroupCode != 0 ? ge.EducationalGroupCode : null, CreationDate = DateTime.Now, //Calculatepr ExpelledStudentsPercentage = ge.TotalStudentsCount != 0 ? (ge.DismissedstudentsCount * 100) / ge.TotalStudentsCount : null, StudentCancellationPercentage = ge.TotalStudentsCount != 0 ? (ge.CancellationStudentsCount * 100) / ge.TotalStudentsCount : null, TeacherToBachelorStudentRatio = ge.BachelorProfessorsCount != 0 ? (ge.BachelorStudentCount / ge.BachelorProfessorsCount) : null, TeacherToMaStudentRatio = ge.MaProfessorsCount != 0 ? (ge.MaStudentCount / ge.MaProfessorsCount) : null, TeacherToDoctoralStudentRatio = ge.DoctoralProfessorsCount != 0 ? (ge.DoctoralStudentCount / ge.DoctoralProfessorsCount) : null, ApproveProposalsPercentage = ge.TotalProposals != 0 ? (ge.ApprovedProposals * 100) / ge.TotalProposals : null, }; DataContext.EducationalGroups.Add(c); return(DataContext.SaveChanges()); }
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.عملیات_ناموفق); } }
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()); }
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; } }