コード例 #1
0
 public async Task <int> EditUnitOffering(UnitOffering model)
 {
     try
     {
         using (var connection = _connectionProvider.Create())
         {
             return(await connection.ExecuteScalarAsync <int>("DBIG5_ADMIN.UPDATE_UNITOFFERING_VIASQLDEV",
                                                              new
             {
                 pUNITOFFERING_ID = model.UnitOffering_ID,
                 pUNIT_ID = model.Unit_ID,
                 pSTUDYPERIOD_ID = model.StudyPeriod_ID,
                 pId = model.Id,
                 pSTARTDATE = model.UnitOffering_StartDate
             },
                                                              commandType : CommandType.StoredProcedure));
         }
     }
     catch (Exception ex)
     {
         _transaction.DiscardChanges();
         Console.WriteLine(ex);
     }
     return(0);
 }
        /// <summary>
        /// Navigate to Details page for a Unit Offering
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Details(int id)
        {
            // Make sure the user is logged in and that they have permission
            if (!IsUserLoggedIn)
            {
                return(RedirectToLogin());
            }
            if (!UserHasPermission(PermissionName.UnitOffering))
            {
                return(RedirectToPermissionDenied());
            }

            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            try
            {
                var unitOfferingModel = UnitOfferingProcessor.SelectUnitOfferingForUnitOfferingId(id);
                if (unitOfferingModel == null)
                {
                    return(RedirectToIndexIdNotFound(id));
                }

                var unit           = UnitProcessor.SelectUnitForUnitId(unitOfferingModel.UnitId);
                var teachingPeriod = TeachingPeriodProcessor.SelectTeachingPeriodForTeachingPeriodId(unitOfferingModel.TeachingPeriodId);
                var year           = YearProcessor.SelectYearForYearId(unitOfferingModel.YearId);
                var convenor       = UserProcessor.SelectUserForUserId(unitOfferingModel.ConvenorId);

                var projectOfferings = ProjectOfferingProcessor.SelectProjectOfferingsForUnitOfferingId(id);
                var enrollments      = EnrollmentProcessor.LoadEnrollmentsForUnitOffering(id);

                // Convert the model data to non-model data
                // Pass the data to the view
                var unitOffering = new UnitOffering(unitOfferingModel, unit, teachingPeriod, year, convenor, projectOfferings, enrollments);

                ViewBag.UserId = new SelectList(unitOffering.GetStudents( ), "UserId", "Username", null);
                return(View(unitOffering));
            }
            catch (Exception e)
            {
                return(RedirectToIndex(e));
            }

            // Find Unit Offering
            //db.GetUnitOffering( id );

            // Populate Student Drop Down List for to add new Enrollments
            //PopulateStudentDropDownList( );

            // Navigate to View
            //return View( db );
        }
        public ActionResult Create(UnitOffering model)
        {
            // Make sure the user is logged in and that they have permission
            if (!IsUserLoggedIn)
            {
                return(RedirectToLogin());
            }
            if (!UserHasPermission(PermissionName.UnitOffering))
            {
                return(RedirectToPermissionDenied());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    // Validate values of Year and TeachingPeriod
                    db.GetYear(model.YearId);
                    db.GetTeachingPeriod(model.TeachingPeriodId);
                    ValidDate(db.Year.YearValue, db.TeachingPeriod.Month, db.TeachingPeriod.Day);

                    // Attempt to Insert new UnitOffering
                    UnitOfferingProcessor.InsertUnitOffering(
                        model.UnitId,
                        model.TeachingPeriodId,
                        model.YearId,
                        model.ConvenorId);

                    // If Insert successful return to index
                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    // Show DataLayer errors
                    ModelState.AddModelError("", e.Message);
                }
            }
            else
            {
                // Show ModelState errors
                var errors = ModelState.Values.SelectMany(v => v.Errors);
            }

            // Reload drop down lists for create
            PopulateConvenorDropDownList( );
            PopulateTeachingPeriodDropDownList( );
            PopulateUnitDropDownList( );
            PopulateYearDropDownList( );

            // return to create view
            return(View( ));
        }
コード例 #4
0
 public async Task <IActionResult> CreateUnitOffering(UnitOffering model)
 {
     try
     {
         if (await _unitOfferingRepo.CreateUnitOfferingAsync(model) >= 0)
         {
             return(RedirectToAction(nameof(ViewUnitOfferings)));
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
     }
     return(View(model));
 }
コード例 #5
0
        public async Task <IActionResult> CreateUnitOffering()
        {
            var model = new UnitOffering();
            var unit  = await _unitOfferingRepo.GetUnitListAsync();

            var sp = await _unitOfferingRepo.GetStudyPeriodListAsync();

            var emp = await _unitOfferingRepo.GetEmployeesAsync();

            //employee logic here
            model.Unit_List    = unit.ToList();
            model.SP_List      = sp.ToList();
            model.employeeList = emp.ToList();
            return(View(model));
        }
        public ActionResult Delete(UnitOffering unitoffering)
        {
            // Make sure the user is logged in and that they have permission
            if (!IsUserLoggedIn)
            {
                return(RedirectToLogin());
            }
            if (!UserHasPermission(PermissionName.UnitOffering))
            {
                return(RedirectToPermissionDenied());
            }

            try
            {
                // Find UnitOffering
                db.GetUnitOffering(unitoffering.UnitOfferingId);
                var date = new DateTime(db.UnitOffering.Year.YearValue, db.UnitOffering.TeachingPeriod.Month, db.UnitOffering.TeachingPeriod.Day);

                // Ensure commencement date is not in past.
                if (date < DateTime.Now)
                {
                    throw new DataException("Cannot remove Unit Offering which has already commenced.");
                }

                // Ensure UnitOffering has no enrollments
                if (db.UnitOffering.Enrollments.Any( ))
                {
                    throw new DataException("Cannot Delete Unit Offering containing Enrollments");
                }

                // Attempt to delete UnitOffering
                int rowsDeleted = UnitOfferingProcessor.DeleteUnitOffering(unitoffering.UnitOfferingId);
                if (rowsDeleted <= 0)
                {
                    throw new DataException("Unable to Delete UnitOffering.");
                }

                // If delete successful return to Index
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                // Show any errors
                ModelState.AddModelError("", e.Message);
            }
            // If unsuccessful return to View
            return(View(db));
        }
コード例 #7
0
        public async Task <IActionResult> EditUnitOffering(UnitOffering model)
        {
            var studyPeriods = await _unitOfferingRepo.GetStudyPeriodListAsync();

            var units = await _unitOfferingRepo.GetUnitListAsync();

            var emp = await _unitOfferingRepo.GetEmployeesAsync();

            model.SP_List      = studyPeriods.ToList();
            model.employeeList = emp.ToList();
            model.Unit_List    = units.ToList();

            if (await _unitOfferingRepo.EditUnitOffering(model) >= 0)
            {
                return(RedirectToAction(nameof(ViewUnitOfferings)));
            }

            return(View(model));
        }