コード例 #1
0
        /// <summary>
        /// Retrieve missing information by id or username of the entities and build the
        /// Enrollment to be inserted in the database
        /// </summary>
        /// <param name="enroll"></param>
        public void InsertEnrollment(EnrollmentEntity enroll)
        {
            DbDataProvider ddp = new DbDataProvider();

            var resApplicant = ddp.GetResourceByIdOrUsername(-1, enroll.Resource.Username);

            if (resApplicant.Count != 1)
            {
                throw new Exception("Error retrieving applicant resource by username " + enroll.Resource.Username);
            }

            var resLeader = ddp.GetResourceByIdOrUsername(-1, enroll.ProjectLeader.Username);

            if (resLeader.Count != 1)
            {
                throw new Exception("Error retrieving applicant leader resource by username " + enroll.ProjectLeader.Username);
            }

            var course = ddp.GetCourseById(enroll.Course.Id);

            if (course == null)
            {
                throw new Exception("Error retrieving course by id " + enroll.Course.Id);
            }

            enroll.Course        = course;
            enroll.Resource      = resApplicant[0];
            enroll.ProjectLeader = resLeader[0];

            ddp.InsertEnrollment(enroll);
        }
コード例 #2
0
 public HttpResponseMessage InsertEnrollment([FromBody] EnrollmentEntity enrollment)
 {
     HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.InternalServerError);
     try
     {
         EnrollmentsManager enrollManager = new EnrollmentsManager();
         enrollManager.InsertEnrollment(enrollment);
         response = Request.CreateResponse(HttpStatusCode.OK);
     }
     catch (Exception ex)
     {
         response.Content = new StringContent($"{GENERIC_ERROR}  [{ex.Message}]");
         DbLog.LogError("Error in EnrollmentsController", ex);
     }
     return response;
 }
コード例 #3
0
        /// <summary>
        /// Retrieve missing information by id or username of the entities and build the
        /// Enrollment that will be updated
        /// </summary>
        /// <param name="enroll"></param>
        public void EditEnrollment(EnrollmentEntity enroll)
        {
            DbDataProvider ddp = new DbDataProvider();

            //if resource not arriving from controller
            if (enroll.Resource.Id == -1)
            {
                var result = ddp.GetResourceByIdOrUsername(-1, enroll.Resource.Username);
                if (result != null && result.Count == 1)
                {
                    enroll.Resource = result[0];
                }
                else
                {
                    throw new Exception("Cannot retrieve applicant from username " + enroll.Resource.Username);
                }
            }

            //if project leader not arriving from controller
            if (enroll.ProjectLeader.Id == -1)
            {
                var result = ddp.GetResourceByIdOrUsername(-1, enroll.ProjectLeader.Username);
                if (result != null && result.Count == 1)
                {
                    enroll.ProjectLeader = result[0];
                }
                else
                {
                    throw new Exception("Cannot retrieve project leader from username " + enroll.ProjectLeader.Username);
                }
            }


            var course = ddp.GetCourseById(enroll.Course.Id);

            if (course != null)
            {
                enroll.Course = course;
            }
            else
            {
                throw new Exception("Cannot retrieve course for id " + enroll.Course.Id);
            }

            ddp.EditEnrollment(enroll);
        }
コード例 #4
0
        public void EditEnrollment(EnrollmentEntity enroll)
        {
            EnrollmentsRepository enrollRepo = new EnrollmentsRepository();

            using (var uow = UnitOfWork.CreateUoW())
            {
                try
                {
                    enrollRepo.Update(EntitiesMapper.ToDbModel(enroll), uow);
                    uow.ApplyChanges();
                }
                catch (Exception ex)
                {
                    DbLog.LogError("Error editing enrollment " + enroll, ex);
                    throw ex;
                }
            }
        }
コード例 #5
0
        public void DeleteEnrollment(EnrollmentEntity enroll)
        {
            EnrollmentsRepository enrollRepo = new EnrollmentsRepository();

            using (var uow = UnitOfWork.CreateUoW())
            {
                try
                {
                    enrollRepo.Delete(enroll.Id, uow);
                    uow.ApplyChanges();
                }
                catch (Exception ex)
                {
                    DbLog.LogError("Error deleting enrollment " + enroll.Id, ex);
                    throw ex;
                }
            }
        }
コード例 #6
0
        private EnrollmentEntity Transform(EnrollmentFileRecord fileRecord)
        {
            var entity = new EnrollmentEntity();

            entity.SchoolId = SchoolLookup[fileRecord.Building.Replace(" ", "")];

            if (fileRecord.Grade.Trim() == "K")
            {
                entity.GradeLevel = 0;
            }
            else
            {
                entity.GradeLevel = int.Parse(fileRecord.Grade);
            }

            entity.FiscalYearid = FiscalYearLookup[int.Parse(fileRecord.Year)].FiscalYearId;
            entity.Enrollment   = fileRecord.Enrollment;
            return(entity);
        }
コード例 #7
0
        public EnrollmentEntity GetEnrollmentById(int id)
        {
            EnrollmentEntity      result     = null;
            EnrollmentsRepository enrollRepo = new EnrollmentsRepository();

            using (var uow = UnitOfWork.CreateUoW())
            {
                try
                {
                    var res = enrollRepo.GetEnrollmentByID(id, uow);
                    result = res != null?EntitiesMapper.ToEntity(res) : null;
                }
                catch (Exception ex)
                {
                    DbLog.LogError("Error retrieving enrollment " + id, ex);
                    throw ex;
                }
            }
            return(result);
        }
コード例 #8
0
 public static Enrollment ToDbModel(EnrollmentEntity enrl)
 {
     return(new Enrollment(enrl.Id, enrl.Resource.Id, enrl.ProjectLeader.Id, enrl.Course.Id, enrl.StartDate, enrl.MaxEndDate, enrl.IsAdmitted, enrl.Notes));
 }
コード例 #9
0
        public void DeleteEnrollment(EnrollmentEntity enroll)
        {
            DbDataProvider ddp = new DbDataProvider();

            ddp.DeleteEnrollment(enroll);
        }