/// <summary> /// Insert a pickup for user into db asyncronously, this method should only be used to manully insert /// into the db. Use SchedulePickup() to actually schedule a pickup /// </summary> /// <param name="p">ScheduledPickup object properly populated</param> /// <returns>StatusResult</returns> public static async Task<StatusResult<ScheduledPickup>> InsertScheduledPickupAsync(ScheduledPickup p) { try { var db = BottleRocketDbContext.Create(); db.ScheduledPickups.Add(p); await db.SaveChangesAsync(); } catch (Exception ex) { return StatusResult<ScheduledPickup>.Error(ex.Message); } return StatusResult<ScheduledPickup>.Success(); }
public static StatusResult<ScheduledPickup> UpdateScheduledPickup(ScheduledPickup p) { //TODO:: NEED TO BE TESTED, NOT SURE IF THIS WORKS try { var db = BottleRocketDbContext.Create(); db.Entry(p).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { return StatusResult<ScheduledPickup>.Error(ex.Message); } return StatusResult<ScheduledPickup>.Success(); }
/// <summary> /// Insert a pickup for user into db asyncronously. This method should only be used to manully insert /// into the db. Use SchedulePickup() to actually schedule a pickup /// </summary> /// <param name="userId">The user's Id </param> /// <returns>StatusResult</returns> public static async Task<StatusResult<ScheduledPickup>> InsertScheduledPickupAsync(string userId) { // get the user's address from db var userAddy = UserAddressManager.GetUserAddressByUserId(userId); if (userAddy.Code != StatusCode.OK) { return StatusResult<ScheduledPickup>.Error("User address not found"); } var sp = new ScheduledPickup() { UserId = userId, DateCreated = DateTime.UtcNow, IsPickedUp = false, AddressId = userAddy.Result.Id }; return await InsertScheduledPickupAsync(sp); }