Ejemplo n.º 1
0
        public ActionResult ClassDetail(string id)
        {
            UnitOfWork     uow         = new UnitOfWork();
            ClassEditModel classDetail = uow.TeacherRepository.GetClassDetail(id);

            return(View(classDetail));
        }
Ejemplo n.º 2
0
        public ActionResult Invite(InviteStudentModel model)
        {
            UnitOfWork  uow          = new UnitOfWork();
            List <User> searcResults = uow.Users.Get(x => x.UserRole == (int)UserRoles.Student && x.FirstName.Contains(model.SearchKeyword) ||
                                                     x.LastName.Contains(model.SearchKeyword) || x.Email.Contains(model.SearchKeyword)).ToList();

            model.Students = searcResults;
            ClassEditModel classDetail = uow.TeacherRepository.GetClassData(model.ClassID);

            model.ClassTitle = classDetail.Title;
            model.ClassID    = classDetail.ClassId;
            if (!string.IsNullOrEmpty(model.StudentID))
            {
                if (CreateInviteStudentClass(model.StudentID, model.ClassID, model.ClassTitle))
                {
                    ModelState.AddModelError("success", Resources.Resources.MsgStudentInvited);
                }
                else
                {
                    ModelState.AddModelError("success", Resources.Resources.LblMultipleStudentError);
                }
            }

            ModelState.AddModelError("success", Resources.Resources.MsgStudentInvited);
            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult Detail(string id)
        {
            UnitOfWork     uow   = new UnitOfWork();
            ClassEditModel model = uow.TeacherRepository.GetClassData(id);

            using (var client = new HttpClient())
            {
                var response = client.PostAsync("https://api.braincert.com/v2/getclassreport?apikey=EBqafLB3sAk1HeCDxr4Z&format=json&classId=" + model.BrainCertId + "", null).Result;
                response.EnsureSuccessStatusCode();
                string responseBody = response.Content.ReadAsStringAsync().Result;
                if (!responseBody.Contains("error"))
                {
                    List <AttendanceReport>      myProduct = JsonConvert.DeserializeObject <List <AttendanceReport> >(responseBody);
                    List <AttendanceReport>      students  = myProduct.Where(a => a.isTeacher == 0).ToList();
                    List <AttendenceReportModel> listRep   = new List <AttendenceReportModel>();
                    for (int i = 0; i < students.Count; i++)
                    {
                        AttendenceReportModel attenReport = uow.TeacherRepository.GetUserInfo(students[i].userId, id);
                        if (attenReport != null)
                        {
                            decimal dec = Convert.ToDecimal(TimeSpan.Parse(students[i].duration).TotalHours);
                            attenReport.CreditsConsumed = String.Format("{0:0.00}", dec);
                            attenReport.CreditsRefund   = String.Format("{0:0.00}", attenReport.CreditsUsed - dec);
                            listRep.Add(attenReport);
                        }
                    }
                    ViewBag.Attendence = listRep;
                }
                else
                {
                    return(RedirectToAction("classes", "tutor"));
                }
            }
            return(View(model));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 更新班级信息
        /// </summary>
        /// <param name="newClassEditModel">需要更新的班级信息</param>
        public ClassEditModel Update(ClassEditModel newClassEditModel)
        {
            try
            {
                Repository <classes> classesDal = _unitOfWork.GetRepository <classes>();
                classes classentity             = classesDal.GetObjectByKey(newClassEditModel.Id).Entity;
                if (classentity != null)
                {
                    classentity.class_name = newClassEditModel.Name;
                    classentity.class_type = newClassEditModel.TypeId;
                    classentity.end_date   = newClassEditModel.EndDate;
                    classentity.last_count = newClassEditModel.LastCount;
                    classentity.start_date = newClassEditModel.StartDate;
                    classentity.is_active  = newClassEditModel.IsActive;
                }
                _unitOfWork.AddAction(classentity, DataActions.Update);
                _unitOfWork.Save();

                return(newClassEditModel);
            }
            catch (RepositoryException rex)
            {
                string msg    = rex.Message;
                string reason = rex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
            catch (Exception ex)
            {
                string msg    = ex.Message;
                string reason = ex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
        }
Ejemplo n.º 5
0
        private async void MetroWindow_Loaded(object sender, RoutedEventArgs e)
        {
            string         strErrorMsg    = string.Empty;
            ClassEditModel classEditModel = new ClassEditModel();

            try
            {
                classTypeAsyncProxy = await Task.Run(() => ServiceHelper.GetClassTypeService());

                classesAsyncProxy = await Task.Run(() => ServiceHelper.GetClassService());

                IList <ClassTypeModel> classTypeLists = await classTypeAsyncProxy.CallAsync(c => c.GetAllClassType());

                this.cmbClassType.ItemsSource = classTypeLists;

                if (this.classTypeId != 0)
                {
                    classTypeModel = await classTypeAsyncProxy.CallAsync(c => c.GetClassTypeById(classTypeId));
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "初始化界面失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);

                return;
            }

            if (Om == OperationMode.AddMode)
            {
                this.Title        = "新增班级";
                txtName.IsEnabled = true;
                BindClassInfo();
            }
            else
            {
                this.Title = "修改班级";
                //txtName.IsEnabled = false;
                BindClassInfo();
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 创建班级信息
        /// </summary>
        /// <param name="newClassEditModel">需要创建的班级信息</param>
        public ClassEditModel Add(ClassEditModel newClassEditModel)
        {
            try
            {
                classes classentity = new classes();

                classentity.class_name = newClassEditModel.Name;
                classentity.class_type = newClassEditModel.TypeId;
                classentity.end_date   = newClassEditModel.EndDate;
                classentity.last_count = newClassEditModel.LastCount;
                classentity.start_date = newClassEditModel.StartDate;
                classentity.is_active  = newClassEditModel.IsActive;

                _unitOfWork.AddAction(classentity, DataActions.Add);
                _unitOfWork.Save();
                newClassEditModel.Id = classentity.class_id;

                return(newClassEditModel);
            }
            catch (RepositoryException rex)
            {
                string msg    = rex.Message;
                string reason = rex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
            catch (Exception ex)
            {
                string msg    = ex.Message;
                string reason = ex.StackTrace;
                throw new FaultException <LCFault>
                          (new LCFault(msg), reason);
            }
        }
Ejemplo n.º 7
0
 public ClassEditModel GetClassById(int id)
 {
     try
     {
         ClassEditModel       classEditModel = new ClassEditModel();
         Repository <classes> classesDal     = _unitOfWork.GetRepository <classes>();
         classes classEntity = classesDal.GetObjectByKey(id).Entity;
         if (classEntity != null)
         {
             classEditModel.InitEditModel(classEntity);
         }
         return(classEditModel);
     }
     catch (RepositoryException rex)
     {
         string msg    = rex.Message;
         string reason = rex.StackTrace;
         throw new FaultException <LCFault>
                   (new LCFault(msg), reason);
     }
     catch (Exception ex)
     {
         string msg    = ex.Message;
         string reason = ex.StackTrace;
         throw new FaultException <LCFault>
                   (new LCFault(msg), reason);
     }
 }
Ejemplo n.º 8
0
        public ActionResult Invite(string id)
        {
            UnitOfWork         uow         = new UnitOfWork();
            ClassEditModel     classDetail = uow.TeacherRepository.GetClassData(id);
            InviteStudentModel model       = new InviteStudentModel();

            model.ClassTitle = classDetail.Title;
            model.ClassID    = classDetail.ClassId;
            return(View(model));
        }
Ejemplo n.º 9
0
        public ActionResult Edit(string c)
        {
            UnitOfWork uow = new UnitOfWork();

            ViewBag.Subjects     = new SelectList(uow.Subjects.Get(), "SubjectID", "SubjectName");
            ViewBag.SessionTypes = GetSessionTypes();
            ClassEditModel model = uow.TeacherRepository.GetClassData(c);

            return(View(model));
        }
Ejemplo n.º 10
0
        private async void BindClassInfo()
        {
            string strErrorMsg = string.Empty;

            try
            {
                if (classId != 0)
                {
                    //选择了修改模式
                    classEditModel = await classesAsyncProxy.CallAsync(c => c.GetClassById(this.classId));

                    txtName.Text         = classEditModel.Name;
                    cmbClassType.Text    = classEditModel.TypeName;
                    dateStart.Text       = classEditModel.StartDate.ToString("MM/dd/yyyy");
                    dateEnd.Text         = classEditModel.EndDate.ToString("MM/dd/yyyy");
                    numLastCount.Value   = classEditModel.LastCount;
                    cbIsActive.IsChecked = classEditModel.IsActive;
                }
                else
                {
                    //新增模式
                    if (cmbClassType.Items.Count > 0)
                    {
                        cmbClassType.Text    = classTypeModel.Name;
                        numLastCount.Value   = classTypeModel.TotalLessons;
                        cbIsActive.IsChecked = true;
                    }
                }
            }
            catch (TimeoutException timeProblem)
            {
                strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
            }
            catch (FaultException <LCFault> af)
            {
                strErrorMsg = af.Detail.Message;
            }
            catch (FaultException unknownFault)
            {
                strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
            }
            catch (CommunicationException commProblem)
            {
                strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
            }
            catch (Exception ex)
            {
                strErrorMsg = ex.Message;
            }
            if (strErrorMsg != string.Empty)
            {
                await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "绑定班级信息失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
            }
        }
Ejemplo n.º 11
0
 /// <summary>
 /// 删除班级信息
 /// </summary>
 /// <param name="deleteUserModel">删除班级信息</param>
 public bool Delete(ClassEditModel deleteClassEditModel)
 {
     try
     {
         return(DeleteById(deleteClassEditModel.Id));
     }
     catch (RepositoryException rex)
     {
         string msg    = rex.Message;
         string reason = rex.StackTrace;
         throw new FaultException <LCFault>
                   (new LCFault(msg), reason);
     }
     catch (Exception ex)
     {
         string msg    = ex.Message;
         string reason = ex.StackTrace;
         throw new FaultException <LCFault>
                   (new LCFault(msg), reason);
     }
 }
Ejemplo n.º 12
0
        public async Task <ActionResult> Edit(ClassEditModel model)
        {
            //using (var client = new HttpClient())
            //{
            //    var response = await client.PostAsync("https://api.braincert.com/v2/getclasslaunch?apikey=EBqafLB3sAk1HeCDxr4Z&class_id="+model.BrainCertId+ "&userId=1122&isTeacher=1&&userName=Faisal&lessonName=hha&courseName=dfdf", null);
            //    response.EnsureSuccessStatusCode();
            //    string responseBody = await response.Content.ReadAsStringAsync();
            //}

            UnitOfWork uow = new UnitOfWork();
            Class      cls = uow.Classes.Get(a => a.Id == model.Id).FirstOrDefault();

            if (cls != null)
            {
                bool record = false;
                if (model.Record == "1")
                {
                    record = true;
                }
                string   datae  = model.ClassDate + " " + model.ClassTime.Insert(model.ClassTime.Length - 2, " ");
                DateTime combDT = DateTime.ParseExact(datae, "dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture);
                cls.SubjectID   = model.SubjectId;
                cls.Title       = model.Title;
                cls.ClassDate   = combDT;
                cls.StartTime   = model.ClassTime;
                cls.Description = model.Description;
                cls.Duration    = model.Duration;
                cls.Type        = model.Type;
                cls.UpdateDate  = DateTime.Now;
                cls.Record      = record;
                //uow.Classes.Update(cls);
                //uow.Save();
            }

            ViewBag.Subjects     = new SelectList(uow.Subjects.Get(), "SubjectID", "SubjectName");
            ViewBag.SessionTypes = GetSessionTypes();

            return(View(model));
        }
Ejemplo n.º 13
0
 public EditHitDie(ClassEditModel model)
 {
     BindingContext = Model = model;
     InitializeComponent();
     Model.TrackChanges = true;
 }
Ejemplo n.º 14
0
        private async void btnOK_Click(object sender, RoutedEventArgs e)
        {
            #region 新增
            if (Om == OperationMode.AddMode)
            {
                string strErrorMsg = string.Empty;
                try
                {
                    ClassEditModel newClassModel = new ClassEditModel();
                    newClassModel.Name      = txtName.Text.Trim();
                    newClassModel.TypeId    = (cmbClassType.SelectedItem as ClassTypeModel).Id;
                    newClassModel.LastCount = Convert.ToInt16(numLastCount.Value);
                    newClassModel.StartDate = dateStart.DisplayDate;
                    newClassModel.EndDate   = dateEnd.DisplayDate;
                    newClassModel.IsActive  = cbIsActive.IsChecked.Value;

                    newClassModel = await classesAsyncProxy.CallAsync(c => c.Add(newClassModel));

                    this.ShowAutoCloseDialogOwter(UIResources.MsgInfo, "新增班级成功!");
                    this.DialogResult = true;
                }
                catch (TimeoutException timeProblem)
                {
                    strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
                }
                catch (FaultException <LCFault> af)
                {
                    strErrorMsg = af.Detail.Message;
                }
                catch (FaultException unknownFault)
                {
                    strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
                }
                catch (CommunicationException commProblem)
                {
                    strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
                }
                if (strErrorMsg != string.Empty)
                {
                    await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "新增班级失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
                }
            }

            #endregion

            #region 修改
            else
            {
                string strErrorMsg = string.Empty;
                try
                {
                    classEditModel.Name      = txtName.Text.Trim();
                    classEditModel.TypeId    = (cmbClassType.SelectedItem as ClassTypeModel).Id;
                    classEditModel.LastCount = Convert.ToInt16(numLastCount.Value);
                    classEditModel.StartDate = dateStart.DisplayDate;
                    classEditModel.EndDate   = dateEnd.DisplayDate;
                    classEditModel.IsActive  = cbIsActive.IsChecked.Value;

                    classEditModel = await classesAsyncProxy.CallAsync(c => c.Update(classEditModel));

                    this.ShowAutoCloseDialogOwter(UIResources.MsgInfo, "修改班级成功!");
                    this.DialogResult = true;
                }
                catch (TimeoutException timeProblem)
                {
                    strErrorMsg = timeProblem.Message + UIResources.TimeOut + timeProblem.Message;
                }
                catch (FaultException <LCFault> af)
                {
                    strErrorMsg = af.Detail.Message;
                }
                catch (FaultException unknownFault)
                {
                    strErrorMsg = UIResources.UnKnowFault + unknownFault.Message;
                }
                catch (CommunicationException commProblem)
                {
                    strErrorMsg = UIResources.ConProblem + commProblem.Message + commProblem.StackTrace;
                }
                if (strErrorMsg != string.Empty)
                {
                    await DialogManager.ShowMessageAsync(this, UIResources.MsgError, "修改班级失败!原因:" + strErrorMsg, MessageDialogStyle.Affirmative, null);
                }
            }
            #endregion
        }