public ActionResult Registration(RegistrationDTO registrationDTO, string SubjectSelected)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new ReturnFormat(400, "failed", null), JsonRequestBehavior.AllowGet));
            }
            var school = (T_DM_Truong)Session[Constant.SCHOOL_SESSION];

            if (school == null)
            {
                return(Json(new ReturnFormat(400, "failed", null), JsonRequestBehavior.AllowGet));
            }
            using (var registrationService = new HDHocTapTraiNghiemService())
            {
                Registration registration = registrationService.GetRegistrationsById(registrationDTO.Id);
                Mapper.Map(registrationDTO, registration);
                registration.SchoolName = school.TenTruong;
                registration.CreatedAt  = DateTime.Now;
                registration.SchoolId   = school.SchoolID;
                string[] arraySubject = SubjectSelected.Split(new char[] { ',' });
                var      inserted     = registrationService.UpdateRegistration(registration);
                foreach (var item in arraySubject)
                {
                    using (var subjectRegisted = new SubjectRegistedService())
                    {
                        SubjectsRegisted subjectsRegisted = new SubjectsRegisted();
                        subjectsRegisted.SubjectId      = Convert.ToInt32(item);
                        subjectsRegisted.RegistrationId = registrationDTO.Id;
                        subjectRegisted.CreateSubjectRegisted(subjectsRegisted);
                    }
                }
                return(Json(new ReturnFormat(200, "success", null), JsonRequestBehavior.AllowGet));
            }
        }
        public async Task <ActionResult> ExportHDHocTapTraiNghiem(DateTime dateFrom, DateTime dateTo)
        {
            Account account = (Account)Session[Utils.Constant.MANAGER_SESSION];

            if (account == null)
            {
                return(RedirectToRoute("login"));
            }
            using (var social = new HDHocTapTraiNghiemService())
            {
                List <Registration> registrations = social.GetRegistrations(dateFrom, dateTo);
                string fileName = string.Concat("ds-hdhoctaptrainghiem.xlsx");
                string filePath = System.Web.HttpContext.Current.Server.MapPath("~/Utils/Files/" + fileName);
                List <SubjectsRegisted> subjectsRegisteds = new List <SubjectsRegisted>();
                foreach (var item in registrations)
                {
                    using (var subjectRegistedService = new SubjectRegistedService())
                    {
                        List <SubjectsRegisted> subjectsRegistedsTmp = subjectRegistedService.GetSubjectsRegistedsByRegistrationId(item.Id);
                        foreach (var item01 in subjectsRegistedsTmp)
                        {
                            subjectsRegisteds.Add(item01);
                        }
                    }
                }
                await Utils.ExportExcel.GenerateXLSHoatDongHocTapTraiNghiem(registrations, subjectsRegisteds, dateFrom, dateTo, filePath);

                return(File(filePath, "application/vnd.ms-excel", fileName));
            }
        }
 public ActionResult GetDetail(int id)
 {
     using (var hocTapTraiNghiem = new HDHocTapTraiNghiemService())
     {
         var hoctapTN     = hocTapTraiNghiem.GetRegistrationsById(id);
         var hoctapTNJson = JsonConvert.SerializeObject(hoctapTN,
                                                        Formatting.None,
                                                        new JsonSerializerSettings()
         {
             ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
         });
         return(Json(new ReturnFormat(200, "success", hoctapTNJson), JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult GetRegistration()
        {
            var school = (T_DM_Truong)Session[Constant.SCHOOL_SESSION];

            if (school == null)
            {
                return(RedirectToRoute("login"));
            }
            using (var hDTraiNghiem = new HDHocTapTraiNghiemService())
            {
                ViewBag.Registrations = hDTraiNghiem.GetRegistrationsBySchoolId(school.SchoolID);
            }
            return(View());
        }
        public ActionResult HDHocTapTraiNghiem(DateTime dateFrom, DateTime dateTo)
        {
            var manager = (Account)Session[Constant.MANAGER_SESSION];

            if (manager == null)
            {
                return(RedirectToRoute("quanlylogin"));
            }

            var managerPersmission = (List <UserPermission>)Session[Constant.MANAGER_PERMISSION_SESSION];

            //var permission = 5;
            if (managerPersmission.Where(s => s.PermissionId == 5).FirstOrDefault() == null)
            {
                return(RedirectToRoute("quanlylogin"));
            }
            using (var registration = new HDHocTapTraiNghiemService())
            {
                ViewBag.Registrations = registration.GetRegistrations(dateFrom, dateTo);
            }
            ViewBag.DateFrom = dateFrom.ToString("dd-MM-yyyy");
            ViewBag.DateTo   = dateTo.ToString("dd-MM-yyyy");
            return(View());
        }
 public ActionResult PostFile(HttpPostedFileBase fileKeHoach, HttpPostedFileBase filebaikiemtra, HttpPostedFileBase filetailieuchohocsinh)
 {
     try
     {
         if (fileKeHoach.ContentLength > 0)
         {
             using (var social = new HDHocTapTraiNghiemService())
             {
                 string _filekehoach              = Path.GetFileName(fileKeHoach.FileName);
                 string _filebaikiemtra           = Path.GetFileName(filebaikiemtra.FileName);
                 string _filetailieuchohocsinh    = Path.GetFileName(filetailieuchohocsinh.FileName);
                 bool   existedFilekehoach        = social.CheckExistedFileKeHoach(_filekehoach);
                 bool   existedFilebaikiemtra     = social.CheckExistedFileKiemTra(_filebaikiemtra);
                 bool   existedFiletailieuhocsinh = social.CheckExistedFileTaiLieu(_filetailieuchohocsinh);
                 bool   existed   = false;
                 string errorText = "Tên file: ";
                 if (existedFilekehoach == true)
                 {
                     existed    = true;
                     errorText += "kế hoạch,";
                 }
                 if (existedFilebaikiemtra == true)
                 {
                     existed    = true;
                     errorText += "bải kiểm tra,";
                 }
                 if (existedFiletailieuhocsinh == true)
                 {
                     existed    = true;
                     errorText += "tài liệu cho học sinh,";
                 }
                 if (existed == true)
                 {
                     errorText.Remove(errorText.Length - 1);
                     errorText += " đã tồn tại. Vui lòng đặt tên khác";
                     return(Json(new ReturnFormat(409, errorText, null), JsonRequestBehavior.AllowGet));
                 }
                 string _path2 = Path.Combine(Server.MapPath("~/UploadedFiles/HoatDongHocTapTraiNghiem/FileKeHoach"), _filekehoach);
                 string _path3 = Path.Combine(Server.MapPath("~/UploadedFiles/HoatDongHocTapTraiNghiem/FileBaiKiemTra"), _filebaikiemtra);
                 string _path4 = Path.Combine(Server.MapPath("~/UploadedFiles/HoatDongHocTapTraiNghiem/FileTaiLieuChoHS"), _filetailieuchohocsinh);
                 fileKeHoach.SaveAs(_path2);
                 filebaikiemtra.SaveAs(_path3);
                 filetailieuchohocsinh.SaveAs(_path4);
                 Registration registration = new Registration();
                 registration.FileKeHoach      = _filekehoach;
                 registration.FileBaiKiemTra   = _filebaikiemtra;
                 registration.FileTaiLieuChoHS = _filetailieuchohocsinh;
                 var inserted = social.CreateRegistration(registration);
                 return(Json(new ReturnFormat(200, "success", inserted.Id), JsonRequestBehavior.AllowGet));
             }
         }
         else
         {
             return(Json(new ReturnFormat(400, "failed", null), JsonRequestBehavior.AllowGet));
         }
     }
     catch
     {
         return(Json(new ReturnFormat(400, "failed", null), JsonRequestBehavior.AllowGet));
     }
 }