//public async Task<ActionResult> MentoringTotalReportList(SelectedMentorTotalReportParmModel param, string curPage)
        //{
        //    ViewBag.LeftMenu = Global.MentoringReport;

        //    var mentorId = Session[Global.LoginID].ToString();

        //    //사업 DropDown List Data
        //    var bizWorkDropDown = await MakeBizWork(mentorId, param.BizWorkYear);
        //    SelectList bizList = new SelectList(bizWorkDropDown, "BizWorkSn", "BizWorkNm");
        //    ViewBag.SelectBizWorkList = bizList;

        //    //기업 DropDwon List Data
        //    var compInfoDropDown = await MakeBizComp(mentorId, param.BizWorkSn, param.BizWorkYear);
        //    SelectList compInfoList = new SelectList(compInfoDropDown, "CompSn", "CompNm");
        //    ViewBag.SelectCompInfoList = compInfoList;

        //    //사업년도 DownDown List Data
        //    var bizWorkYearDropDown = MakeBizYear(2015);
        //    SelectList bizWorkYear = new SelectList(bizWorkYearDropDown, "Value", "Text");
        //    ViewBag.SelectBizWorkYearList = bizWorkYear;

        //    //검색조건을 유지하기 위한
        //    ViewBag.SelectParam = param;

        //    //실제 쿼리
        //    int pagingSize = int.Parse(ConfigurationManager.AppSettings["PagingSize"]);

        //    var pagedListscMentoringTotalReport = await _scMentoringTotalReportService.GetPagedListMentoringTotalReportAsync(int.Parse(curPage ?? "1"), pagingSize, mentorId, param.BizWorkYear, param.BizWorkSn, param.CompSn);

        //    //맨토링 종합 레포트 정보 조회
        //    var listTotalReportView =
        //       Mapper.Map<List<MentoringTotalReportViewModel>>(pagedListscMentoringTotalReport);

        //    return View(new StaticPagedList<MentoringTotalReportViewModel>(listTotalReportView, int.Parse(curPage ?? "1"), pagingSize, pagedListscMentoringTotalReport.TotalItemCount));

        //}
        //#endregion


        #region 멘토 일지
        public async Task <ActionResult> MentoringReportList(SelectedMentorReportParmModel param, string curPage)
        {
            ViewBag.naviLeftMenu = Global.MentoringReport;

            var mentorId = Session[Global.LoginID].ToString();

            SqlParameter loginId = new SqlParameter("LOGIN_ID", Session[Global.LoginID].ToString());

            object[] parameters = new object[] { loginId };
            var      compList   = await procMngService.getCompMapping(parameters);

            // 기업명 List
            var compDropDown = Mapper.Map <List <MentoringReportViewModel> >(compList);

            MentoringReportViewModel title = new MentoringReportViewModel();

            title.CompSn = 0;
            title.CompNm = "기업 선택";
            compDropDown.Insert(0, title);

            SelectList compListSelect = new SelectList(compDropDown, "CompSn", "CompNm");

            ViewBag.SelectCompList = compListSelect;


            // 매핑 되어있지 않은 Mentor는 compSn이 없기때문에 우선은 단순 View만 보여줌
            if (compList.Count > 0)
            {
                // MENTOR_ID, COMP_SN을 추출하여 해당 파일 LIST 조회
                SqlParameter loginId2    = new SqlParameter("LOGIN_ID", Session[Global.LoginID].ToString());
                SqlParameter compSn      = new SqlParameter("COMP_SN", compList[0].COMP_SN);
                object[]     parameters2 = new object[] { loginId2, compSn };
                var          compSnList  = await procMngService.getMentoringReport(parameters2);

                var mentoringList = compSnList.Where(bw => bw.CLASSIFY == "A");

                var listTotalReportView =
                    Mapper.Map <List <MentoringReportViewModel> >(mentoringList);

                //검색조건을 유지하기 위한+
                ViewBag.SelectParam = param;

                //맨토링 일지 정보 조회
                int pagingSize = int.Parse(ConfigurationManager.AppSettings["PagingSize"]);
                //var pagedListscMentoringReport = await _scMentoringReportService.GetPagedListMentoringReportAsync(int.Parse(curPage ?? "1"), pagingSize, mentorId, param.BizWorkYear, param.BizWorkSn, param.CompSn);

                return(View(new StaticPagedList <MentoringReportViewModel>(listTotalReportView, int.Parse(curPage ?? "1"), pagingSize, listTotalReportView.Count)));
            }
            else
            {
                return(View());
            }
        }
        public async Task <ActionResult> RegMentoringReport()
        {
            ViewBag.naviLeftMenu = Global.MentoringReport;

            SqlParameter loginId = new SqlParameter("LOGIN_ID", Session[Global.LoginID].ToString());

            object[] parameters = new object[] { loginId };
            var      compList   = await procMngService.getCompMapping(parameters);

            // 기업명 List
            var compDropDown = Mapper.Map <List <MentoringReportViewModel> >(compList);

            MentoringReportViewModel title = new MentoringReportViewModel();

            title.CompSn = 0;
            title.CompNm = "기업 선택";
            compDropDown.Insert(0, title);

            SelectList compListSelect = new SelectList(compDropDown, "CompSn", "CompNm");

            ViewBag.SelectCompList = compListSelect;

            // 멘토링 분야 ( con_code )
            //var conCodeDropDown = Mapper.Map<List<MentoringReportViewModel>>(compList);

            //MentoringReportViewModel title2 = new MentoringReportViewModel();
            //title2.ConCode = "분야 선택";

            //conCodeDropDown.Insert(0, title2);

            //SelectList ConCodeListSelect = new SelectList(conCodeDropDown, "ConCode", "ConCode");
            //ViewBag.SelectConCodeList = ConCodeListSelect;

            // MENTOR_ID, COMP_SN을 추출하여 해당 파일 LIST 조회

            if (compList.Count != 0)
            {
                //SqlParameter loginId2 = new SqlParameter("LOGIN_ID", Session[Global.LoginID].ToString());
                //SqlParameter compSn = new SqlParameter("COMP_SN", compList[0].COMP_SN);

                //object[] parameters2 = new object[] { loginId2, compSn };
                //var compSnList = await procMngService.getMentoringReport(parameters2);
                //var mentoringTitleList = compSnList.Where(bw => bw.CLASSIFY == "A").Select(bw => bw.MENTORING_SUBJECT).ToList();
            }

            return(View());
        }
        public async Task <ActionResult> ModifyMentoringReport(MentoringReportViewModel dataRequestViewModel, string deleteFileSns, IEnumerable <HttpPostedFileBase> files)
        {
            ViewBag.LeftMenu = Global.MentoringReport;

            var mentorId = Session[Global.LoginID].ToString();

            if (ModelState.IsValid)
            {
                var scMentoringReport = await _scMentoringReportService.GetMentoringReportById(dataRequestViewModel.ReportSn);

                scMentoringReport.Attendee          = dataRequestViewModel.Attendee;
                scMentoringReport.BizWorkSn         = dataRequestViewModel.BizWorkSn;
                scMentoringReport.CompSn            = dataRequestViewModel.CompSn;
                scMentoringReport.MentorAreaCd      = dataRequestViewModel.MentorAreaCd;
                scMentoringReport.MentoringContents = dataRequestViewModel.MentoringContents;
                scMentoringReport.MentoringDt       = dataRequestViewModel.MentoringDt;
                scMentoringReport.MentoringEdHr     = dataRequestViewModel.MentoringEdHr;
                scMentoringReport.MentoringPlace    = dataRequestViewModel.MentoringPlace;
                scMentoringReport.MentoringStHr     = dataRequestViewModel.MentoringStHr;
                scMentoringReport.MentoringSubject  = dataRequestViewModel.MentoringSubject;
                scMentoringReport.SubmitDt          = dataRequestViewModel.SubmitDt;

                scMentoringReport.UpdId = mentorId;
                scMentoringReport.UpdDt = DateTime.Now;

                //삭제파일 상태 업데이트

                if (!string.IsNullOrEmpty(deleteFileSns.Trim()))
                {
                    foreach (var deleteFileSn in deleteFileSns.Split(',').AsEnumerable())
                    {
                        scMentoringReport.ScMentoringFileInfoes.Select(mtfi => mtfi.ScFileInfo).Where(fi => fi.FileSn == int.Parse(deleteFileSn)).FirstOrDefault().Status = "D";
                    }
                }

                //첨부파일
                if (files != null)
                {
                    var fileHelper = new FileHelper();
                    foreach (var file in files)
                    {
                        if (file != null)
                        {
                            var savedFileName = fileHelper.GetUploadFileName(file);

                            var subDirectoryPath = Path.Combine(FileType.Mentoring_Report.ToString(), DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString());

                            var savedFilePath = Path.Combine(subDirectoryPath, savedFileName);

                            var scFileInfo = new ScFileInfo {
                                FileNm = Path.GetFileName(file.FileName), FilePath = savedFilePath, Status = "N", RegId = Session[Global.LoginID].ToString(), RegDt = DateTime.Now
                            };

                            var scMentoringFileInfo = new ScMentoringFileInfo {
                                ScFileInfo = scFileInfo
                            };

                            //파일타입에 따라 재정의해서 넣어야 함(첨부파일, 사진)
                            scMentoringFileInfo.Classify = fileHelper.HasImageFile(file) ? "P" : "A";

                            scMentoringReport.ScMentoringFileInfoes.Add(scMentoringFileInfo);

                            await fileHelper.UploadFile(file, subDirectoryPath, savedFileName);
                        }
                    }
                }

                //수정
                await _scMentoringReportService.ModifyScMentoringReportAsync(scMentoringReport);

                return(RedirectToAction("MentoringReportList", "MentoringReport"));
            }
            ModelState.AddModelError("", "입력값 검증 실패.");
            return(View(dataRequestViewModel));
        }
        public async Task <ActionResult> RegMentoringReport(MentoringReportViewModel dataRequestViewModel, IEnumerable <HttpPostedFileBase> files)
        {
            ViewBag.naviLeftMenu = Global.MentoringReport;

            var mentorId = Session[Global.LoginID].ToString();

            SqlParameter loginId = new SqlParameter("LOGIN_ID", Session[Global.LoginID]); // sql 파라미터 값 설정

            object[] parameters = new object[] { loginId };                               // 객체에 데이터 삽입

            var obj = await procMngService.getCompMapping(parameters);                    // 해당 기업과 관련된 리스트데이터 가져오기

            var usrViews = Mapper.Map <List <MentoringReportViewModel> >(obj);

            //if (ModelState.IsValid)
            //{
            var scMentoringReport = Mapper.Map <ScMentoringReport>(dataRequestViewModel);

            //var comp = usrViews[0].CompSn;

            scMentoringReport.MentorId = mentorId;
            scMentoringReport.RegId    = mentorId;
            scMentoringReport.RegDt    = DateTime.Now;
            scMentoringReport.Status   = "N";
            scMentoringReport.CompSn   = scMentoringReport.CompSn;

            var compInfo = await _vcCompInfoService.getVcCompInfoByCompSn(scMentoringReport.CompSn ?? default(int));


            // ConCode, NumSn, SubNumSn 자동 할당

            // MentorId로 해당 기업의 num_sn, sub_num_sn을 가져온다
            SqlParameter compSn2  = new SqlParameter("COMP_SN", scMentoringReport.CompSn);
            SqlParameter loginId2 = new SqlParameter("LOGIN_ID", Session[Global.LoginID].ToString());

            object[] parameters2 = new object[] { compSn2, loginId2 };

            var compList = await procMngService.getMentorCompNumSn(parameters2);

            var mentorLoginKey = Session[Global.LoginID].ToString();
            var mentorInfo     = await _vcUsrService.getMentorInfoById(mentorLoginKey);

            var baSn = mentorInfo.BaSn;

            //var conCodeInfo = await _vcMentorMappingService.getConcodeInfo(dataRequestViewModel.CompSn, baSn, mentorInfo.MentorSn, compList[0].NUM_SN, compList[0].SUB_NUM_SN);
            scMentoringReport.NumSn    = compList[0].NUM_SN;
            scMentoringReport.SubNumSn = compList[0].SUB_NUM_SN;
            scMentoringReport.ConCode  = compList[0].CON_CODE;

            //첨부파일
            if (files != null)
            {
                var fileHelper = new FileHelper();
                foreach (var file in files)
                {
                    if (file != null)
                    {
                        //var compSn = usrViews[cnt].CompSn;

                        var savedFileName = fileHelper.GetUploadFileName(file);

                        var subDirectoryPath = Path.Combine(FileType.Mentoring_Report.ToString(), DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString());

                        var savedFilePath = Path.Combine(subDirectoryPath, savedFileName);

                        var tcmsLoginKey    = Session[Global.LoginID].ToString();
                        var tcmsLoginKeyCon = int.Parse(tcmsLoginKey);

                        var mentorUsrInfo = await _vcUsrService.getUsrInfoByTcmsKey(tcmsLoginKeyCon);

                        var mentorIdInfo = mentorUsrInfo.LoginId;

                        var scFileInfo = new ScFileInfo {
                            FileNm = Path.GetFileName(file.FileName), FilePath = savedFilePath, Status = "N", RegId = mentorIdInfo, RegDt = DateTime.Now
                        };

                        var scMentoringFileInfo = new ScMentoringFileInfo {
                            ScFileInfo = scFileInfo
                        };

                        //파일타입에 따라 재정의해서 넣어야 함(첨부파일, 사진)
                        scMentoringFileInfo.Classify = fileHelper.HasImageFile(file) ? "P" : "A";

                        scMentoringReport.RegId    = mentorIdInfo;
                        scMentoringReport.MentorId = mentorIdInfo;

                        scMentoringReport.ScMentoringFileInfoes.Add(scMentoringFileInfo);

                        await fileHelper.UploadFile(file, subDirectoryPath, savedFileName);
                    }
                }
            }

            //저장
            int result = await _scMentoringReportService.AddScMentoringReportAsync(scMentoringReport);

            if (result != -1)
            {
                return(RedirectToAction("MentoringReportList", "MentoringReport"));
            }
            else
            {
                ModelState.AddModelError("", "자료요청 등록 실패.");
                return(View(dataRequestViewModel));
            }
            // }
            //ModelState.AddModelError("", "입력값 검증 실패.");
            //return View(dataRequestViewModel);
        }
예제 #5
0
        public async Task <ActionResult> RegMentoringReport(MentoringReportViewModel dataRequestViewModel, IEnumerable <HttpPostedFileBase> files)
        {
            ViewBag.LeftMenu = Global.MentoringReport;

            var mentorId = Session[Global.LoginID].ToString();

            if (ModelState.IsValid)
            {
                var scMentoringReport = Mapper.Map <ScMentoringReport>(dataRequestViewModel);

                scMentoringReport.MentorId = mentorId;
                scMentoringReport.RegId    = mentorId;
                scMentoringReport.RegDt    = DateTime.Now;
                scMentoringReport.Status   = "N";

                //첨부파일
                if (files != null)
                {
                    var fileHelper = new FileHelper();
                    foreach (var file in files)
                    {
                        if (file != null)
                        {
                            var savedFileName = fileHelper.GetUploadFileName(file);

                            var subDirectoryPath = Path.Combine(FileType.Mentoring_Report.ToString(), DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString());

                            var savedFilePath = Path.Combine(subDirectoryPath, savedFileName);

                            var scFileInfo = new ScFileInfo {
                                FileNm = Path.GetFileName(file.FileName), FilePath = savedFilePath, Status = "N", RegId = Session[Global.LoginID].ToString(), RegDt = DateTime.Now
                            };

                            var scMentoringFileInfo = new ScMentoringFileInfo {
                                ScFileInfo = scFileInfo
                            };

                            //파일타입에 따라 재정의해서 넣어야 함(첨부파일, 사진)
                            scMentoringFileInfo.Classify = fileHelper.HasImageFile(file) ? "P" : "A";

                            scMentoringReport.ScMentoringFileInfoes.Add(scMentoringFileInfo);

                            await fileHelper.UploadFile(file, subDirectoryPath, savedFileName);
                        }
                    }
                }

                //저장
                int result = await _scMentoringReportService.AddScMentoringReportAsync(scMentoringReport);

                if (result != -1)
                {
                    return(RedirectToAction("MentoringReportList", "MentoringReport"));
                }
                else
                {
                    ModelState.AddModelError("", "자료요청 등록 실패.");
                    return(View(dataRequestViewModel));
                }
            }
            ModelState.AddModelError("", "입력값 검증 실패.");
            return(View(dataRequestViewModel));
        }