예제 #1
0
        private void GotoWareHouseWSButton_OnClick(object sender, RoutedEventArgs e)
        {
            WareHouseWindow whWindow = new WareHouseWindow();

            whWindow.Show();

            this.Close();
        }
예제 #2
0
        private async Task LoginByCodeAsync(string code)
        {
            try
            {
                await Task.Run(() =>
                {
                    List <Employee> empList = _unitofwork.EmployeeRepository.Get().ToList();
                    Employee loginEmp       = empList.FirstOrDefault(x => x.DecryptedCode.Equals(code));
                    if (loginEmp != null)
                    {
                        App.Current.Properties["EmpLogin"] = loginEmp;

                        if (loginEmp.EmpRole == (int)EmployeeRole.Stock)
                        {
                            Dispatcher.Invoke(() =>
                            {
                                WareHouseWindow wareHouse = new WareHouseWindow();
                                wareHouse.Show();
                            });
                        }
                        else
                        {
                            try
                            {
                                SalaryNote empSalaryNote = _unitofwork.SalaryNoteRepository.Get(sle =>
                                                                                                sle.EmpId.Equals(loginEmp.EmpId) && sle.ForMonth.Equals(DateTime.Now.Month) &&
                                                                                                sle.ForYear.Equals(DateTime.Now.Year)).First();

                                App.Current.Properties["EmpSN"] = empSalaryNote;
                                WorkingHistory empWorkHistory   = new WorkingHistory
                                {
                                    ResultSalary = empSalaryNote.SnId,
                                    EmpId        = empSalaryNote.EmpId
                                };
                                App.Current.Properties["EmpWH"] = empWorkHistory;
                            }
                            catch (Exception ex)
                            {
                                SalaryNote empSalary = new SalaryNote
                                {
                                    EmpId       = loginEmp.EmpId,
                                    SalaryValue = 0,
                                    WorkHour    = 0,
                                    ForMonth    = DateTime.Now.Month,
                                    ForYear     = DateTime.Now.Year,
                                    IsPaid      = 0
                                };
                                _unitofwork.SalaryNoteRepository.Insert(empSalary);
                                _unitofwork.Save();
                                WorkingHistory empWorkHistory = new WorkingHistory
                                {
                                    ResultSalary = empSalary.SnId,
                                    EmpId        = empSalary.EmpId
                                };
                                App.Current.Properties["EmpWH"] = empWorkHistory;
                                App.Current.Properties["EmpSN"] = empSalary;
                            }

                            Dispatcher.Invoke(() =>
                            {
                                EmpLoginListData.emploglist.Clear();
                                EmpLoginListData.emploglist.Add(new EmpLoginList
                                {
                                    Emp         = loginEmp,
                                    EmpSal      = App.Current.Properties["EmpSN"] as SalaryNote,
                                    EmpWH       = App.Current.Properties["EmpWH"] as WorkingHistory,
                                    TimePercent = 0
                                });

                                EmployeeWorkSpace.MainWindow main = new EmployeeWorkSpace.MainWindow();
                                main.Show();
                            });
                        }
                    }
                    else
                    {
                        MessageBox.Show("incorrect username or password");
                        return;
                    }

                    Dispatcher.Invoke(() =>
                    {
                        this.Close();
                    });
                });
            }
            catch (Exception ex)
            {
                MessageBox.Show("Something went wrong: \n" + ex.Message);
                AppLog.Error(ex);
            }
        }