public ProposalResponseModel CreateVacationProposal(VacationProposalViewModel model, Guid initiatorId) { var proposal = _unitOfWork.Proposals.CreateVacationProposal(model, initiatorId); _unitOfWork.Save(); return(_mapper.Map <Proposals, ProposalResponseModel>(proposal)); }
public Vacations(Guid initiatorId, VacationProposalViewModel model, bool isPaidLeave = true) { Id = Guid.NewGuid(); IsApproved = false; IsPaidLeave = isPaidLeave; EndDate = model.VacationData.EndDate; StartDate = model.VacationData.StartDate; UserId = initiatorId; Reason = model.Reason; Duration = (model.VacationData.EndDate - model.VacationData.StartDate).Days; }
public Proposals CreateVacationProposal(VacationProposalViewModel model, Guid initiatorId) { Processes process = Db.Processes.Include(p => p.Stages) .First(p => p.ProcessType == (int)ProcessesTypes.Vacation); var vacation = new Vacations(initiatorId, model); var proposal = new Proposals(process, initiatorId, title: process.Name, isUrgently: model.IsUrgently, vacationId: vacation.Id); var status = new Statuses(model.DecisionMakerId, proposal.Id); Db.Vacations.Add(vacation); Db.Proposals.Add(proposal); Db.Statuses.Add(status); proposal.Initiator = Db.Users.FirstOrDefault(user => user.Id == initiatorId); return(proposal); }