예제 #1
0
 public AddTripDetailsPageViewModel(INavigationService navigationService,
                                    IApiService apiService,
                                    IFilesHelper filesHelper) : base(navigationService)
 {
     _navigationService = navigationService;
     _apiService        = apiService;
     _filesHelper       = filesHelper;
     Title     = Languages.AddDetail;
     IsEnabled = true;
     Detail    = new AddDetailsRequest();
     LoadExpensesTypeAsync();
 }
예제 #2
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));
        }