/// <summary> /// Releases reserved funds /// </summary> /// <param name="reservationKey"></param> /// <returns></returns> public void ReleaseFundReservation(Guid reservationKey) { // get the reservation var reservation = CashAccountFundReservations.FirstOrDefault(r => r.ReservationKey == reservationKey.ToString()); // if reservation was not found, it doesn't exist - just return if (reservation == null) { return; } // remove the reservation CashAccountFundReservations.Remove(reservation); // save changes SaveChanges(); }
/// <summary> /// Creates a fund reservation and returns the id /// </summary> /// <param name="accountId"></param> /// <param name="reservationKey"></param> /// <param name="amount"></param> /// <param name="expiresIn"></param> /// <returns></returns> public void CreateFundReservation(int accountId, Guid reservationKey, decimal amount, TimeSpan?expiresIn = null) { // create fund reservation var fundReservation = new CashAccountFundReservation { AccountId = accountId, ReservationKey = reservationKey.ToString(), Amount = amount, Expiration = expiresIn.HasValue ? (DateTime?)(DateTime.Now + expiresIn.Value) : null, Created = DateTime.Now, Modified = DateTime.Now }; // add to db set CashAccountFundReservations.Add(fundReservation); // save changes in repository SaveChanges(); }