Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 public static Travel FromDto(TravelDto travelDto)
 {
     if (travelDto.Id == null)
     {
         travelDto.Id = Guid.NewGuid();
     }
     return(new Travel(new TravelId(travelDto.Id.Value), travelDto.Destination));
 }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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;
            }
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
 public async Task <IHttpActionResult> SaveTravel(TravelDto model)
 {
     return(Ok(await _service.SaveTravel(model)));
 }
Esempio n. 10
0
 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); }));
 }