public ActionResult RemoveMember(EnterpriseGroupMemberViewModel viewModel)
        {
            ViewBag.ViewModel = viewModel;

            var item = models.GetTable <EnterpriseCourseMember>().Where(m => m.ContractID == viewModel.ContractID &&
                                                                        m.UID == viewModel.UID).FirstOrDefault();

            if (item == null)
            {
                return(Json(new { result = false, message = "資料錯誤!!" }, JsonRequestBehavior.AllowGet));
            }

            try
            {
                models.ExecuteCommand(@"DELETE FROM RegisterLesson
                        FROM     EnterpriseCourseContract INNER JOIN
                                    RegisterLessonEnterprise ON EnterpriseCourseContract.ContractID = RegisterLessonEnterprise.ContractID INNER JOIN
                                    RegisterLesson ON RegisterLessonEnterprise.RegisterID = RegisterLesson.RegisterID
                        WHERE   (EnterpriseCourseContract.ContractID = {0}) AND (RegisterLesson.UID = {1})", item.ContractID, item.UID);

                models.DeleteAny <EnterpriseCourseMember>(m => m.ContractID == viewModel.ContractID &&
                                                          m.UID == viewModel.UID);

                return(Json(new { result = true }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                return(Json(new { result = false, message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult CommitMember(EnterpriseGroupMemberViewModel viewModel)
        {
            if (!viewModel.UID.HasValue)
            {
                return(View("~/Views/Shared/JsAlert.cshtml", model: "請選擇學員!!"));
            }

            var item = models.GetTable <EnterpriseCourseContract>().Where(c => c.ContractID == viewModel.ContractID).FirstOrDefault();

            if (item == null)
            {
                return(View("~/Views/Shared/JsAlert.cshtml", model: "合約資料錯誤!!"));
            }

            try
            {
                var member = item.EnterpriseCourseMember.Where(m => m.UID == viewModel.UID).FirstOrDefault();
                if (member == null)
                {
                    member = new EnterpriseCourseMember
                    {
                        ContractID = item.ContractID,
                        UID        = viewModel.UID.Value
                    };

                    models.GetTable <EnterpriseCourseMember>().InsertOnSubmit(member);
                    models.SubmitChanges();
                }

                checkMemberLesson(member);

                var groupMember = item.EnterpriseCourseMember.Where(m => m.UID == viewModel.GroupUID).FirstOrDefault();
                if (groupMember != null)
                {
                    if (groupMember.GroupingLesson == null)
                    {
                        groupMember.GroupingLesson = new GroupingLesson {
                        };
                    }
                    member.GroupingLesson = groupMember.GroupingLesson;
                    models.SubmitChanges();

                    matchGroup(groupMember, member);
                }

                return(Json(new { result = true }));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                return(Json(new { result = false, message = ex.Message }));
            }
        }
 public ActionResult AddMember(EnterpriseGroupMemberViewModel viewModel)
 {
     ViewBag.ViewModel = viewModel;
     return(View("~/Views/EnterpriseProgram/Module/MemberSelector.ascx"));
 }