예제 #1
0
        public IHttpActionResult Approval(ApprovalResultViewModel approvalResult)
        {
            var ret = _meetService.Approval(approvalResult, WorkUser);

            return(Ok(ret));
        }
예제 #2
0
        /// <summary>
        /// 提交审核结果
        /// </summary>
        /// <param name="approvalResult"></param>
        /// <param name="workUser"></param>
        /// <returns></returns>
        public ReturnValueModel ManagementApproval(ApprovalResultViewModel approvalResult, WorkUser workUser)
        {
            ReturnValueModel rvm = new ReturnValueModel();
            //var isAdmin = workUser.Roles.FirstOrDefault().RoleName.Contains("Admin");
            var isAdmin = _commonService.IsAdmin(workUser);

            if (!isAdmin)
            {
                rvm.Msg     = "You have no administrator permission.";
                rvm.Success = false;
                return(rvm);
            }

            if (approvalResult == null || !approvalResult.Approved.HasValue || string.IsNullOrEmpty(approvalResult.Id))
            {
                rvm.Msg     = "Invalid parameter.";
                rvm.Success = false;
                return(rvm);
            }
            Management modifiedDataInfo = null, originalDataInfo = null;

            modifiedDataInfo = _rep.FirstOrDefault <Management>(s => s.ManagementId == approvalResult.Id);
            if (modifiedDataInfo == null)
            {
                rvm.Msg     = $"Invalid DataInfo Id: {approvalResult.Id}";
                rvm.Success = false;
                return(rvm);
            }
            switch (modifiedDataInfo.IsCompleted ?? EnumComplete.AddedUnapproved)
            {
            case EnumComplete.AddedUnapproved:
            case EnumComplete.UpdatedUnapproved:
            case EnumComplete.Reject:
            case EnumComplete.WillDelete:
                break;

            default:
                rvm.Msg     = $"This DataInfo is not unapproved.";
                rvm.Success = false;
                return(rvm);
            }
            using (var tran = _rep.Database.BeginTransaction())
            {
                try
                {
                    switch (modifiedDataInfo.IsCompleted ?? EnumComplete.AddedUnapproved)
                    {
                    case EnumComplete.AddedUnapproved:
                        if (approvalResult.Approved ?? false)
                        {
                            modifiedDataInfo.IsCompleted = EnumComplete.Approved;    //审核通过
                            _rep.Update(modifiedDataInfo);
                            _rep.SaveChanges();
                        }
                        else
                        {
                            modifiedDataInfo.IsCompleted = EnumComplete.Reject;      //审核拒绝
                            modifiedDataInfo.Remark      = approvalResult.Note;
                            _rep.Update(modifiedDataInfo);
                            _rep.SaveChanges();
                        }
                        break;

                    case EnumComplete.UpdatedUnapproved:
                        if (approvalResult.Approved ?? false)
                        {
                            modifiedDataInfo.IsCompleted = EnumComplete.Approved;    //审核通过
                            _rep.Update(modifiedDataInfo);
                            _rep.SaveChanges();
                            //删除备份数据
                            var CopyDelete = _rep.FirstOrDefault <Management>(s => s.OldManagementId == modifiedDataInfo.ManagementId);
                            if (CopyDelete != null)
                            {
                                _rep.Delete(CopyDelete);
                                _rep.SaveChanges();
                            }
                        }
                        else
                        {
                            modifiedDataInfo.IsCompleted = EnumComplete.Reject;      //审核拒绝
                            modifiedDataInfo.Remark      = approvalResult.Note;
                            _rep.Update(modifiedDataInfo);
                            _rep.SaveChanges();
                        }
                        break;

                    case EnumComplete.Reject:
                        if (approvalResult.Approved ?? false)
                        {
                            modifiedDataInfo.IsCompleted = EnumComplete.Approved;    //审核通过
                            _rep.Update(modifiedDataInfo);
                            _rep.SaveChanges();
                        }
                        else
                        {
                            modifiedDataInfo.IsCompleted = EnumComplete.Reject;      //审核拒绝
                            modifiedDataInfo.Remark      = approvalResult.Note;
                            _rep.Update(modifiedDataInfo);
                            _rep.SaveChanges();
                        }
                        break;

                    case EnumComplete.WillDelete:
                        if (originalDataInfo == null)
                        {
                            if (approvalResult.Approved ?? false)
                            {
                                //同意删除
                                modifiedDataInfo.IsDeleted   = 1;
                                modifiedDataInfo.IsCompleted = EnumComplete.Deleted;
                                _rep.Update(modifiedDataInfo);
                                _rep.SaveChanges();
                            }
                            else
                            {
                                //拒绝删除
                                modifiedDataInfo.IsCompleted = EnumComplete.Approved;
                                _rep.Update(modifiedDataInfo);
                                _rep.SaveChanges();
                            }
                        }
                        break;
                    }

                    _rep.SaveChanges();

                    tran.Commit();
                    rvm.Msg     = "success";
                    rvm.Success = true;
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    rvm.Msg     = "fail";
                    rvm.Success = false;
                }
            }
            return(rvm);
        }
        public IHttpActionResult ManagementApproval(ApprovalResultViewModel approvalResult)
        {
            var ret = _ManagementService.ManagementApproval(approvalResult, WorkUser);

            return(Ok(ret));
        }
예제 #4
0
        public IHttpActionResult ProductDataApproval(ApprovalResultViewModel approvalResult)
        {
            var ret = _knowledgeService.ProductDataApproval(approvalResult, WorkUser);

            return(Ok(ret));
        }