public static Guid Decrease(Guid userGuid, decimal amount, TypeCreditChanges typeCreditChanges, string description, Guid referenceGuid, DataAccessBase dataAccessProvider) { try { Business.Transaction transactionController = new Business.Transaction(dataAccessProvider); Business.User userController = new Business.User(dataAccessProvider); decimal currentCredit = userController.GetUserCredit(userGuid); if (currentCredit < amount) { throw new Exception(Language.GetString("ErrorCredit")); } Common.Transaction transaction = new Common.Transaction(); transaction.TypeTransaction = (int)Business.TypeTransactions.Decrease; transaction.ReferenceGuid = referenceGuid; transaction.TypeCreditChange = (int)typeCreditChanges; transaction.Description = description; transaction.CreateDate = DateTime.Now; transaction.CurrentCredit = currentCredit; transaction.Amount = amount; transaction.UserGuid = userGuid; Guid transactionGuid = transactionController.Insert(transaction); if (transactionGuid == Guid.Empty) { throw new Exception(Language.GetString("ErrorRecord")); } if (!userController.UpdateCredit(userGuid, transaction.CurrentCredit - amount)) { throw new Exception(Language.GetString("ErrorRecord")); } return(transactionGuid); } catch (Exception ex) { throw ex; } }
public static Guid Increase(Guid userGuid, decimal amount, TypeCreditChanges typeCreditChanges, string description, Guid referenceGuid, bool updateGrupPrice, DataAccessBase dataAccessProvider) { Business.Transaction transactionController = new Business.Transaction(dataAccessProvider); Business.User userController = new Business.User(dataAccessProvider); Common.Transaction transaction = new Common.Transaction(); decimal currentCredit = userController.GetUserCredit(userGuid); transaction.ReferenceGuid = referenceGuid; transaction.TypeTransaction = (int)Business.TypeTransactions.Increase; transaction.TypeCreditChange = (int)typeCreditChanges; transaction.Description = description; transaction.CreateDate = DateTime.Now; transaction.CurrentCredit = currentCredit; transaction.Amount = amount; transaction.UserGuid = userGuid; Guid transactionGuid = transactionController.Insert(transaction); if (transactionGuid == Guid.Empty) { throw new Exception(Language.GetString("ErrorRecord")); } if (updateGrupPrice) { if (!userController.UpdateCreditAndGroupPrice(userGuid, transaction.CurrentCredit + amount, amount)) { throw new Exception(Language.GetString("ErrorRecord")); } } else { if (!userController.UpdateCredit(userGuid, transaction.CurrentCredit + amount)) { throw new Exception(Language.GetString("ErrorRecord")); } } return(transactionGuid); }