Exemplo n.º 1
0
        public async Task <IActionResult> AddCost([FromBody] CostTripRequest costTripRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            TripDetailEntity tripDetail = await _context.TripDetails
                                          .Include(t => t.Costs)
                                          .FirstOrDefaultAsync(t => t.Id == costTripRequest.TripId);

            if (tripDetail == null)
            {
                return(BadRequest("Trip not found."));
            }

            if (tripDetail.Costs == null)
            {
                tripDetail.Costs = new List <CostEntity>();
            }


            tripDetail.Costs.Add(new CostEntity
            {
                Value       = costTripRequest.Value,
                Category    = costTripRequest.Category,
                CreatedDate = DateTime.UtcNow
            });


            _context.TripDetails.Update(tripDetail);
            await _context.SaveChangesAsync();

            return(NoContent());
        }
        public async Task <IActionResult> PostTripDetailEntity([FromBody] TripDetailRequest tripDetailRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            string voucherPath = string.Empty;

            if (tripDetailRequest.VoucherArray != null && tripDetailRequest.VoucherArray.Length > 0)
            {
                voucherPath = _imageHelper.UploadImage(tripDetailRequest.VoucherArray, "Vouchers");
            }

            TripDetailEntity tripDetailEntity = _converterHelper.tripDetailRequestToEntity(tripDetailRequest);

            tripDetailEntity.Date           = new DateTime(tripDetailRequest.Year, tripDetailRequest.Mounth, tripDetailRequest.Day, 0, 0, 0);
            tripDetailEntity.AttachmentPath = voucherPath;
            int id         = int.Parse(tripDetailRequest.TripId);
            var tripEntity = await _context.Trips.FindAsync(id);

            if (tripEntity == null)
            {
                return(NotFound());
            }
            else
            {
                tripDetailEntity.Trip = tripEntity;
            }
            id = int.Parse(tripDetailRequest.ExpenseTypeId);
            var expenseType = await _context.ExpenseTypes.FindAsync(id);

            if (expenseType == null)
            {
                return(NotFound());
            }
            else
            {
                tripDetailEntity.ExpenseType = expenseType;
            }

            _context.TripDetails.Add(tripDetailEntity);
            var newTrip = await _context.SaveChangesAsync();

            Response response = new Response
            {
                IsSuccess = true,
                Message   = "Success",
                Result    = tripDetailEntity
            };

            return(Ok());
        }
 public TripDetailViewModel ToTripDetailModel(TripDetailEntity tripDetailEntity)
 {
     return(new TripDetailViewModel
     {
         Id = tripDetailEntity.Id,
         AttachmentPath = tripDetailEntity.AttachmentPath,
         Expense = tripDetailEntity.Expense,
         ExpenseType = tripDetailEntity.ExpenseType,
         Currency = tripDetailEntity.Currency,
         Comment = tripDetailEntity.Comment,
         Date = tripDetailEntity.Date,
         Name = tripDetailEntity.Name
     });
 }
 public TripDetailResponse ToTripDetailResponse(TripDetailEntity tripDetailEntity)
 {
     return(new TripDetailResponse
     {
         Id = tripDetailEntity.Id,
         ExpenseType = ToExpenseTypeResponse(tripDetailEntity.ExpenseType),
         Name = tripDetailEntity.Name,
         Expense = tripDetailEntity.Expense,
         Currency = tripDetailEntity.Currency,
         Comment = tripDetailEntity.Comment,
         AttachmentPath = tripDetailEntity.AttachmentPath,
         Date = tripDetailEntity.DateLocal
     });
 }
        public async Task <IActionResult> DetailsVoucher(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            TripDetailEntity tripDetailEntity = await _context
                                                .TripDetails
                                                .FirstOrDefaultAsync(m => m.Id == id);

            if (tripDetailEntity == null)
            {
                return(NotFound());
            }

            return(View(tripDetailEntity));
        }
        public async Task <IActionResult> PostTravelDetails([FromBody] TripDetailRequest TripDetailRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new Response
                {
                    IsSuccess = false,
                    Message = "Bad request",
                    Result = ModelState
                }));
            }
            CultureInfo cultureInfo = new CultureInfo(TripDetailRequest.CultureInfo);

            Resource.Culture = cultureInfo;
            var TripEntity = await _context.Trips.FindAsync(TripDetailRequest.TripId);

            if (TripEntity == null)
            {
                return(BadRequest(new Response
                {
                    IsSuccess = false,
                    Message = Resource.ThisTripDoesNotExist
                }));
            }

            var typeExpenseEntity = await _context.TripExpenseTypes.FindAsync(TripDetailRequest.TripExpenseTypeId);

            if (typeExpenseEntity == null)
            {
                return(BadRequest(new Response
                {
                    IsSuccess = false,
                    Message = Resource.TheTypeExpenseWasNotFound
                }));
            }

            string picturePath = string.Empty;

            if (TripDetailRequest.PictureArray != null && TripDetailRequest.PictureArray.Length > 0)
            {
                picturePath = _imageHelper.UploadImage(TripDetailRequest.PictureArray, "BillsPictures");
            }

            var travelDetail = new TripDetailEntity
            {
                StartDate       = TripDetailRequest.StartDate,
                BillValue       = TripDetailRequest.BillValue,
                PicturePath     = picturePath,
                Trip            = await _context.Trips.FirstOrDefaultAsync(u => u.Id == TripDetailRequest.TripId),
                TripExpenseType = await _context.TripExpenseTypes.FirstOrDefaultAsync(c => c.Id == TripDetailRequest.TripExpenseTypeId),
            };

            _context.TripDetails.Add(travelDetail);
            await _context.SaveChangesAsync();

            return(Ok(new Response
            {
                IsSuccess = true,
                Message = Resource.TheExpensesOfTheTripHasBeenSaved
            }));
        }