private void subject_data_grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            updateMode            = true;
            delete_btn_.IsEnabled = true;

            DataGrid dataGrid = (DataGrid)sender;

            subject = dataGrid.SelectedItem as SubjectEntity;

            if (subject != null)
            {
                name_txtbx.Text       = subject.SubjectName;
                code_txtbx.Text       = subject.SubjectCode;
                year_combobx.Text     = subject.Year.ToString();
                sem_combobx.Text      = subject.Semester.ToString();
                lec_combobx.Text      = subject.NoOfLecHrs.ToString();
                tutorial_combobx.Text = subject.NoOfTuteHrs.ToString();
                lab_combobx.Text      = subject.NoOfLabHrs.ToString();
                eval_combobx.Text     = subject.NoOfEvalHrs.ToString();

                lec_combobx_val  = subject.NoOfLecHrs.ToString();
                tute_combobx_val = subject.NoOfTuteHrs.ToString();
                lab_combobx_val  = subject.NoOfLabHrs.ToString();
                eval_combobx_val = subject.NoOfEvalHrs.ToString();
                year_combobx_val = subject.Year.ToString();
                sem_combobx_val  = subject.Semester.ToString();
            }
        }
Exemplo n.º 2
0
        private void OpenForm(SubjectEntity subject)
        {
            EditSubject form = new EditSubject(subject);

            form.Show();
            Close();
        }
Exemplo n.º 3
0
        public void Add_new_subject_test()
        {
            var repo  = new SubjectRepository(this.context);
            var model = new SubjectEntity("AM", "Analiza matematyczna");

            repo.AddNew(model);
        }
Exemplo n.º 4
0
        private Subject SaveSubject(Subject subject, ScheduleContext context) //+
        {
            SubjectEntity subjectEntity;

            var workWeek = GetWorkWeekByIdInner(subject.WorkWeek.Id, context);

            if (workWeek == null)
            {
                throw new ArgumentOutOfRangeException(nameof(workWeek));
            }

            if (subject.Id != Guid.Empty)
            {
                subjectEntity = context.Subjects.First(x => x.Id == subject.Id).MapToEntity(subject, workWeek);
            }
            else
            {
                subjectEntity    = new SubjectEntity().MapToEntity(subject, workWeek);
                subjectEntity.Id = Guid.NewGuid();
                context.Subjects.Add(subjectEntity);
            }

            var model = subjectEntity.MapToModel(workWeek.MapToModel());

            return(model);
        }
        private SubjectEntity CreateSubjectEntity()
        {
            int SubjectId;

            if (subjects.Count == 0)
            {
                SubjectId = 1;
            }
            else if (updateMode)
            {
                SubjectId = subject.SubjectId;
            }
            else
            {
                SubjectId = subjects.Last().SubjectId + 1;
            }

            subject = new SubjectEntity {
                SubjectId   = SubjectId,
                SubjectCode = code_txtbx.Text,
                SubjectName = name_txtbx.Text,
                Year        = int.Parse(year_combobx.Text),
                Semester    = int.Parse(sem_combobx.Text),
                NoOfLecHrs  = int.Parse(lec_combobx.Text),
                NoOfTuteHrs = int.Parse(tutorial_combobx.Text),
                NoOfLabHrs  = int.Parse(lab_combobx.Text),
                NoOfEvalHrs = int.Parse(eval_combobx.Text)
            };
            return(subject);
        }
Exemplo n.º 6
0
        public async Task <T> UpdateAsync(T entity)
        {
            SubjectEntity subject       = this.ForwardConverter(entity);
            SubjectEntity updatedEntity = await this._repository.UpdateAsync(subject).ConfigureAwait(false);

            return(this.BackwardConverter(updatedEntity));
        }
Exemplo n.º 7
0
        /// <summary>
        ///     Actualiza una entidad asignatura
        /// </summary>
        /// <param name="subjectEntity">
        /// </param>
        /// <exception cref="SubjectNameDuplicateEntryException">
        ///     Lanza SubjectNameDuplicateEntryException si el nombre de la
        ///     asignatura ya existe
        /// </exception>
        /// <returns>
        ///     Retorna la entidad asignatura actualizada
        /// </returns>
        public async Task <SubjectEntity> Update(SubjectEntity subjectEntity)
        {
            //Recupera la asignatura a modificar
            SubjectEntity entityToUpdate = await this.Get(subjectEntity.Id);

            entityToUpdate.Name = subjectEntity.Name;

            try
            {
                await _dbContext.SaveChangesAsync();

                _logger.LogInformation("Asignatura actualizada correctamente");
            }
            catch (DbUpdateException ex)
            {
                if (ex.InnerException.Message.Contains("UQ_subject_name"))
                {
                    _logger.LogWarning("La asignatura no se ha actualizado " +
                                       "porque su nombre ya existe");

                    throw new SubjectNameDuplicateEntryException();
                }
                //Cualquier otra razón, lanzo la excepción
                else
                {
                    throw ex;
                }
            }

            return(entityToUpdate);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Updates a subject.
        /// </summary>
        /// <param name="itemToSave">The item to save.</param>
        /// <param name="accountId">The account identifier.</param>
        /// <returns>The result.</returns>
        public ResultDto UpdateSubject(SubjectEditDto itemToSave, Guid?accountId)
        {
            ResultDto result = new ResultDto();

            using (BzsEntityContainer ctx = this.CreateContainer())
            {
                SubjectEntity entity = ctx.SubjectSet.FirstOrDefault(f => f.Id == itemToSave.Id);
                if (entity == null)
                {
                    result.Error = "ERR-SUBJECT-NOT-EXISTS";
                    return(result);
                }

                if (entity.AccountId == null || entity.AccountId != accountId)
                {
                    result.Error = "ERR-SUBJECT-ACCOUNT-INVALID";
                    return(result);
                }

                entity.Code    = itemToSave.Code.Length > 10 ? itemToSave.Code.Substring(0, 9) : itemToSave.Code;
                entity.Caption = itemToSave.Caption.Length > 50 ? itemToSave.Caption.Substring(0, 49) : itemToSave.Caption;
                entity.ModDate = DateTime.Now;
                entity.ModUser = Environment.UserName;

                ctx.SaveChanges();
                result.Success = true;
            }

            return(result);
        }
        public void Get_timetable_by_id_test()
        {
            var         repo        = new TimeTableRepository(context);
            var         classRepo   = new ClassRepository(context);
            var         subjectRepo = new SubjectRepository(context);
            ClassEntity clazz       = new ClassEntity("GR1");

            classRepo.AddNew(clazz);
            SubjectEntity subject = new SubjectEntity("AM", "Analiza");

            subjectRepo.AddNew(subject);
            TimeTableEntity model  = new TimeTableEntity("poniedziałek", clazz, subject);
            TimeTableEntity model2 = new TimeTableEntity("wtorek", clazz, subject);

            repo.AddNew(model);
            repo.AddNew(model2);

            var result = repo.GetById(2);

            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Id);
            Assert.AreEqual(model2.Class.Id, result.Class.Id);
            Assert.AreEqual(model2.Subject.Id, result.Subject.Id);
            Assert.AreEqual(model2.Day, result.Day);
        }
Exemplo n.º 10
0
        public void Get_presences_by_student_and_subject_test()
        {
            var         repo      = new PresenceRepository(this.context);
            var         studrepo  = new StudentRepository(this.context);
            var         timerepo  = new TimeTableRepository(this.context);
            var         classrepo = new ClassRepository(this.context);
            var         subrepo   = new SubjectRepository(this.context);
            ClassEntity clazz     = new ClassEntity("GR1");

            classrepo.AddNew(clazz);
            StudentEntity model = new StudentEntity("Aneta", "Dams", clazz, true);

            studrepo.AddNew(model);
            SubjectEntity subject = new SubjectEntity("AM", "Analiza Matematyczna");

            subrepo.AddNew(subject);
            TimeTableEntity timeTable = new TimeTableEntity("poniedziałek", clazz, subject);
            var             model1    = new PresenceEntity(model, subject, DateTime.Now.Date, true);
            var             model2    = new PresenceEntity(model, subject, DateTime.Now.Date.AddDays(2), true);

            repo.AddNew(model1);
            repo.AddNew(model2);

            var result = repo.GetAllByStudentAndSubject(model.Id, subject.Id);

            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(model1.Id, result[0].Id);
            Assert.AreEqual(model2.Id, result[1].Id);
        }
Exemplo n.º 11
0
        public static async Task <RoleEntity> GivenARole(
            this TestServerFixture fixture,
            string name,
            ApplicationEntity application,
            SubjectEntity subject,
            bool withPermissions = true)
        {
            var role = new RoleEntity(name, application.Id, $"{name} role");

            await fixture.ExecuteDbContextAsync(async db =>
            {
                role.Subjects.Add(new RoleSubjectEntity {
                    SubjectId = subject.Id
                });

                if (withPermissions)
                {
                    foreach (var permission in application.Permissions)
                    {
                        role.Permissions.Add(new RolePermissionEntity {
                            PermissionId = permission.Id
                        });
                    }
                }

                db.Add(role);

                await db.SaveChangesAsync();
            });

            return(role);
        }
Exemplo n.º 12
0
        public static async Task Seed(BaleaDbContext db)
        {
            if (!db.Roles.Any())
            {
                var john = new SubjectEntity("Alice", "1");
                var mary = new SubjectEntity("Bob", "11");

                db.Add(john);
                db.Add(mary);

                await db.SaveChangesAsync();

                var application          = new ApplicationEntity(BaleaConstants.DefaultApplicationName, "Default application");
                var viewGradesPermission = new PermissionEntity(Policies.GradesView);
                var editGradesPermission = new PermissionEntity(Policies.GradesEdit);
                application.Permissions.Add(viewGradesPermission);
                application.Permissions.Add(editGradesPermission);
                var teacherRole = new RoleEntity("Teacher", "Teacher role");
                teacherRole.Subjects.Add(new RoleSubjectEntity {
                    SubjectId = john.Id
                });
                teacherRole.Permissions.Add(new RolePermissionEntity {
                    Permission = viewGradesPermission
                });
                teacherRole.Permissions.Add(new RolePermissionEntity {
                    Permission = editGradesPermission
                });
                application.Roles.Add(teacherRole);
                application.Delegations.Add(new DelegationEntity(john.Id, mary.Id, DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddDays(1), true));
                db.Applications.Add(application);
                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 13
0
        public JsonResult GetSubjectByItemId(string schollid, string itemid)
        {
            var result = new ReturnMessage(false)
            {
                Message = "加载失败!"
            };

            try
            {
                var data = new SubjectEntity();
                var list = SubjectBLL.Instance.GetList(new SubjectEntity()
                {
                    SchoolId = schollid, ItemId = itemid
                });
                if (list != null && list.Count() > 0)
                {
                    data = list.FirstOrDefault();
                }
                result.IsSuccess          = true;
                result.Message            = "获取成功!";
                result.ResultData["Data"] = data;
            }
            catch (Exception ex)
            {
                ex.Data["Method"] = "ApplyController>>GetSubject";
                new ExceptionHelper().LogException(ex);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 14
0
        List <VerticeEntity> DsMonThi()
        {
            List <VerticeEntity> ListVertice = new List <VerticeEntity>();

            foreach (DataGridViewRow r in grwDanhSach.Rows)
            {
                if (Convert.ToString(r.Cells["NHÓM"].Value) != "")
                {
                    SubjectEntity mt     = new SubjectEntity(Convert.ToString(r.Cells["MÃ HP"].Value));
                    string        phong1 = Convert.ToString(((DataGridViewTextBoxCell)r.Cells["PHÒNG"]).Value);
                    string        nhom1  = Convert.ToString(r.Cells["NHÓM"].Value);
                    foreach (DataGridViewRow r2 in grwDanhSach.Rows)
                    {
                        if (r2.Index != r.Index)
                        {
                            string nhom2  = Convert.ToString(r2.Cells["NHÓM"].Value);
                            string phong2 = Convert.ToString(((DataGridViewTextBoxCell)r2.Cells["PHÒNG"]).Value);
                            if (DuLieu.CheckContain(nhom1, nhom2) || DuLieu.CheckContain(phong1, phong2))
                            {
                                mt.AddSubjectRelated(Convert.ToString(r2.Cells[1].Value));
                            }
                        }
                    }
                    ListVertice.Add(mt);
                }
            }
            return(ListVertice);
        }
Exemplo n.º 15
0
        /// <summary>
        ///     Retira la asignacion de profesor a una asignatura
        /// </summary>
        /// <param name="subjectId">
        ///     El id de la asignatura
        /// </param>
        /// <returns>
        ///     Retorna true
        /// </returns>
        public async Task <bool> RemoveAssignedTeacher(int subjectId)
        {
            SubjectEntity subjectEntity = await _subjectRepository
                                          .UpdateAssignedTeacher(subjectId, null);

            return(true);
        }
Exemplo n.º 16
0
        private SubjectEntity MapOneSubject(SubjectModel subjectModel)
        {
            string subjectJson = TimetableSerializer.SerializeToJson(subjectModel);
            string subjectHash = HashCoder.GetSha256Hash(subjectJson);

            var info = new SubjectInfoEntity
            {
                Title             = subjectModel.Title,
                Teachers          = subjectModel.Teachers,
                LectureStartDate  = subjectModel.LectureStartDate,
                LectureEndDate    = subjectModel.LectureEndDate,
                PracticeStartDate = subjectModel.PracticeStartDate,
                PracticeEndDate   = subjectModel.PracticeEndDate
            };

            string infoJson = TimetableSerializer.SerializeToJson(info);
            string infoHash = HashCoder.GetSha256Hash(infoJson);

            info.Hash = infoHash;

            string daysJson = TimetableSerializer.SerializeToJson(subjectModel.Days);
            string daysHash = HashCoder.GetSha256Hash(daysJson);

            SubjectEntity entity = new SubjectEntity
            {
                Info     = info,
                Days     = MapSchoolDays(subjectModel.Days),
                HashDays = daysHash,
                Hash     = subjectHash
            };

            return(entity);
        }
Exemplo n.º 17
0
        /// <summary>
        ///     Inserta una nueva entidad asignatura
        /// </summary>
        /// <param name="subjectEntity">
        ///     La entidad asignatura a guardar
        /// </param>
        /// <exception cref="SubjectNameDuplicateEntryException">
        ///     Lanza SubjectNameDuplicateEntryException si el nombre de la
        ///     asignatura ya existe
        /// </exception>
        /// <returns>
        ///     Retorna la entidad asignatura guardada
        ///     con el id generado
        /// </returns>
        public async Task <SubjectEntity> Save(SubjectEntity subjectEntity)
        {
            try
            {
                await _dbContext.SubjectEntities.AddAsync(subjectEntity);

                await _dbContext.SaveChangesAsync();

                _logger.LogInformation("Asignatura guardada correctamente");
            }
            catch (DbUpdateException ex)
            {
                if (ex.InnerException.Message.Contains("UQ_subject_name"))
                {
                    _logger.LogWarning("La asignatura no se ha guardado porque " +
                                       "su nombre ya existe");

                    throw new SubjectNameDuplicateEntryException();
                }
                //Cualquier otra razón, lanzo la excepción
                else
                {
                    throw ex;
                }
            }

            return(subjectEntity);
        }
Exemplo n.º 18
0
        private T BackwardConverter(SubjectEntity entity)
        {
            T createdEntity = this._factory.GetSubjectModel() as T;

            createdEntity.Id   = entity.Id;
            createdEntity.Name = entity.Name;
            return(createdEntity);
        }
Exemplo n.º 19
0
        private Subject ConvertToModel(SubjectEntity subjectEntity)
        {
            var subject = new Subject(subjectEntity.Name, subjectEntity.Credit);

            subject.Load(subjectEntity.Id, subjectEntity.IsRegistered, subjectEntity.IsCompleted, subjectEntity.ActualRegisteredSubjectId);

            return(subject);
        }
Exemplo n.º 20
0
        private SubjectEntity ForwardConverter(T entity)
        {
            SubjectEntity createdEntity = this._factory.GetSubjectEntity();

            createdEntity.Id   = entity.Id;
            createdEntity.Name = entity.Name;
            return(createdEntity);
        }
Exemplo n.º 21
0
        public bool IsSubjectApproved(int subjectId)
        {
            SubjectEntity subject = Context.Subjects
                                    .AsNoTracking()
                                    .SingleOrDefault(s => s.Id == subjectId);

            return(subject.IsApproved);
        }
Exemplo n.º 22
0
 public void DeleteSubjectEntity(SubjectEntity subjectEntityToDelete)
 {
     using (var db = new PlutoContext())
     {
         db.Entry(subjectEntityToDelete).State = EntityState.Deleted;
         db.SaveChanges();
     }
 }
Exemplo n.º 23
0
 public void UpdateSubjectEntity(SubjectEntity subjectEntityToUpdate)
 {
     using (var db = new PlutoContext())
     {
         db.Entry(subjectEntityToUpdate).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
Exemplo n.º 24
0
        public static async Task Seed(BaleaDbContext db)
        {
            if (!db.Roles.Any())
            {
                var alice = new SubjectEntity("Alice", "818727");
                var bob   = new SubjectEntity("Bob", "88421113");

                db.Add(alice);
                db.Add(bob);

                await db.SaveChangesAsync();

                var application          = new ApplicationEntity(BaleaConstants.DefaultApplicationName, "Default application");
                var viewGradesPermission = new PermissionEntity(Permissions.GradesRead);
                var editGradesPermission = new PermissionEntity(Permissions.GradesEdit);
                application.Permissions.Add(viewGradesPermission);
                application.Permissions.Add(editGradesPermission);
                var teacherRole = new RoleEntity(nameof(Roles.Teacher), "Teacher role");
                teacherRole.Subjects.Add(new RoleSubjectEntity {
                    SubjectId = alice.Id
                });
                teacherRole.Permissions.Add(new RolePermissionEntity {
                    Permission = viewGradesPermission
                });
                teacherRole.Permissions.Add(new RolePermissionEntity {
                    Permission = editGradesPermission
                });
                application.Roles.Add(teacherRole);
                var substituteRole = new RoleEntity(nameof(Roles.Substitute), "Substitute role");
                substituteRole.Permissions.Add(new RolePermissionEntity {
                    Permission = viewGradesPermission
                });
                substituteRole.Permissions.Add(new RolePermissionEntity {
                    Permission = editGradesPermission
                });
                substituteRole.Subjects.Add(new RoleSubjectEntity {
                    SubjectId = bob.Id
                });
                application.Roles.Add(substituteRole);
                application.Delegations.Add(new DelegationEntity(alice.Id, bob.Id, DateTime.UtcNow.AddDays(-1), DateTime.UtcNow.AddYears(1), false));
                var studentRole = new RoleEntity(nameof(Roles.Student), "Student role");
                var mapping     = new MappingEntity("customer");
                studentRole.Mappings.Add(new RoleMappingEntity {
                    Mapping = mapping
                });
                application.Roles.Add(studentRole);
                var policy = new PolicyEntity("ValidateGrades",
                                              @"policy substitute begin
    rule A (DENY) begin
        Subject.Role CONTAINS ""Substitute"" AND Resource.Controller = ""Grades"" AND Parameters.Value > 6
    end
end");
                application.Policies.Add(policy);
                db.Applications.Add(application);
                await db.SaveChangesAsync();
            }
        }
Exemplo n.º 25
0
        /// <summary>
        ///     Actualiza una asignatura
        /// </summary>
        /// <param name="subject">
        ///     Un objeto Subject que contiene los nuevos datos de la asignatura
        /// </param>
        /// <exception cref="SubjectNameDuplicateEntryException">
        ///     Lanza SubjectNameDuplicateEntryException
        /// </exception>
        /// <returns>
        ///     El objeto Subject actualizado
        /// </returns>
        public async Task <Subject> Update(Subject subject)
        {
            SubjectEntity subjectEntity = SubjectMapper.Map(subject);

            subjectEntity = await _subjectRepository.Update(subjectEntity);

            subject = SubjectMapper.Map(subjectEntity);

            return(subject);
        }
Exemplo n.º 26
0
        public int AddSubjectEntity(SubjectEntity subjectEntity)
        {
            using (var db = new PlutoContext())
            {
                db.Subjects.Add(subjectEntity);
                db.SaveChanges();
            }

            return(subjectEntity.Id);
        }
Exemplo n.º 27
0
        /// <summary>
        ///     Crea una nueva asignatura
        /// </summary>
        /// <param name="subject">
        ///     Un objeto Subject que contiene los datos de la asignatura
        /// </param>
        /// <exception cref="SubjectNameDuplicateEntryException">
        ///     Lanza SubjectNameDuplicateEntryException
        /// </exception>
        /// <returns>
        ///     El objeto Subject creado con el id generado
        /// </returns>
        public async Task <Subject> Save(Subject subject)//throw SubjectNameDuplicateEntryException
        {
            SubjectEntity subjectEntity = SubjectMapper.Map(subject);

            subjectEntity = await _subjectRepository.Save(subjectEntity);

            subject = SubjectMapper.Map(subjectEntity);

            return(subject);
        }
Exemplo n.º 28
0
        public ActionResult Subject()
        {
            UserEntity    objUserEntity = UserEntity.GetInstance();
            SubjectEntity subjectEntity = new SubjectEntity();

            subjectEntity.flag      = 'G';
            subjectEntity.reportId  = "5";
            TempData["SubjectData"] = new Master().AddSubject(subjectEntity);
            return(PartialView());
        }
Exemplo n.º 29
0
 public ActionResult Edit(SubjectEntity subject)
 {
     if (!ModelState.IsValid)
     {
         return(Edit(subject.Id));
     }
     _dbContext.Entry(subject).State = EntityState.Modified;
     _dbContext.SaveChanges();
     return(RedirectToAction("Index"));
 }
Exemplo n.º 30
0
        public async Task Initialize()
        {
            _context.Database.EnsureCreated();

            // Look for any students.
            if (_context.Subjects.Any())
            {
                return;   // DB has been seeded
            }

            var students = new StudentEntity[]
            {
                new StudentEntity {
                    Forename = "Petru", Surname = "Ritivoiu"
                },
                new StudentEntity {
                    Forename = "Horia", Surname = "Popescu"
                }
            };

            var subjects = new SubjectEntity[]
            {
                new SubjectEntity {
                    Name = "PAW"
                },
            };

            var homeworkDescriptions = new HomeworkDescriptionEntity[]
            {
                new HomeworkDescriptionEntity {
                    Subject         = subjects[0], Name = "Proiect PAW 2018", ShortDescription = "Proiect PAW 2018",
                    FullDescription = "Cerinta proiectului poate fi gasita la adresa http://acs.ase.ro/paw",
                    ReflectionFile  = "MockReflectionFile.xml",
                    UnitTestsFile   = "MockUnitTestingFile.cs"
                }
            };

            var studentSubjectRelationship = new StudentSubjectRelationship[]
            {
                new StudentSubjectRelationship {
                    Student = students[0], Subject = subjects[0]
                },
                new StudentSubjectRelationship {
                    Student = students[1], Subject = subjects[0]
                }
            };

            _context.Students.AddRange(students);
            _context.Subjects.AddRange(subjects);
            _context.HomeworkDescriptions.AddRange(homeworkDescriptions);
            _context.StudentSubjects.AddRange(studentSubjectRelationship);

            await _context.SaveChangesAsync();
        }