public static async void WithdrawMoneyAsync(decimal money, Shift shift) { using (CashboxModel db = new CashboxModel()) { try { db.DBConnectionCheck(); db.Shifts.Attach(shift); if (shift.CurrentCash >= money) { shift.CurrentCash -= money; shift.CashWithdrawn += money; await db.SaveChangesAsync(); TransactionCompleted?.Invoke(shift, new ShiftTransactionEventArgs("—редства успешно изъ¤ты!", true)); } else { TransactionCompleted?.Invoke(shift, new ShiftTransactionEventArgs("Ќевозможно изъ¤ть введенную сумму, так как в кассе находитс¤ меньше средств, чем требуетс¤", false)); } } catch (Exception e) { TransactionCompleted?.Invoke(shift, new ShiftTransactionEventArgs(e.Message + "\n—редства изъ¤ты не были!", false)); } } }
public static User SignIn(string uid, string pwd) { using (CashboxModel db = new CashboxModel()) { User user = null; try { db.DBConnectionCheck(); user = db.Users.FirstOrDefault(u => uid == u.UId && pwd == u.Password); if (user != null) { if (SigningIn != null) { SigningIn(user, new SignInEventArgs(true)); return(user); } } else { if (SigningIn != null) { SigningIn(user, new SignInEventArgs(false)); return(user); } } } catch (Exception e) { MessageBox.Show(e.Message); } return(user); } }
public static Item GetItem(object sender, string iId) { using (CashboxModel db = new CashboxModel()) { Item item = null; try { db.DBConnectionCheck(); item = db.Items.FirstOrDefault(i => i.IId == iId); if (item != null) { ItemSearching?.Invoke(sender, new ItemSearchEventArgs($"Товар с идентификатором {iId} добавлен в чек!", true)); return(item); } else { ItemSearching?.Invoke(sender, new ItemSearchEventArgs($"Товар с идентификатором {iId} в базе данных не зарегистрирован!", false)); return(null); } } catch (Exception e) { ItemSearching?.Invoke(sender, new ItemSearchEventArgs($"Не удалось найти товар в базе данных!/n{e.Message}", false)); return(null); } } }
public bool SellItem() { try { Item itemSold = null; using (CashboxModel db = new CashboxModel()) { db.DBConnectionCheck(); long currShiftId = db.Shifts.OrderByDescending(sh => sh.SId).Select(sh => sh.SId).FirstOrDefault(); //проверка на существование данного ключа товара в текущей смене //добавление данного ключа при отсутствии, либо увеличение численности при наличии } } catch (Exception e) { } }
public static async void AddMoneyAsync(decimal money, Shift shift) { using (CashboxModel db = new CashboxModel()) { try { db.DBConnectionCheck(); db.Shifts.Attach(shift); shift.CashAdded += money; shift.CurrentCash += money; await db.SaveChangesAsync(); TransactionCompleted?.Invoke(shift, new ShiftTransactionEventArgs("—редства успешно добавлены!", true)); } catch (Exception e) { TransactionCompleted?.Invoke(shift, new ShiftTransactionEventArgs(e.Message + "\n—редства добавлены не были!", false)); } } }
public static Shift ShiftStart(IUser <User> user) { using (CashboxModel db = new CashboxModel()) { try { db.DBConnectionCheck(); Shift prevShift = db.Shifts.OrderByDescending(sh => sh.SId).FirstOrDefault(); decimal currCash = 0; currCash = prevShift != null ? prevShift.CurrentCash : 0; Shift currShift = new Shift(user, currCash); db.Shifts.Add(currShift); db.SaveChanges(); return(currShift); } catch (Exception e) { MessageBox.Show(e.Message); return(null); } } }
public bool EndShift() { using (CashboxModel db = new CashboxModel()) { try { db.DBConnectionCheck(); db.Shifts.Attach(this); EndDateTime = DateTime.Now; db.SaveChanges(); CurrentCash = 0; CashReceived = 0; CashAdded = 0; CashWithdrawn = 0; CashReturned = 0; return(true); } catch (Exception e) { MessageBox.Show(e.Message); return(false); } } }