예제 #1
0
        public string Save(LeaveView leaveview)
        {
            var Leave = AutoMapper.Mapper.Map <Leave>(leaveview);

            if (string.IsNullOrEmpty(leaveview.AbsenceType))
            {
                response.Message   = "please Provide Absence Name";
                response.IsSuccess = false;
                return(JsonConvert.SerializeObject(response));
            }
            if ((leaveview.Days) == 0)
            {
                response.Message   = "Calculate Dates";
                response.IsSuccess = false;
                return(JsonConvert.SerializeObject(response));
            }



            context.Leaves.Add(Leave);
            context.SaveChanges();
            response.Message   = "Record Save sucessfully!";
            response.IsSuccess = true;

            return(JsonConvert.SerializeObject(response));
        }
예제 #2
0
        /// <summary>
        /// 获取审批详情
        /// </summary>
        public dynamic GetApprovalDetail(string id, string currentUserId)
        {
            var leave        = Get <LeaveOrder>(id);
            var leaveApprove = Read <LeaveApprove>(p => p.OrderId.Equals(id) && p.ApproverId.Equals(currentUserId)).FirstOrDefaultAsync().Result;

            if (null == leaveApprove)
            {
                throw new Exception("您不可以审批!");
            }
            var view = new LeaveView
            {
                Id              = leave.Id,
                LeaveerName     = Get <User>(leave.LeaveerId)?.Name,
                StartTime       = leave.StartTime,
                EndOfTime       = leave.EndOfTime,
                LeaveDays       = leave.LeaveDays,
                LeaveType       = leave.LeaveType,
                ReasonForLeave  = leave.Reason,
                AttachmentsPath = leave.AttachmentsPath,
                Approves        = leaveApprove.ApproveLevel == 1 ? null : Read <LeaveApprove>(p => p.OrderId.Equals(leave.Id) && p.ApproveLevel == 1 && p.Result != 0)
                                  .Select(p => new
                {
                    ApproverName = p.Approver.Name,
                    p.Opinion,
                    p.Result,
                    Level = p.ApproveLevel
                }).ToList()
            };

            if (Convert.ToDecimal(view.LeaveDays) <= 3)
            {
                view.IsFinal = true;
            }
            else
            {
                view.IsFinal = leaveApprove.ApproveLevel == 2;
            }
            return(view);
        }
예제 #3
0
        public ActionResult Detail(string Id)
        {
            LeaveView model = leaveManagement.GetLeaveById(Id);

            return(View(model));
        }