public Entity.Leave GetLeave(LeavePO leavePO) { var leave = new Entity.Leave(); leave.Id = leavePO.Id; var applicant = new Applicant() { PersonId = leavePO.ApplicantId, PersonName = leavePO.ApplicantName }; leave.Applicant = applicant; var approver = new Approver() { PersonId = leavePO.ApproverId, PersonName = leavePO.ApproverName }; leave.Approver = approver; leave.StartTime = leavePO.StartTime; leave.EndTime = leavePO.EndTime; leave.Duration = leavePO.Duration; leave.Status = leavePO.Status; leave.MaxLeaderLevel = leavePO.MaxLeaderLevel; if (leavePO.HistoryApprovalInfoPOList?.Count > 0) { leave.HistoryApprovalInfos = GetApprovalInfos(leavePO.HistoryApprovalInfoPOList); } return(leave); }
public Leave GetLeave(LeavePO leavePO) { var leave = Mapper.Map <Leave>(leavePO); // todo: some extra operation return(leave); }
public bool Submit(LeavePO leavePO) { if (_db.State == ConnectionState.Closed) { _db.Open(); } var tran = _db.BeginTransaction(); try { var i = (int)leavePO.Status; var sql = @"update public.leaves set applicantid=@applicantid, applicantname=@applicantname, applicanttype=@applicanttype, approverid=@approverid, approvername=@approvername, leavetype=@leavetype, status=@Status, starttime=@starttime, endtime=@endtime, duration=@duration,maxleaderlevel=@maxleaderlevel where id=@id;" ; _db.Execute(sql, leavePO, tran); sql = @"INSERT INTO public.approval_infos( approvalinfoid, leaveid, applicantid, approverid,approvaltype, approverlevel, approvername, msg, ""time"") VALUES(@approvalinfoid, @leaveid, @applicantid,@approverid,@approvaltype, @approverlevel, @approvername, @msg, @time); "; _db.Execute(sql, leavePO.CurrentApprovalInfo, tran); tran.Commit(); return(true); } catch (Exception exc) { tran.Rollback(); _logge.LogCritical(exc, exc.Message); return(false); } }
public bool Save(LeavePO leavePO) { try { var sql = @"INSERT INTO public.leaves( id, applicantid, applicantname, applicanttype, approverid, approvername, leavetype, status, starttime, endtime, duration,maxleaderlevel) VALUES (@id, @applicantid, @applicantname, @applicanttype, @approverid, @approvername, @leavetype, @status, @starttime, @endtime, @duration,@maxleaderlevel);" ; _db.Execute(sql, leavePO); return(true); } catch (Exception exc) { _logge.LogCritical(exc, exc.Message); return(false); } }
public LeavePO CreateLeavePO(Entity.Leave leave) { var leavePO = new LeavePO() { Id = leave.Id == null?Guid.NewGuid().ToString() : leave.Id, ApplicantId = leave.Applicant.PersonId, ApplicantName = leave.Applicant.PersonName, ApproverId = leave.Approver?.PersonId, ApproverName = leave.Approver?.PersonName, StartTime = leave.StartTime, EndTime = leave.EndTime, Duration = leave.Duration, Status = leave.Status, //生成请假条时没有当前批认信息 CurrentApprovalInfo = leave.CurrentApprovalInfo != null?ApprovalInfoPOFromDO(leave.CurrentApprovalInfo, leave.Applicant.PersonId, leave.Id) : null, HistoryApprovalInfoPOList = ApprovalInfoPOListFromDO(leave), MaxLeaderLevel = leave.MaxLeaderLevel, LeaveType = leave.LeaveType, ApplicantType = leave.Applicant.PersonType }; return(leavePO); }
public void Save(LeavePO leave) { throw new NotImplementedException(); }