예제 #1
0
        /// <summary>
        /// 更新专业班级信息
        /// </summary>
        /// <param name="webModel">专业班级编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        public static async void UpdateAsync(MajorClassEditViewModel webModel, ApplicationDbContext context)
        {
            var model = await context.MajorClass.FirstOrDefaultAsync(i => i.Id == Convert.ToInt64(webModel.Id));

            if (model == null)
            {
                return;
            }

            model = UpdateModel(webModel, model);

            //Get Foreign Key Association Table Information
            //
            var staff = await context.IdentityUser.Where(i => i.Id == Convert.ToInt64(webModel.InstructorId) && i.AccountType == 1).FirstOrDefaultAsync();

            var department = await context.Department.Where(i => i.Id == Convert.ToInt64(webModel.DepartmentId)).FirstOrDefaultAsync();

            model.InstructorId   = Convert.ToInt64(webModel.InstructorId);
            model.InstructorFK   = staff.IdentityUserOID;
            model.InstructorName = staff.Name;

            model.DepartmentId   = Convert.ToInt64(webModel.DepartmentId);
            model.DepartmentFK   = department.DepartmentOID;
            model.DepartmentName = department.Name;
        }
예제 #2
0
        /// <summary>
        /// 获取专业班级信息
        /// </summary>
        /// <param name="id">专业班级编号</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <MajorClassEditViewModel> GetMajorClassAsync(long id, ApplicationDbContext context)
        {
            var webModel = new MajorClassEditViewModel();

            try
            {
                var model = await SchoolRepository.GetMajorClassAsync(id, context);

                webModel.Id             = model.Id.ToString();
                webModel.IsEnabled      = (Enable)(model.IsEnabled ? 1 : 0);
                webModel.Name           = model.Name;
                webModel.QQ             = model.QQ;
                webModel.Wechat         = model.Wechat;
                webModel.DepartmentId   = model.DepartmentId.ToString();
                webModel.DepartmentName = model.DepartmentName;
                webModel.InstructorId   = model.InstructorId.ToString();
                webModel.InstructorName = model.InstructorName;
                webModel.MajorCode      = model.MajorCode.ToString();
                webModel.MajorName      = model.MajorName;
                webModel.SessionNum     = model.SessionNum;
            }
            catch (Exception ex)
            {
                _logger.LogError("获取专业班级数据失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
            }
            return(webModel);
        }
예제 #3
0
        /// <summary>
        /// 新增专业班级信息
        /// </summary>
        /// <param name="webModel">专业班级编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public static async Task <MajorClass> InsertAsync(MajorClassEditViewModel webModel, ApplicationDbContext context)
        {
            //Get Foreign Key Association Table Information
            //
            var staff = await context.IdentityUser.AsNoTracking().Where(i => i.Id == Convert.ToInt64(webModel.InstructorId) && i.AccountType == 1).FirstOrDefaultAsync();

            var department = await context.Department.AsNoTracking().Where(i => i.Id == Convert.ToInt64(webModel.DepartmentId)).FirstOrDefaultAsync();

            //return error
            if (staff == null || department == null)
            {
                return(new MajorClass
                {
                    Id = -1
                });
            }

            var model = InsertModel(webModel);

            model.InstructorId   = Convert.ToInt64(webModel.InstructorId);
            model.InstructorFK   = staff.IdentityUserOID;
            model.InstructorName = staff.Name;

            model.DepartmentId   = Convert.ToInt64(webModel.DepartmentId);
            model.DepartmentFK   = department.DepartmentOID;
            model.DepartmentName = department.Name;

            await context.MajorClass.AddAsync(model);

            return(model);
        }
예제 #4
0
        /// <summary>
        /// 获取编辑页面下拉列表
        /// </summary>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <MajorClassEditViewModel> GetDropDownListAsync(MajorClassEditViewModel webModel, ApplicationDbContext context)
        {
            //Get Source Data
            var departmentList = await SchoolRepository.GetDepartmentList(context);

            var staffList = await SchoolRepository.GetStaffList(context);

            if (departmentList != null && departmentList.Any())
            {
                webModel.DepartmentList = departmentList.Select(item => new DepartmentDropDown
                {
                    Id   = item.Id.ToString(),
                    Name = item.Name
                }).ToList();
            }

            if (staffList != null && staffList.Any())
            {
                webModel.StaffList = staffList.Select(item => new StaffDropDown
                {
                    Id   = item.Id.ToString(),
                    Name = item.Name
                }).ToList();
            }

            return(webModel);
        }
예제 #5
0
        public async Task <IActionResult> EditMajorClass(MajorClassEditViewModel webModel)
        {
            if (ModelState.IsValid)
            {
                bool flag;
                if (string.IsNullOrEmpty(webModel.Id))
                {
                    //Add Major Class
                    flag = await _service.InsertMajorClassAsync(webModel, _context);
                }
                else
                {
                    //Update Major Class
                    flag = await _service.UpdateMajorClassAsync(webModel, _context);
                }

                return(Json(new
                {
                    success = flag,
                    msg = flag ? "专业班级信息编辑成功" : "专业班级信息编辑失败"
                }));
            }

            return(Json(new
            {
                success = false,
                msg = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).FirstOrDefault().ErrorMessage
            }));
        }
예제 #6
0
        public async Task <IActionResult> EditMajorClass(string id)
        {
            MajorClassEditViewModel webModel = new MajorClassEditViewModel();

            if (!string.IsNullOrEmpty(id))
            {
                //编辑信息,加载部门/院系相关信息
                webModel = await _service.GetMajorClassAsync(Convert.ToInt64(id), _context);
            }

            //加载下拉列表信息
            webModel = await _service.GetDropDownListAsync(webModel, _context);

            return(View(webModel));
        }
예제 #7
0
 /// <summary>
 /// Insert Major Class Entity
 /// </summary>
 /// <param name="webModel"></param>
 /// <returns></returns>
 private static MajorClass InsertModel(MajorClassEditViewModel webModel)
 {
     return(new MajorClass
     {
         Name = webModel.Name,
         MajorCode = Convert.ToInt32(webModel.MajorCode),
         IsEnabled = (int)webModel.IsEnabled == 1,
         MajorName = webModel.MajorName,
         SessionNum = webModel.SessionNum,
         Wechat = webModel.Wechat,
         QQ = webModel.QQ,
         CreatedId = CurrentUser.UserId,
         CreatedBy = CurrentUser.UserOID,
         CreatedName = CurrentUser.UserName
     });
 }
예제 #8
0
        /// <summary>
        /// Update Major Class Entity
        /// </summary>
        /// <param name="webModel"></param>
        /// <param name="model"></param>
        private static MajorClass UpdateModel(MajorClassEditViewModel webModel, MajorClass model)
        {
            model.Name         = webModel.Name;
            model.MajorCode    = Convert.ToInt32((webModel.MajorCode));
            model.IsEnabled    = (int)webModel.IsEnabled == 1;
            model.MajorName    = webModel.MajorName;
            model.SessionNum   = webModel.SessionNum;
            model.Wechat       = webModel.Wechat;
            model.QQ           = webModel.QQ;
            model.InstructorId = Convert.ToInt64(webModel.InstructorId);
            model.DepartmentId = Convert.ToInt64(webModel.DepartmentId);
            model.ModifiedOn   = DateTime.Now;
            model.ModifiedId   = CurrentUser.UserId;
            model.ModifiedBy   = CurrentUser.UserOID;
            model.ModifiedName = CurrentUser.UserName;

            return(model);
        }
예제 #9
0
        /// <summary>
        /// 更新专业班级数据
        /// </summary>
        /// <param name="webModel">编辑页视图Model</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <bool> UpdateMajorClassAsync(MajorClassEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Update Major Class Data
                SchoolRepository.UpdateAsync(webModel, context);

                //Add Operate Information
                var operate = string.Format("修改专业班级信息,专业班级编号:{0}", webModel.Id);
                PSURepository.InsertRecordAsync("MajorClass", "SchoolDomain", "UpdateMajorClassAsync", operate, (short)PSURepository.OperateCode.Update, Convert.ToInt64(webModel.Id), context);

                var index = await context.SaveChangesAsync();

                return(index == 2);
            }
            catch (Exception ex)
            {
                _logger.LogError("更新专业班级失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }
예제 #10
0
        /// <summary>
        /// 新增专业班级信息
        /// </summary>
        /// <param name="webModel">编辑页视图Model</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <bool> InsertMajorClassAsync(MajorClassEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Add the MajorClass Data
                var model = await SchoolRepository.InsertAsync(webModel, context);

                if (model.Id == -1)
                {
                    return(false);
                }

                //Make the transaction commit
                var index = await context.SaveChangesAsync();

                return(index == 1);
            }
            catch (Exception ex)
            {
                _logger.LogError("创建新专业班级失败:{0},\r\n内部错误详细信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }