예제 #1
0
        public async Task <IActionResult> CreateTrip([FromBody] CreateTripRequest modelRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState
                                  ));
            }

            CultureInfo cultureInfo = new CultureInfo(modelRequest.CultureInfo);

            Resource.Culture = cultureInfo;

            UserEntity user = await _userHelper.GetUserAsync(new System.Guid(modelRequest.UserId));

            if (user == null)
            {
                return(BadRequest(Resource.UserDoesntExists
                                  ));
            }

            TripsEntity tripEntity = new TripsEntity()
            {
                StartDate   = modelRequest.StartDate,
                EndDate     = modelRequest.EndDate,
                Description = modelRequest.Description,
                City        = await _dataContext.Cities.FindAsync(modelRequest.CityId),
                User        = user
            };

            _dataContext.Trips.Add(tripEntity);

            await _dataContext.SaveChangesAsync();

            return(Ok(Resource.TripCreated));
        }
 public TripResponse ToTripResponse(TripsEntity tripsEntity)
 {
     return(new TripResponse
     {
         EndDate = tripsEntity.EndDate,
         Id = tripsEntity.Id,
         Remarks = tripsEntity.Remarks,
         Source = tripsEntity.Source,
         StartDate = tripsEntity.StartDate,
         Target = tripsEntity.Target,
         TripDetails = tripsEntity.TripDetails?.Select(td => new TripDetailResponse
         {
             Date = td.Date,
             Id = td.Id,
         }).ToList(),
         User = ToUserResponse(tripsEntity.User)
     });
 }
예제 #3
0
        public async Task <IActionResult> AddDetails([FromBody] AddDetailsRequest modelRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState
                                  ));
            }

            CultureInfo cultureInfo = new CultureInfo(modelRequest.CultureInfo);

            Resource.Culture = cultureInfo;

            TripsEntity trip = await _dataContext.Trips.FindAsync(int.Parse(modelRequest.TripId));

            if (trip == null)
            {
                return(BadRequest(Resource.TripIdIncorrect
                                  ));
            }

            string picturePath = string.Empty;

            if (modelRequest.VoucherPath != null && modelRequest.VoucherPath.Length > 0)
            {
                picturePath = _imageHelper.UploadImage(modelRequest.VoucherPath, "Vouchers");
            }

            TripDetailsEntity tripDetail = new TripDetailsEntity()
            {
                ExpensesType = await _dataContext.ExpensesTypes.FindAsync(int.Parse(modelRequest.ExpensesTypeId)),
                Date         = modelRequest.Date,
                Cost         = modelRequest.Cost,
                VoucherPath  = picturePath,
                Trip         = trip
            };

            _dataContext.TripDetails.Add(tripDetail);

            await _dataContext.SaveChangesAsync();

            return(Ok(Resource.DetailAdded));
        }