public ApprovalTransactionViewModel AddApprovalTransaction(EntityAndApprovalViewModel entityAndApprovalViewModel)
        {
            var approvalTransaction = new ApprovalTransactions();

            approvalTransaction.MapAuditColumns((ClaimsIdentity)_principal.Identity);

            var approvalTransactionViewModel = entityAndApprovalViewModel.approvalTransactionViewModel;

            approvalTransaction.ApprovalId       = approvalTransactionViewModel.ApprovalId;
            approvalTransaction.ApprovalActionId = approvalTransactionViewModel.ApprovalActionId;
            if (entityAndApprovalViewModel.openingViewModel != null)
            {
                approvalTransaction.EntityId = entityAndApprovalViewModel.openingViewModel.OpeningId;
            }
            else
            {
                approvalTransaction.EntityId = entityAndApprovalViewModel.candidateViewModel.CandidateId;
            }
            approvalTransaction.EntityType = 0;
            if (approvalTransactionViewModel.NextEventOrderNumber < 0)
            {
                approvalTransaction.NextEventOrderNumber = approvalTransactionViewModel.NextEventOrderNumber;
            }
            else
            {
                approvalTransaction.EventOrderNumber     = approvalTransactionViewModel.ApprovalEventOrder;
                approvalTransaction.NextEventOrderNumber = approvalTransaction.EventOrderNumber + 1;
            }

            var approvalTransactionDetail = new ApprovalTransactionDetails();

            approvalTransactionDetail.MapAuditColumns((ClaimsIdentity)_principal.Identity);
            approvalTransactionDetail.Comments         = approvalTransactionViewModel.Comments;
            approvalTransactionDetail.ApprovalActionId = approvalTransaction.ApprovalActionId;
            approvalTransactionDetail.EventOrderNumber = approvalTransaction.EventOrderNumber;
            approvalTransaction.ApprovalTransactionDetails.Add(approvalTransactionDetail);
            _approvalRepository.CreateApprovalTransaction(approvalTransaction);
            approvalTransactionViewModel.MapFromModel(approvalTransaction);
            var userId = GenericHelper.GetUserClaimDetails((ClaimsIdentity)_principal.Identity).UserId;

            if (entityAndApprovalViewModel.candidateViewModel != null)
            {
                _candidateRepository.OnInterviewFinished(approvalTransaction, userId);
            }

            return(approvalTransactionViewModel);
        }
Esempio n. 2
0
 public void CreateApprovalTransaction(ApprovalTransactions approvalTransaction)
 {
     _context.ApprovalTransactions.Add(approvalTransaction);
     _context.SaveChanges();
 }
Esempio n. 3
0
 public void UpdateApprovalTransaction(ApprovalTransactions approvalTransaction, ApprovalTransactionDetails approvalTransactionDetail)
 {
     _context.ApprovalTransactionDetails.Add(approvalTransactionDetail);
     _context.Entry(approvalTransaction).State = EntityState.Modified;
     _context.SaveChanges();
 }
Esempio n. 4
0
 public void OnCandidateApproved(ApprovalTransactions approvalTransaction)
 {
     _context.Candidates.FirstOrDefault(x => x.CandidateId == approvalTransaction.EntityId && (x.IsActive && !x.IsDeleted)).IsApproved = true;
     _context.SaveChanges();
 }
Esempio n. 5
0
 public void OnInterviewFinished(ApprovalTransactions approvalTransaction, Guid userId)
 {
     _context.ScheduleUserForCandidate.FirstOrDefault(x => x.CandidateId == approvalTransaction.EntityId && x.ApprovalEvent.ApprovalEventOrder == approvalTransaction.EventOrderNumber && x.UserId == userId && (x.IsActive && !x.IsDeleted)).IsFinished = true;
     _context.SaveChanges();
 }