Пример #1
0
        public ActionResult MyDelete(string id)
        {
            ArtDialogResponseResult result = new ArtDialogResponseResult();

            var ids = id.ToIntList();

            if (ids.HasElements())
            {
                foreach (var item in VacationApply.Fetch("where id in (@0)", ids))
                {
                    if (CanModify(item.Status) && item.UserID == CurrUser.ID)
                    {
                        item.Delete();
                    }
                }

                result.IsSuccess = true;
            }
            else
            {
                result.IsSuccess = false;
                result.Message   = "请选择至少一条记录操作!";
            }

            return(Json(result));
        }
Пример #2
0
        public JsonResult Modify(VacationApply apply)
        {
            ArtDialogResponseResult result = new ArtDialogResponseResult();

            var old = VacationApply.Single(apply.ID);

            if (!CanModify(old.Status))
            {
                result.Message = "此申请不允许修改,请刷新再操作!";
                return(Json(result));
            }

            old.Status         = EnumVacationApplyStatus.Apply;
            old.StartTime      = apply.StartTime;
            old.EndTime        = apply.EndTime;
            old.Reason         = apply.Reason;
            old.VacationTypeID = apply.VacationTypeID;

            var msg = GetNextFlow(old.UserID.ToUser(), null);

            if (msg.IsComplete)
            {
                old.FlowID = ((VacationAuditFlow)msg.Entity).ID;
                old.Update();

                return(Json(ArtDialogResponseResult.SuccessResult));
            }
            else
            {
                result.Message = msg.Message;
                return(Json(result));
            }
        }
Пример #3
0
        public JsonResult ChangePwd(string oldPwd, string newPwd, string confirmPwd)
        {
            ArtDialogResponseResult result = new ArtDialogResponseResult();

            if (CurrUser.Password != oldPwd)
            {
                result.Message = "旧密码错误!";
            }
            else if (newPwd != confirmPwd)
            {
                result.Message = "两次密码不一致!";
            }
            else if (oldPwd == newPwd)
            {
                result.Message = "新密码不能与旧密码一样!";
            }
            else
            {
                CurrUser.IsFirstVisit = false;
                CurrUser.Password     = newPwd;
                CurrUser.Update();

                result.IsSuccess = true;
            }
            return(Json(result));
        }
Пример #4
0
        public JsonResult Audit(int id, bool isPass, string opinion)
        {
            ArtDialogResponseResult result = new ArtDialogResponseResult();

            var apply = VacationApply.Single(id);

            if (!CanAudit(apply.Status))
            {
                result.Message = "此申请不允许审核,请刷新再操作!";
                return(Json(result));
            }

            if (isPass)
            {
                var msg = GetNextFlow(apply.UserID.ToUser(), apply.FlowID);

                if (msg.IsComplete)
                {
                    var nextFlow = msg.Entity as VacationAuditFlow;

                    if (nextFlow == null)
                    {
                        apply.FlowID  = null;
                        apply.Status  = EnumVacationApplyStatus.Pass;
                        apply.Opinion = opinion;
                    }
                    else
                    {
                        apply.FlowID  = nextFlow.ID;
                        apply.Status  = EnumVacationApplyStatus.Audited;
                        apply.Opinion = opinion;
                    }

                    apply.Update();

                    return(Json(ArtDialogResponseResult.SuccessResult));
                }
                else
                {
                    result.Message = msg.Message;
                    return(Json(result));
                }
            }
            else
            {
                apply.Status  = EnumVacationApplyStatus.Nopass;
                apply.Opinion = opinion;
                apply.Update();

                return(Json(ArtDialogResponseResult.SuccessResult));
            }
        }
Пример #5
0
        public JsonResult Upload()
        {
            ArtDialogResponseResult result = new ArtDialogResponseResult();

            if (CurrUser == null)
            {
                result.Message = "非法操作...";
                return(Json(result));
            }

            var file = Request.Files["Filedata"];

            var vm = UploadHelper.UploadFile(file, Server.MapPath("~/uploadfiles"));

            string filePath = string.Format("/uploadfiles/{0}", vm.Entity);

            result.IsSuccess = true;
            result.Entity    = filePath;

            return(Json(result));
        }
Пример #6
0
        public ActionResult Apply(VacationApply apply)
        {
            ArtDialogResponseResult result = new ArtDialogResponseResult();

            apply.UserID    = CurrUser.ID;
            apply.ApplyTime = DateTime.Now;
            apply.Status    = EnumVacationApplyStatus.Apply;

            var msg = GetNextFlow(CurrUser, null);

            if (msg.IsComplete)
            {
                apply.FlowID = ((VacationAuditFlow)msg.Entity).ID;
                apply.Insert();

                return(Json(ArtDialogResponseResult.SuccessResult));
            }
            else
            {
                result.Message = msg.Message;
                return(Json(result));
            }
        }