Beispiel #1
0
        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));
                }
            }
        }
Beispiel #2
0
 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);
     }
 }
Beispiel #3
0
 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);
         }
     }
 }
Beispiel #4
0
 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)
     {
     }
 }
Beispiel #5
0
        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));
                }
            }
        }
Beispiel #6
0
 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);
         }
     }
 }
Beispiel #7
0
 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);
         }
     }
 }