Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        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() }));
            }
        }
Esempio n. 3
0
        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;
            }
        }