示例#1
0
        protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            string worktaskIDParam = "";

            if (NavigationContext.QueryString.TryGetValue("worktaskIDParam", out worktaskIDParam))
            {
                String projectID  = "";
                String dayDate    = "";
                String timecardID = "";
                bool   result;
                result = NavigationContext.QueryString.TryGetValue("projectID", out projectID);
                result = NavigationContext.QueryString.TryGetValue("timecardID", out timecardID);
                result = NavigationContext.QueryString.TryGetValue("dayDate", out dayDate);

                DateTime dayDateTime;
                bool     dateConvertResult = DateTime.TryParse(dayDate, out dayDateTime);

                workTaskViewModel            = App.AppViewModel.GetWorkTaskViewModel(worktaskIDParam, projectID, timecardID, dayDateTime);
                appBarDeleteButton.IsEnabled = workTaskViewModel.WorktaskPageEnabled;
                appBarSaveButton.IsEnabled   = workTaskViewModel.WorktaskPageEnabled;
            }

            this.DataContext = workTaskViewModel;

            // Call the base method, to execute the rest of the navigation event
            base.OnNavigatedTo(e);
        }
示例#2
0
        public ActionResult Edit(WorktaskViewModel worktask)
        {
            int currentUID = AccountHelper.GetCurrentUser(User.Identity.Name).UID;

            if (ModelState.IsValid)
            {
                //Compare data of new and old object for saving to history
                var oldObject = repository.Worktasks.Where(x => x.WorktaskID == worktask.WorktaskID).FirstOrDefault();
                oldObject = repository.Detail(oldObject.WorktaskID);
                if (oldObject != null)
                {
                    oldObject.loadMetaInfo(repository, accRepository);
                    worktask = (WorktaskViewModel)WorktaskService.GetInstance().loadMetaInfoFromRequest(worktask, Request);
                    worktask.loadMetaInfo(repository, accRepository);
                    List <DiffInfo> diffInfos = worktask.Compare(oldObject);
                    var             diff      = CompareObjExtensions.GenerateDiff("Cập nhật", diffInfos, currentUID, oldObject.WorktaskID);
                    if (repository.SaveWorktask(worktask))
                    {
                        if (repository.SaveHistory(diff))
                        {
                            TempData["message"] = string.Format("Thông tin công việc {0} lưu thành công!", worktask.Identify);
                            return(Json(new
                            {
                                taskId = worktask.WorktaskID,
                                success = true,
                                message = TempData["message"],
                                redirectUrl = Url.Action("Detail", new { taskcode = worktask.Identify })
                            }, JsonRequestBehavior.AllowGet));
                        }
                    }
                }

                TempData["message"] = string.Format("Lưu không thành công");
                return(Json(new { taskId = 0, success = false, message = TempData["message"] }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                TempData["message"] = string.Format(GetModelErrorMessages(ModelState));
                return(Json(new { taskId = 0, success = false, message = TempData["message"] }, JsonRequestBehavior.AllowGet));
            }
        }