예제 #1
0
        public async Task <VacationRequest> ChangeStatusAsync(VacationRequestParameter vacationRequestParameter)
        {
            try
            {
                using (var connection = DataLayer.GetConnection(_configuration))
                {
                    var updateSql           = "UPDATE VacationRequest SET Status = @status WHERE Id = @id;";
                    var updateExecuteResult = await connection.ExecuteAsync(updateSql,
                                                                            new
                    {
                        status = vacationRequestParameter.VacationStatus,
                        id     = vacationRequestParameter.VacationRequestId
                    });

                    Debug.WriteLine(updateExecuteResult);

                    var userVacationRequestSql =
                        "select v.*, u.* from VacationRequest v inner join User u on u.Id = v.UserId where v.Id = @vacationId";

                    var updatedVacationRequest =
                        (await connection.QueryAsync <VacationRequest, User, VacationRequest>(userVacationRequestSql,
                                                                                              (v, u) =>
                    {
                        v.User = u;
                        return(v);
                    }, new { vacationId = vacationRequestParameter.VacationRequestId })).SingleOrDefault();
                    return(updatedVacationRequest);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public async Task <IActionResult> ChangeStatus(VacationRequestParameter vacationRequestParameter)
        {
            try
            {
                var res = await _service.ChangeStatusAsync(vacationRequestParameter);

                return(Ok(res));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
예제 #3
0
 public async Task <VacationRequest> ChangeStatusAsync(VacationRequestParameter vacationRequestParameter)
 {
     return(await _vacationRepository.ChangeStatusAsync(vacationRequestParameter));
 }