public async Task <ActionResult <TravelDto> > Post(TravelDto travelDto) { var travel = Travel.FromDto(travelDto); await _travelDomainService.CreateTravel(travel); return(CreatedAtAction("Get", new { id = travel.Id }, travel)); }
public async Task <IActionResult> Create(TravelDto travelModel) { if (ModelState.IsValid) { var travelInfo = _mapper.Map <TravelDto, TravelInfo>(travelModel); var travelExp = _mapper.Map <ICollection <TravelExpenseDto>, ICollection <TravelExpenses> >(travelModel.TravelExpensesDtos); travelInfo.Date = DateTime.Now; travelInfo.TravelExpenses = travelExp; travelInfo.IsApproved = null; foreach (var travel in travelExp.Where(p => p.Details.Equals("Misc. Expenses (please explain below)") || p.Details.Equals("Entertainment F&B (please explain below)"))) { travel.MiscExpenses = _mapper.Map <ICollection <MiscExpenseDto>, ICollection <MiscExpenses> >(travelModel.TravelExpensesDtos.FirstOrDefault(p => p.Details.Equals(travel.Details)).MiscExpensesDtos.ToList()); } await _travelService.AddAsync(travelInfo); await SendMailToTeamLeadAsync(); if (Request.IsAjaxRequest()) { return(Json(new { message = $"The travel expenses with purpose {travelInfo.Purpose}'s has been uploaded." })); } return(RedirectToAction(nameof(Index))); } return(View(travelModel)); }
public static Travel FromDto(TravelDto travelDto) { if (travelDto.Id == null) { travelDto.Id = Guid.NewGuid(); } return(new Travel(new TravelId(travelDto.Id.Value), travelDto.Destination)); }
public async Task <ActionResult <TravelDto> > Patch(TravelDto travelDto) { if (!travelDto.Id.HasValue) { return(NotFound()); } await _travelDomainService.EditTravel(travelDto.Id.Value, Travel.FromDto(travelDto)); return(CreatedAtAction("Patch", new { id = travelDto.Id }, travelDto)); }
public async Task <ActionResult> AssignCustomer(TravelDto travelDto) { try { if (travelDto.Id.HasValue && travelDto.CustomerId.HasValue) { await _travelDomainService.AssignCustomer(new TravelId(travelDto.Id.Value), new UserId(travelDto.CustomerId.Value)); return(NoContent()); } else { throw new TravelException("No travel id or customer id."); } } catch (Exception ex) { _logger.LogError($"Error while assigning customer to travel: {travelDto.Id}", ex); throw; } }
public async Task <ActionResult> Cancel(TravelDto travelDto) { try { if (travelDto.Id.HasValue) { await _travelDomainService.Cancel(new TravelId(travelDto.Id.Value)); return(NoContent()); } else { throw new TravelException("No travel id"); } } catch (Exception ex) { _logger.LogError($"Error while cancelling a travel: {travelDto.Id}", ex); throw; } }
public async Task <IActionResult> Edit(int id, TravelDto travelModel) { if (id != travelModel.TravelId) { return(NotFound()); } if (ModelState.IsValid) { try { var recieptPath = await FileHelper.FileUploadDataAsync(travelModel.RecieptFile, "RecieptDoc"); var travelInfo = _mapper.Map <TravelDto, TravelInfo>(travelModel); travelInfo.RecieptDoc = recieptPath; travelInfo.Date = DateTime.Now; travelInfo.IsApproved = null; await _travelService.UpdateAsync(travelInfo); } catch (DbUpdateConcurrencyException) { bool ifExist = await TravelExpenseExists(travelModel.TravelId); if (!ifExist) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(travelModel)); }
public async Task <int> SaveTravel(TravelDto model) { var travel = new Travel() { DestinyId = model.DestinyId, DurationStr = model.DurationStr, LastChange = DateTime.Now.ToShortDateString(), PersonId = model.PersonId, TotalKmStr = model.TotalKm, TotalKm = decimal.Parse(model.TotalKm.Replace(" km", "")), RegistrationDate = DateTime.Now.ToShortDateString(), OriginId = model.OriginId, Duration = DateTime.Now.AddSeconds(model.DurationValue), UserId = 1, }; await _context.Travels.AddAsync(travel); await _context.SaveChangesAsync(); return(travel.Id); }
public async Task <IHttpActionResult> SaveTravel(TravelDto model) { return(Ok(await _service.SaveTravel(model))); }
public async Task <ApplicationResult> Create(TravelDto travelDto) { return(await RickLocationUtil.CallService <Travel>("sucess", String.Format("Erro inesperado ao Realizar viagem para o rick {0}", travelDto.RickId), async() => { return await travelService.Create(travelDto.RickId, travelDto.DimensionId); })); }