/// <summary> /// realiza una recarga para un usuario /// </summary> /// <param name="userId"></param> /// <param name="value"></param> /// <returns></returns> public VO.Entities.Recharges Recharge(int userId, decimal value) { VO.Entities.Recharges data = new VO.Entities.Recharges(); List <VO.Entities.Recharges> recharges = this.GetRechargesByUserId(userId); data = CalculateBonds(recharges, value); data.UserId = userId; data.DateRecharge = DateTime.Now; data = this.Create(data); VO.Entities.ClientUser client = DAO.Resolve <ClientsDAO>().Get(userId); client.Balance = client.Balance + data.TotalRecharge; DAO.Resolve <ClientsDAO>().Update(client); return(data); }
public VO.Entities.Consumes Call(int userId, decimal seconds) { VO.Entities.Settings valueSecond = DAO.Resolve <SettingsDAO>().GetByKey("SecondValue"); decimal valueCall = (seconds * decimal.Parse(valueSecond.Value)); VO.Entities.Consumes newConsume = new VO.Entities.Consumes() { UserId = userId, DateCall = DateTime.Now, Time = seconds, ValueCall = valueCall }; DAO.Resolve <ConsumesDAO>().Create(newConsume); VO.Entities.ClientUser user = DAO.Resolve <ClientsDAO>().Get(userId); user.Balance = user.Balance - valueCall; user.Balance = user.Balance < 0 ? 0 : user.Balance; return(newConsume); }