public AccountRecharge Save(AccountRecharge model) { using (var transaction = context.Database.BeginTransaction()) { var userAccount = context.UserAccounts.Where(x => x.UserId == model.UserId).FirstOrDefault(); try { //Add User Account Account Recharge History model.Guid = Guid.NewGuid().ToString().ToUpper(); model.IsActive = true; model.CreatedOn = DateTime.Now; model.UpdatedOn = DateTime.Now; context.Add(model); context.SaveChanges(); //Update User Account Balance userAccount.AvailableBalance = userAccount.AvailableBalance + model.RechargeAmount; userAccount.UpdatedOn = DateTime.Now; context.Entry(userAccount).State = EntityState.Modified; context.SaveChanges(); // if all success - commit first step (second step was success completed) transaction.Commit(); return(model); } catch (Exception) { // if we have error - rollback first step (second step not be able accepted) transaction.Rollback(); throw; } } }
public ActionResult Update(AccountRecharge model) { try { var data = repository.Update(model); return(Ok(new { success = true, successMessage = "Updated Successfully!" })); } catch (Exception ex) { return(Ok(new { success = false, errorMessage = ex.GetBaseException() })); } }
public AccountRecharge Update(AccountRecharge model) { try { var result = context.AccountRecharge.Where(x => x.Id == model.Id).FirstOrDefault(); result.UserId = model.UserId; result.FromAccount = model.FromAccount; result.TransictionId = model.TransictionId; result.PaymentMethodId = model.PaymentMethodId; result.RechargeAmount = model.RechargeAmount; result.UpdatedOn = DateTime.Now; context.Entry(result).State = EntityState.Modified; context.SaveChanges(); return(result); } catch (System.Exception) { throw; } }