public void SetDeviceStats(string inpId, string inpStats, string inpMeter) // изменение показаний => снятие денег { DateTime currentDate = DateTime.Today; int id, stats, meter, prevStats; Int32.TryParse(inpId, out id); Int32.TryParse(inpStats, out stats); Int32.TryParse(inpMeter, out meter); Device prevDevice = GetLastDevice(id, meter); if (prevDevice == null) { prevStats = 0; } else { prevStats = prevDevice.PreviousStats; } using (PSWContext db = new PSWContext()) { Device device = new Device { PersonalAccount = id, Meter = meter, PreviousStats = stats + prevStats, Date = currentDate }; db.Devices.Add(device); db.SaveChanges(); } SetBalanceStats(id, meter, -stats); }
public Meter GetMeter(int id) { using (PSWContext db = new PSWContext()) { Meter meter = db.Meters.Find(id); return(meter); } }
public Balance GetLastBalance(int id) { using (PSWContext db = new PSWContext()) { int reqId = db.Balances.Where(b => b.PersonalAccount == id) .Max(b => b.BalanceId); Balance reqBalance = db.Balances.FirstOrDefault(b => b.BalanceId == reqId); return(reqBalance); } }
public Device GetLastDevice(int id, int meter) { using (PSWContext db = new PSWContext()) { int reqId = db.Devices.Where(b => b.PersonalAccount == id && b.Meter == meter) .Max(b => b.DeviceId); Device reqDevice = db.Devices.FirstOrDefault(b => b.DeviceId == reqId); return(reqDevice); } }
public void SetBalanceStats(int id, int meter, int balance) // снятие денег { DateTime date = DateTime.Today; Balance prevBalance = GetLastBalance(id); Meter priceMeter = GetMeter(meter); using (PSWContext db = new PSWContext()) { Balance newBalance = new Balance { PersonalAccount = id, BalanceSum = prevBalance.BalanceSum + balance * priceMeter.Price, Date = date, Type = 2 }; db.Balances.Add(newBalance); db.SaveChanges(); } }
public void GetUser(int id) { using (PSWContext db = new PSWContext()) { User user = db.Users.Find(id); if (user == null) { Context.Response.Write("401"); } else { JavaScriptSerializer js = new JavaScriptSerializer(); Context.Response.Write("200 " + js.Serialize(user)); } } }
public void SetBalanceRefill(string inpId, string inpBalance) // пополнение { DateTime currentDate = DateTime.Today; int id, newBalance; Int32.TryParse(inpId, out id); Int32.TryParse(inpBalance, out newBalance); using (PSWContext db = new PSWContext()) { Balance balance = GetLastBalance(id); balance.BalanceSum += newBalance; balance.Date = currentDate; balance.Type = 1; db.Balances.Add(balance); db.SaveChanges(); } }