コード例 #1
0
        // GET: Reports/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Report report = db.Reports.Find(id);

            if (report == null)
            {
                return(HttpNotFound());
            }
            //本人の日報でなければ表示しないように、それをEdit.cshtmlにTempDataで伝える
            if (report.EmployeeId != User.Identity.GetUserId())
            {
                TempData["wrong_person"] = "true";
            }
            ReportEditViewModel editViewModel = new ReportEditViewModel()
            {
                Id            = report.Id,
                ReportDate    = report.ReportDate,
                WorkTime      = report.WorkTime,
                LeaveTime     = report.LeaveTime,
                CliantCompany = report.CliantCompany,
                CliantPIC     = report.CliantPIC,
                CliantStatus  = report.CliantStatus,
                Title         = report.Title,
                Content       = report.Content
            };

            return(View(editViewModel));
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="viewModel"></param>
        /// <returns></returns>
        public async Task EditByViewModelAsync(ReportEditViewModel viewModel)
        {
            var report = await FindByIdAsync(viewModel.Id);

            _mapper.Map(viewModel, report);

            await _unitOfWork.SaveAllChangesAsync(auditUserId : _httpContextManager.CurrentUserId());
        }
コード例 #3
0
        public ActionResult Edit([Bind(Include = "Id,ReportDate,WorkTime,LeaveTime,CliantCompany,CliantPIC,CliantStatus,Title,Content")] ReportEditViewModel editViewModel)
        {
            if (ModelState.IsValid)
            {
                Report report = db.Reports.Find(editViewModel.Id);
                report.ReportDate      = editViewModel.ReportDate;
                report.WorkTime        = new DateTime(report.ReportDate.Value.Year, report.ReportDate.Value.Month, report.ReportDate.Value.Day, editViewModel.WorkTime.Value.Hour, editViewModel.WorkTime.Value.Minute, editViewModel.WorkTime.Value.Second);
                report.LeaveTime       = new DateTime(report.ReportDate.Value.Year, report.ReportDate.Value.Month, report.ReportDate.Value.Day, editViewModel.LeaveTime.Value.Hour, editViewModel.LeaveTime.Value.Minute, editViewModel.LeaveTime.Value.Second);
                report.Title           = editViewModel.Title;
                report.CliantCompany   = editViewModel.CliantCompany;
                report.CliantPIC       = editViewModel.CliantPIC;
                report.CliantStatus    = editViewModel.CliantStatus;
                report.Content         = editViewModel.Content;
                report.UpdatedAt       = DateTime.Now;
                db.Entry(report).State = EntityState.Modified;
                db.SaveChanges();

                //TempDataにフラッシュメッセージを入れておく
                TempData["flush"] = "日報を編集しました";
                return(RedirectToAction("Index"));
            }
            return(View(editViewModel));
        }
コード例 #4
0
        public virtual async Task <ActionResult> Edit(ReportEditViewModel viewModel)
        {
            await _reportService.EditByViewModelAsync(viewModel);

            return(RedirectToAction(MVC.Report.List()));
        }
コード例 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public virtual async Task <ActionResult> Edit(Guid id)
        {
            var viewModel = new ReportEditViewModel();

            return(View(MVC.Report.Views.Edit, viewModel));
        }