示例#1
0
 private void SubmitCommandExecute(object obj)
 {
     try
     {
         string password = (obj as PasswordBox).Password;
         if (UserName.Equals("Mag2019") && password.Equals("Mag2019"))
         {
             WorkerView workerView = new WorkerView();
             login.Close();
             workerView.Show();
             return;
         }
         else if (UserName.Equals("Man2019") && password.Equals("Man2019"))
         {
             ManagerView managerView = new ManagerView();
             login.Close();
             managerView.Show();
             return;
         }
         else
         {
             MessageBox.Show("Wrong usename or password");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
        public WorkerView GetWorkerById(int id)
        {
            WorkerView      worker          = new WorkerView();
            string          connStr         = ConfigurationManager.ConnectionStrings["MysqlConnection"].ConnectionString;
            MySqlConnection mySqlConnection = new MySqlConnection(connStr);
            string          sqlQuery        = "SELECT * FROM worker WHERE id_Worker = ?id";
            MySqlCommand    mySqlCommand    = new MySqlCommand(sqlQuery, mySqlConnection);

            mySqlCommand.Parameters.Add("?id", MySqlDbType.Int32).Value = id;
            mySqlConnection.Open();
            MySqlDataAdapter mda = new MySqlDataAdapter(mySqlCommand);
            DataTable        dt  = new DataTable();

            mda.Fill(dt);
            mySqlConnection.Close();

            worker.salary                             = Convert.ToInt32(dt.Rows[0]["salary"]);
            worker.isDeleted                          = Convert.ToBoolean(dt.Rows[0]["isDeleted"]);
            worker.numberOfDaysWorked                 = Convert.ToInt32(dt.Rows[0]["numberOfDaysWorked"]);
            worker.checkedSalaryCount                 = Convert.ToInt32(dt.Rows[0]["checkedSalaryCount"]);
            worker.id_Worker                          = Convert.ToInt32(dt.Rows[0]["id_Worker"]);
            worker.fk_Managerid_Manager               = Convert.ToInt32(dt.Rows[0]["fk_Managerid_Manager"]);
            worker.fk_LivingSpaceid_LivingSpace       = Convert.ToInt32(dt.Rows[0]["fk_LivingSpaceid_LivingSpace"]);
            worker.fk_RegisteredUserid_RegisteredUser = Convert.ToInt32(dt.Rows[0]["fk_RegisteredUserid_RegisteredUser"]);
            worker.fk_Factoryid_Factory               = Convert.ToInt32(dt.Rows[0]["fk_Factoryid_Factory"]);
            return(worker);
        }
示例#3
0
        public ActionResult Home()
        {
            try
            {
                if (Session["LoginType"].Equals("Worker") && Session["Id"] != null)
                {
                    dbCMSEntities db        = new dbCMSEntities();
                    string        sessionid = Session["Id"].ToString();
                    var           worker    = (from work in db.tblWorkers
                                               where work.WorkerId.ToString().Equals(sessionid)
                                               select work).FirstOrDefault();

                    var complaintdata = from comp in db.tblComplaints
                                        where comp.WorkerId.ToString().Equals(sessionid)
                                        select comp;

                    WorkerView wv = new WorkerView {
                        Workerdata = worker, Complaintdata = complaintdata
                    };

                    return(View(wv));
                }
                else
                {
                    return(RedirectToAction("Login", "Login"));
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
        public MainWindow(WorkerView user)
        {
            InitializeComponent();


            WorkerControl theUser = new WorkerControl(user);

            Pages.ProfilePage userProfile = new Pages.ProfilePage(user);


            StateChanged    += TestWindow_StateChanged;
            close_btn.Click += (s, e) => Close();
            max_btn.Click   += (s, e) => WindowState = WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized;
            min_btn.Click   += (s, e) => WindowState = WindowState.Minimized;
            page_Frame.NavigationUIVisibility = System.Windows.Navigation.NavigationUIVisibility.Hidden;
            userBox.Child = theUser;
            Page[] pages;
            if (user.WorkerRank == WorkerView.Rank.Manager)
            {
                pages = new Page[] { new Pages.InventoryPage(), new Pages.MangeWorkersPage(), userProfile };
            }
            else
            {
                pages          = new Page[] { userProfile };
                theUser.Click += (s, u) => menu.Change_Selection(0);
            }

            menu.ItemSourse = pages;

            Logic.Instance.WorkerUpdated += (s, e) => userBox.Child = new WorkerControl(Logic.Instance.GetUserView(user.Id));
        }
        public void Login(string username, string password, LoginView view)
        {
            List <Employee> employees = empmod.GetAllEmployees();

            if (username == "Master" && password == "Master")
            {
                OwnerView ov = new OwnerView();
                view.Close();
                ov.Show();
            }
            else if (employees.Contains((from e in employees where e.Username == username && e.Password == password select e).FirstOrDefault()))
            {
                Employee employee = (from e in employees where e.Username == username && e.Password == password select e).FirstOrDefault();
                if (employee.Responsibility != null)
                {
                    WorkerView wv = new WorkerView();
                    view.Close();
                    wv.Show();
                }
                else
                {
                    ManagerView mv = new ManagerView();
                    view.Close();
                    mv.Show();
                }
            }
            else
            {
                MessageBox.Show("Username or Password was incorrect ", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
示例#6
0
        public WorkerViewModel(WorkerView workerView)
        {
            WorkerView     = workerView;
            Worker         = new Worker();
            Worker.Address = new Address();

            SaveWorkerCommand = new RelayCommand(ExecSaveWorkerAsync, CanSaveWorker);
        }
 private void Remove_Button(object sender, RoutedEventArgs e)
 {
     if (!Logic.Instance.IsCurrentUser(Worker))
     {
         Logic.Instance.RemoveWorker(Worker.Id);
         CleanFields();
         Worker = null;
     }
 }
示例#8
0
        public bool IsCurrentUser(WorkerView other)
        {
            if (!IsUserLoggedIn)
            {
                throw new UserLoggedInException();
            }

            return(currentUser.Equals(other));
        }
示例#9
0
        private void DoNewWorkerView(object obj)
        {
            WorkerViewModel wvm = new WorkerViewModel(null);

            wvm.AddWorkerEvent += MainModel.AddWorker;
            WorkerView wView = new WorkerView {
                DataContext = wvm
            };

            wView.ShowDialog();
        }
 public ProfilePage(WorkerView user)
 {
     InitializeComponent();
     worker = user;
     profileImage.Source           = worker.GetUserImage();
     Logic.Instance.WorkerUpdated += (s, e) =>
     {
         profileImage.Source = e.GetUserImage();
         worker             = e;
         profileForm.Worker = e;
     };
     profileForm.Worker = user;
 }
        public ActionResult CompletedWork()
        {
            int        completedAssignments = 0;
            WorkerView Worker = WorkerRepos.GetWorkerById(WorkerID);
            List <ScheduleListView> Schedules = ScheduleRepos.GetScheduleById(Worker.id_Worker);

            foreach (var schedule in Schedules)
            {
                completedAssignments += AssignmentsRepos.GetCompletedAssignmentCount(schedule.id_Schedule);
            }
            Worker.completedWork = completedAssignments;
            return(View(Worker));
        }
示例#12
0
 private void User_LoggedIn(object sender, UserLoggedInEventArgs args)
 {
     currentUser = args.Worker;
     try
     {
         storeItems.Open();
     }catch (RepositoryOpenFailedExceptiom e)
     {
         log.Exception(e, "Failed on user login.");
         log.Fetal("Fetal Error, App shuting down.");
         Shutdown(1);
     }
 }
示例#13
0
        public void UpdateWorker(WorkerView updated, WorkerView toUpdate)
        {
            if (!IsUserLoggedIn)
            {
                throw new UserLoggedInException();
            }

            Worker upTo = ViewConverter.CreateWorker(updated);

            try
            {
                workers.Open();
                if (!workers.UpdateWorker(toUpdate.Id, upTo))
                {
                    workers.Close();
                    throw new WorkerUpdateFailedException();
                }
                if (currentUser.Id == toUpdate.Id)
                {
                    WorkerUpdated?.Invoke(this, ViewConverter.CreateWorkerView(workers.GetById(currentUser.Id)));
                }
                workers.Close();
            }
            catch (DAL.Repositorys.PrimeryKeyAllReadyExistException e)
            {
                log.Exception(e);
                throw new util.PrimeryKeyAllReadyExistException();
            }catch (RepositoryOpenFailedExceptiom e)
            {
                log.Exception(e, "Failed on tring to update a user.");
                log.Fetal("Fetal Error, App shuting down.");
                Shutdown(1);
                return;
            }catch (RepositorySaveFailedExceptiom e)
            {
                log.Exception(e, "Failed on tring to update a user.");
                log.Fetal("Fetal Error, App shuting down.");
                Shutdown(1);
                return;
            }
            catch (Exception e)
            {
                log.Exception(e, "Unknown exception, Closing App.");
                Shutdown(1);
                return;
            }
            finally
            {
                workers.Close();
            }
        }
 public WorkerViewModel(WorkerView workerView)
 {
     wView             = workerView;
     warehouseItem     = new vwProduct();
     WarehouseItemList = dataBaseService.GetAllWarehouseItems().ToList();
     StorageCapacity   = 0;
     foreach (var item in WarehouseItemList)
     {
         if (item.InStock == true)
         {
             StorageCapacity += (int)item.Amount;
         }
     }
 }
示例#15
0
        private void DoOpenWorkerView(object obj)
        {
            if (obj == null)
            {
                return;
            }
            WorkerViewModel wvm = new WorkerViewModel((WorkerModel)obj);

            wvm.UpdateWorkerEvent += MainModel.UpdateWorker;
            WorkerView wView = new WorkerView {
                DataContext = wvm
            };

            wView.ShowDialog();
        }
示例#16
0
        public void AddWorker(WorkerView work, byte[] hashedpass)
        {
            if (!IsUserLoggedIn)
            {
                throw new UserLoggedInException();
            }

            if (currentUser.WorkerRank != WorkerView.Rank.Manager)
            {
                throw new UserAccessException($"{WorkerView.Rank.Manager} Access needed for that action, your Access is {currentUser.WorkerRank}.");
            }

            try
            {
                workers.Open();
            }
            catch (RepositoryOpenFailedExceptiom e)
            {
                log.Exception(e, "Failed on tring to add user.");
                log.Fetal("Fetal Error, App shuting down.");
                Shutdown(1);
            }
            Worker w = ViewConverter.CreateWorker(work);

            try
            {
                w.Password = SHA256.Create().ComputeHash(hashedpass);
                workers.Add(w);
                workers.Close();
                WorkerAdded?.Invoke(this, work);
            }
            catch (DAL.Repositorys.PrimeryKeyAllReadyExistException e)
            {
                log.Exception(e);
                throw new util.PrimeryKeyAllReadyExistException();
            }catch (RepositorySaveFailedExceptiom e)
            {
                log.Exception(e, "Failed on tring to add user.");
                log.Fetal("Fetal Error, App shuting down.");
                Shutdown(1);
            }
            catch (Exception e)
            {
                log.Exception(e);
                log.Fetal("Fetal Error Closing down app...");
                Shutdown(1);
            }
        }
示例#17
0
 private void FormImplementer_Load(object sender, EventArgs e)
 {
     if (id.HasValue)
     {
         try
         {
             WorkerView view = service.GetElement(id.Value);
             if (view != null)
             {
                 textBoxFIO.Text = view.WorkerName;
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
示例#18
0
        static public void OpenWindowParam(object param)
        {
            Window window    = null;
            string typeParam = param.GetType().Name;

            switch (typeParam)
            {
            case "Department":
                window = new DepartmentView(param as Department);
                break;

            case "Worker":
                window = new WorkerView(param as Worker);
                break;

            case "Order":
                window = new OrderView(param as Order);
                break;
            }

            window.ShowDialog();
        }
示例#19
0
        public string TestAddWorker(out string password)
        {
            TestLogin();
            password = $"password{rnd.Next(10000000)}";

            byte[] pass = SHA256.Create().ComputeHash(Encoding.Unicode.GetBytes(password));

            string uname = $"random{rnd.Next(10000000)}";

            WorkerView worker = new WorkerView(0, "Yooosss", "Yolo", uname, WorkerView.Rank.Worker, null);

            try
            {
                Logic.Instance.AddWorker(worker, pass);
            }catch (PrimeryKeyAllReadyExistException e)
            {
                Logger.Exception(e, "Testing AddWorker.");
                Assert.Fail("Created a worker with an all ready taken Username");
            }

            return(uname);
        }
        private void LoginExecute(object parametar)
        {
            var passwordBox = parametar as PasswordBox;
            var password    = passwordBox.Password;

            try
            {
                if (service.LoginMaster(username, password) != null)
                {
                    MessageBox.Show("Successful login");
                    MasterAdminView window = new MasterAdminView();
                    window.Show();
                    main.Close();
                }
                else if (service.LoginUserPass(username, password) != null)
                {
                    if (ServiceCode.CurrentUser.RoleId == 1)
                    {
                        Menager menager = service.GetMenagerByUserId(ServiceCode.CurrentUser.UserId);
                        if (menager.LevelOfResponsibility == 4)
                        {
                            MessageBox.Show("Your account is not yet available.\nWait for the admin to assign you \na level of responsibility ");
                        }
                        else
                        {
                            ManagerView managerView = new ManagerView(menager);
                            managerView.Show();
                            main.Close();
                        }
                    }
                    else if (ServiceCode.CurrentUser.RoleId == 2)
                    {
                        Administrator admin = service.GetAdminByUserId(ServiceCode.CurrentUser.UserId);
                        if (admin.ExpirationDate < DateTime.Now)
                        {
                            MessageBox.Show("You need to contact company's menagment\nTo extend your access to acount!");
                        }
                        else
                        {
                            AdminView adminView = new AdminView();
                            adminView.Show();
                            main.Close();
                        }
                    }
                    else if (ServiceCode.CurrentUser.RoleId == 3)
                    {
                        WorkerView workerView = new WorkerView();
                        workerView.Show();
                        main.Close();
                    }
                }
                else if (service.LoginManagerBackUpPass(username, password) != null)
                {
                    Menager menager = service.GetMenagerByUserId(ServiceCode.CurrentUser.UserId);
                    if (menager.LevelOfResponsibility == 4)
                    {
                        MessageBox.Show("Your account is not yet available.\nWait for the admin to assign you \na level of responsibility ");
                    }
                    else
                    {
                        ManagerView managerView = new ManagerView(menager);
                        managerView.Show();
                        main.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Wrong credentials");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 public WorkerControl(WorkerView worker) : this()
 {
     User = worker;
 }
 public WorkerViewModel(WorkerView wv)
 {
     view = wv;
 }
 public ProfileForm(WorkerView worker) : this()
 {
     Worker = worker;
 }
        private void Add_Button(object sender, RoutedEventArgs e)
        {
            if (createNew)
            {
                string fName = firstField.Value;
                string lName = lastField.Value;
                string uName = userField.Value;


                byte[] img = imgField.ImageBytes;

                WorkerView.Rank?rank = rankField.SelectedItem as WorkerView.Rank?;

                if (string.IsNullOrWhiteSpace(fName))
                {
                    errorBox.Pop("First Name must be set.");
                    return;
                }
                if (string.IsNullOrWhiteSpace(lName))
                {
                    errorBox.Pop("Last Name must be set.");
                    return;
                }
                if (string.IsNullOrWhiteSpace(uName))
                {
                    errorBox.Pop("Username must be set.");
                    return;
                }

                if (rank == null)
                {
                    errorBox.Pop("Rank must be set.");
                    return;
                }

                if (string.IsNullOrWhiteSpace(passBoxFieldNew.Password))
                {
                    errorBox.Pop("Password must be set.");
                    return;
                }

                byte[] newPass  = SHA256.Create().ComputeHash(Encoding.Unicode.GetBytes(passBoxFieldNew.Password));
                byte[] confPass = SHA256.Create().ComputeHash(Encoding.Unicode.GetBytes(passBoxFieldConf.Password));
                if (!ComprePass(newPass, confPass))
                {
                    errorBox.Pop("Passwords are not the same.");
                    return;
                }

                WorkerView newWorker = new WorkerView(0, fName, lName, uName, rank.GetValueOrDefault(), img);

                try
                {
                    Logic.Instance.AddWorker(newWorker, newPass);
                    CleanFields();
                }
                catch (UserLoggedInException ex)
                {
                    Logger.Exception(ex);
                }
                catch (UserAccessException ex)
                {
                    Logger.Exception(ex);
                }
                catch (PrimeryKeyAllReadyExistException ex)
                {
                    Logger.Exception(ex);
                    errorBox.Pop("ISBN All Ready In Use.");
                }
                catch (Exception ex)
                {
                    Logger.Exception(ex);
                    Logger.Fetal("Unknown Exception on Book Submitting.");
                    Logic.Instance.Shutdown(1);
                }
            }
        }
示例#25
0
 public static WorkerLabel CreateWorkerLabel(WorkerView work)
 {
     return(new WorkerLabel(work));
 }
        private void Update_Button(object sender, RoutedEventArgs e)
        {
            if (!createNew)
            {
                errorBox.Hide();

                if (firstField.Value == string.Empty)
                {
                    errorBox.Pop("First name can't be Empty.");
                    return;
                }
                if (lastField.Value == string.Empty)
                {
                    errorBox.Pop("Last name can't be Empty.");
                    return;
                }
                if (userField.Value == string.Empty)
                {
                    errorBox.Pop("Username can't be Empty.");
                    return;
                }

                if (Logic.Instance.IsCurrentUser(Worker))
                {
                    WorkerView updated = new WorkerView(0, firstField.Value, lastField.Value, userField.Value, Worker.WorkerRank, imgField.ImageBytes);
                    try
                    {
                        Logic.Instance.UpdateWorker(updated, Worker);
                        Worker = Logic.Instance.GetUserView(worker.Id);
                    }
                    catch (WorkerUpdateFailedException ex)
                    {
                        Logger.Exception(ex);
                        errorBox.Pop("Some thing with the Id went wrong..");
                    }
                    catch (PrimeryKeyAllReadyExistException ex)
                    {
                        Logger.Exception(ex);
                        errorBox.Pop("Username All Ready Taken.");
                    }

                    return;
                }

                if (rankField.SelectedItem == null)
                {
                    errorBox.Pop("Worker rank must be set.");
                    return;
                }

                if (Logic.Instance.UserRank == WorkerView.Rank.Manager)
                {
                    WorkerView.Rank?rank = rankField.SelectedItem as WorkerView.Rank?;
                    if (rank == null)
                    {
                        throw new WhatException();
                    }

                    WorkerView updated = new WorkerView(0, firstField.Value, lastField.Value, userField.Value, (WorkerView.Rank)(rankField.SelectedItem), imgField.ImageBytes);
                    try
                    {
                        Logic.Instance.UpdateWorker(updated, Worker);
                    }
                    catch (WorkerUpdateFailedException ex)
                    {
                        Logger.Exception(ex);
                        errorBox.Pop("Some thing with the Id went wrong..");
                    }
                    catch (PrimeryKeyAllReadyExistException ex)
                    {
                        Logger.Exception(ex);
                        errorBox.Pop("Username All Ready Taken.");
                    }
                }
            }
        }
        /// <summary>
        /// Navigates to the worker form view in edit mode.
        /// </summary>
        /// <param name="obj"></param>
        private void ExecEditWorker(object obj)
        {
            WorkerView workerView = new WorkerView((Worker)WorkerListView.WorkerListUserControl.WorkerList.SelectedItem);

            WorkerListView.NavigationService.Navigate(workerView);
        }
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            if (txtUsername.Text == "WPFMaster" && txtPassword.Password == "WPFAccess")
            {
                _logged = true;
                MasterView view = new MasterView();
                view.Show();
            }
            else
            {
                try
                {
                    using (CompanyDBEntities db = new CompanyDBEntities())
                    {
                        foreach (tblUser user in db.tblUsers)
                        {
                            if (user.Username == txtUsername.Text && user.UserPassword == txtPassword.Password)
                            {
                                foreach (tblAdmin admin in db.tblAdmins)
                                {
                                    if (admin.UserID == user.UserID)
                                    {
                                        AdminView view = new AdminView();
                                        view.ShowDialog();
                                        _logged = true;
                                        return;
                                    }
                                }

                                foreach (tblManager manager in db.tblManagers)
                                {
                                    if (manager.UserID == user.UserID)
                                    {
                                        ManagerView view = new ManagerView();
                                        view.ShowDialog();
                                        _logged = true;
                                        return;
                                    }
                                }

                                foreach (tblWorker worker in db.tblWorkers)
                                {
                                    if (worker.UserID == user.UserID)
                                    {
                                        WorkerView view = new WorkerView();
                                        view.ShowDialog();
                                        _logged = true;
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
            }
            if (_logged == false)
            {
                MessageBox.Show("Username or Password Incorrect.");
            }
        }
示例#29
0
 public WorkerLabel(WorkerView worker) : this()
 {
     LabelWorker = worker;
 }
示例#30
0
 public WorkerViewModel(WorkerView workerViewOpen)
 {
     this.workerView = workerViewOpen;
     Worker          = service.GetWorkerByUserId(ServiceCode.CurrentUser.UserId);
 }