private void BtnDelete_Click(object sender, RoutedEventArgs e)
        {
            var response = new EmployeeNoteSQLiteRepository().SetStatusDeleted(CurrentEmployeeNoteDG.Identifier);

            if (response.Success)
            {
                MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Stavka_je_uspešno_obrisanaUzvičnik"));

                CurrentEmployeeNoteForm            = new EmployeeNoteViewModel();
                CurrentEmployeeNoteForm.Identifier = Guid.NewGuid();
                CurrentEmployeeNoteForm.ItemStatus = ItemStatus.Added;

                CurrentEmployeeNoteDG = null;

                EmployeeCreatedUpdated();

                Thread displayThread = new Thread(() => DisplayEmployeeNoteData());
                displayThread.IsBackground = true;
                displayThread.Start();
            }
            else
            {
                MainWindow.ErrorMessage = response.Message;
            }
        }
Example #2
0
        public EmployeeNoteResponse Create(EmployeeNoteViewModel EmployeeNote)
        {
            EmployeeNoteResponse response = new EmployeeNoteResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();

                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, EmployeeNote);
                    insertCommand.ExecuteNonQuery();
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    return(response);
                }
                db.Close();

                response.Success = true;
                return(response);
            }
        }
        private void btnEditNote_Click(object sender, RoutedEventArgs e)
        {
            CurrentEmployeeNoteForm            = new EmployeeNoteViewModel();
            CurrentEmployeeNoteForm.Identifier = CurrentEmployeeNoteDG.Identifier;
            CurrentEmployeeNoteForm.ItemStatus = ItemStatus.Edited;

            CurrentEmployeeNoteForm.IsSynced  = CurrentEmployeeNoteDG.IsSynced;
            CurrentEmployeeNoteForm.Note      = CurrentEmployeeNoteDG.Note;
            CurrentEmployeeNoteForm.NoteDate  = CurrentEmployeeNoteDG.NoteDate;
            CurrentEmployeeNoteForm.UpdatedAt = CurrentEmployeeNoteDG.UpdatedAt;
        }
Example #4
0
        private static EmployeeNoteViewModel Read(SqliteDataReader query)
        {
            int counter = 0;
            EmployeeNoteViewModel dbEntry = new EmployeeNoteViewModel();

            dbEntry.Id         = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.Identifier = SQLiteHelper.GetGuid(query, ref counter);
            dbEntry.Employee   = SQLiteHelper.GetEmployee(query, ref counter);
            dbEntry.Note       = SQLiteHelper.GetString(query, ref counter);
            dbEntry.NoteDate   = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.ItemStatus = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.IsSynced   = SQLiteHelper.GetBoolean(query, ref counter);
            dbEntry.UpdatedAt  = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.CreatedBy  = SQLiteHelper.GetCreatedBy(query, ref counter);
            dbEntry.Company    = SQLiteHelper.GetCompany(query, ref counter);
            return(dbEntry);
        }
        public static EmployeeNoteViewModel ConvertToEmployeeNoteViewModelLite(this EmployeeNote EmployeeNote)
        {
            EmployeeNoteViewModel EmployeeNoteViewModel = new EmployeeNoteViewModel()
            {
                Id         = EmployeeNote.Id,
                Identifier = EmployeeNote.Identifier,

                Note       = EmployeeNote.Note,
                NoteDate   = EmployeeNote.NoteDate,
                ItemStatus = EmployeeNote.ItemStatus,
                IsActive   = EmployeeNote.Active,

                UpdatedAt = EmployeeNote.UpdatedAt,
                CreatedAt = EmployeeNote.CreatedAt
            };

            return(EmployeeNoteViewModel);
        }
Example #6
0
        public EmployeeNoteListResponse GetEmployeeNotesByEmployee(int companyId, Guid EmployeeIdentifier)
        {
            EmployeeNoteListResponse     response      = new EmployeeNoteListResponse();
            List <EmployeeNoteViewModel> EmployeeNotes = new List <EmployeeNoteViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM EmployeeNotes " +
                        "WHERE EmployeeIdentifier = @EmployeeIdentifier " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC;", db);

                    selectCommand.Parameters.AddWithValue("@EmployeeIdentifier", EmployeeIdentifier);
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        EmployeeNoteViewModel dbEntry = Read(query);
                        EmployeeNotes.Add(dbEntry);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.EmployeeNotes  = new List <EmployeeNoteViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success       = true;
            response.EmployeeNotes = EmployeeNotes;
            return(response);
        }
        public Employee_Note_AddEdit(EmployeeViewModel employee)
        {
            employeeService     = DependencyResolver.Kernel.Get <IEmployeeService>();
            employeeNoteService = DependencyResolver.Kernel.Get <IEmployeeNoteService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentEmployee                    = employee;
            CurrentEmployeeNoteForm            = new EmployeeNoteViewModel();
            CurrentEmployeeNoteForm.Identifier = Guid.NewGuid();
            CurrentEmployeeNoteForm.ItemStatus = ItemStatus.Added;

            Thread displayThread = new Thread(() => DisplayEmployeeNoteData());

            displayThread.IsBackground = true;
            displayThread.Start();

            txtNote.Focus();
        }
Example #8
0
        private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, EmployeeNoteViewModel EmployeeNote)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", EmployeeNote.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", EmployeeNote.Identifier);
            insertCommand.Parameters.AddWithValue("@EmployeeId", ((object)EmployeeNote.Employee.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeIdentifier", ((object)EmployeeNote.Employee.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeCode", ((object)EmployeeNote.Employee.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeName", ((object)EmployeeNote.Employee.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@EmployeeInternalCode", ((object)EmployeeNote.Employee.EmployeeCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Note", EmployeeNote.Note);
            insertCommand.Parameters.AddWithValue("@NoteDate", ((object)EmployeeNote.NoteDate) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@ItemStatus", ((object)EmployeeNote.ItemStatus) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@IsSynced", EmployeeNote.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)EmployeeNote.UpdatedAt) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CreatedById", MainWindow.CurrentUser.Id);
            insertCommand.Parameters.AddWithValue("@CreatedByName", MainWindow.CurrentUser.FirstName + " " + MainWindow.CurrentUser.LastName);
            insertCommand.Parameters.AddWithValue("@CompanyId", MainWindow.CurrentCompany.Id);
            insertCommand.Parameters.AddWithValue("@CompanyName", MainWindow.CurrentCompany.CompanyName);

            return(insertCommand);
        }
        public static EmployeeNote ConvertToEmployeeNote(this EmployeeNoteViewModel EmployeeNoteViewModel)
        {
            EmployeeNote EmployeeNote = new EmployeeNote()
            {
                Id         = EmployeeNoteViewModel.Id,
                Identifier = EmployeeNoteViewModel.Identifier,

                EmployeeId = EmployeeNoteViewModel.Employee?.Id ?? null,

                Note        = EmployeeNoteViewModel.Note,
                NoteDate    = EmployeeNoteViewModel.NoteDate,
                ItemStatus  = EmployeeNoteViewModel.ItemStatus,
                Active      = EmployeeNoteViewModel.IsActive,
                CreatedById = EmployeeNoteViewModel.CreatedBy?.Id ?? null,
                CompanyId   = EmployeeNoteViewModel.Company?.Id ?? null,

                CreatedAt = EmployeeNoteViewModel.CreatedAt,
                UpdatedAt = EmployeeNoteViewModel.UpdatedAt
            };

            return(EmployeeNote);
        }
Example #10
0
        public EmployeeNoteResponse GetEmployeeNote(Guid identifier)
        {
            EmployeeNoteResponse  response     = new EmployeeNoteResponse();
            EmployeeNoteViewModel EmployeeNote = new EmployeeNoteViewModel();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM EmployeeNotes " +
                        "WHERE Identifier = @Identifier;", db);
                    selectCommand.Parameters.AddWithValue("@Identifier", identifier);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        EmployeeNoteViewModel dbEntry = Read(query);
                        EmployeeNote = dbEntry;
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.EmployeeNote   = new EmployeeNoteViewModel();
                    return(response);
                }
                db.Close();
            }
            response.Success      = true;
            response.EmployeeNote = EmployeeNote;
            return(response);
        }
        public static EmployeeNoteViewModel ConvertToEmployeeNoteViewModel(this EmployeeNote EmployeeNote)
        {
            EmployeeNoteViewModel EmployeeNoteViewModel = new EmployeeNoteViewModel()
            {
                Id         = EmployeeNote.Id,
                Identifier = EmployeeNote.Identifier,

                Employee = EmployeeNote.Employee?.ConvertToEmployeeViewModelLite(),

                Note       = EmployeeNote.Note,
                NoteDate   = EmployeeNote.NoteDate,
                ItemStatus = EmployeeNote.ItemStatus,
                IsActive   = EmployeeNote.Active,

                CreatedBy = EmployeeNote.CreatedBy?.ConvertToUserViewModelLite(),
                Company   = EmployeeNote.Company?.ConvertToCompanyViewModelLite(),

                UpdatedAt = EmployeeNote.UpdatedAt,
                CreatedAt = EmployeeNote.CreatedAt
            };

            return(EmployeeNoteViewModel);
        }
 private void btnCancelNote_Click(object sender, RoutedEventArgs e)
 {
     CurrentEmployeeNoteForm            = new EmployeeNoteViewModel();
     CurrentEmployeeNoteForm.Identifier = Guid.NewGuid();
     CurrentEmployeeNoteForm.ItemStatus = ItemStatus.Added;
 }
        private void btnAddNote_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (CurrentEmployeeNoteForm.Note == null)
            {
                MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Obavezno_poljeDvotačka_Napomena"));
                return;
            }

            #endregion

            Thread th = new Thread(() =>
            {
                SubmitButtonEnabled = false;


                CurrentEmployeeNoteForm.Employee = CurrentEmployee;


                CurrentEmployeeNoteForm.Company = new CompanyViewModel()
                {
                    Id = MainWindow.CurrentCompanyId
                };
                CurrentEmployeeNoteForm.CreatedBy = new UserViewModel()
                {
                    Id = MainWindow.CurrentUserId
                };

                new EmployeeNoteSQLiteRepository().Delete(CurrentEmployeeNoteForm.Identifier);
                var response = new EmployeeNoteSQLiteRepository().Create(CurrentEmployeeNoteForm);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = response.Message;

                    CurrentEmployeeNoteForm            = new EmployeeNoteViewModel();
                    CurrentEmployeeNoteForm.Identifier = Guid.NewGuid();
                    CurrentEmployeeNoteForm.ItemStatus = ItemStatus.Added;
                    CurrentEmployeeNoteForm.IsSynced   = false;
                    return;
                }

                CurrentEmployeeNoteForm            = new EmployeeNoteViewModel();
                CurrentEmployeeNoteForm.Identifier = Guid.NewGuid();
                CurrentEmployeeNoteForm.ItemStatus = ItemStatus.Added;
                CurrentEmployeeNoteForm.IsSynced   = false;
                EmployeeCreatedUpdated();

                DisplayEmployeeNoteData();

                Application.Current.Dispatcher.BeginInvoke(
                    System.Windows.Threading.DispatcherPriority.Normal,
                    new Action(() =>
                {
                    txtNote.Focus();
                })
                    );

                SubmitButtonEnabled = true;
            });
            th.IsBackground = true;
            th.Start();
        }
        private void LoadChildViewmodels()
        {
            lock (_childVM)
            {
                if (_employee != null && !InDesigner)
                {
                    var isEnabled            = (!IsNew);
                    var isEnabledForFakeUser = (!IsNew);

                    var empVm = new EmployeeDetailViewModel();                   //(EmployeeDetailViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEEDETAIL);
                    empVm.IsNew               = IsNew;
                    empVm.Employee            = _employee;
                    empVm.PropertyChanged    += EmpVmPropertyChanged;
                    empVm.EmployeeViewModel   = this;
                    empVm.EmployeeWasUpdated += OnEmployeeUpdated;
                    SetViewModelState(empVm, true);
                    _childVM.Add(empVm);

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_EMPLOYEEDATEINTERVALSVIEW))
                    {
                        var empdivm = new EmployeeDateIntervalsViewModel(); //(EmployeeDateIntervalsViewModel)Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEEDATEINTERVAL);
                        empdivm.Employee          = _employee;
                        empdivm.EmployeeViewModel = this;
                        SetViewModelState(empdivm, isEnabled);
                        empdivm.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(empdivm);
                    }

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_USERDETAIL))
                    {
                        var userVm = new UserViewModel();                     //(UserViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_USER);
                        userVm.Employee          = _employee;
                        userVm.EmployeeViewModel = this;
                        SetViewModelState(userVm, isEnabled);
                        if (NewOrganizationCreated != null)
                        {
                            userVm.NewOrganizationCreated = NewOrganizationCreated;
                        }
                        userVm.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(userVm);
                    }

                    var planningVm = new PlanningPeriodViewModel();                 //(PlanningPeriodViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_PLANNINGPERIOD);
                    planningVm.Employee          = _employee;
                    planningVm.EmployeeViewModel = this;
                    SetViewModelState(planningVm, isEnabled);
                    planningVm.EmployeeWasUpdated += OnEmployeeUpdated;
                    _childVM.Add(planningVm);

                    var emplVm = new EmploymentViewModel();                 //(EmploymentViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYMENT);
                    emplVm.Employee          = _employee;
                    emplVm.PropertyChanged  += EmplVmPropertyChanged;
                    emplVm.EmployeeViewModel = this;
                    SetViewModelState(emplVm, isEnabled);
                    emplVm.EmployeeWasUpdated += OnEmployeeUpdated;
                    _childVM.Add(emplVm);

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_EMPLOYEEWORKSCHEDULE))
                    {
                        var workScheduleVm = new WorkScheduleViewModel();                     // (WorkScheduleViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_WORKSCHEDULE);
                        workScheduleVm.Employee          = _employee;
                        workScheduleVm.EmployeeViewModel = this;
                        SetViewModelState(workScheduleVm, isEnabled);
                        workScheduleVm.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(workScheduleVm);
                    }

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_EMPLOYEENOTE))
                    {
                        var employeeNoteViewModel = new EmployeeNoteViewModel();                     // (EmployeeNoteViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEENOTE);
                        employeeNoteViewModel.Employee          = _employee;
                        employeeNoteViewModel.EmployeeViewModel = this;
                        SetViewModelState(employeeNoteViewModel, isEnabled);
                        employeeNoteViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(employeeNoteViewModel);
                    }

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_EMPLOYEESALARYSUPPLEMENT))
                    {
                        var employeeSalarySupplementsViewModel = new EmployeeSalarySupplementsViewModel();
                        //(EmployeeSalarySupplementsViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEESALARYSUPPLEMENT);
                        employeeSalarySupplementsViewModel.Employee          = _employee;
                        employeeSalarySupplementsViewModel.EmployeeViewModel = this;
                        if (Employee.FakeUser)
                        {
                            isEnabledForFakeUser = false;
                        }
                        SetViewModelState(employeeSalarySupplementsViewModel, isEnabledForFakeUser);
                        employeeSalarySupplementsViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(employeeSalarySupplementsViewModel);
                    }

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_EMPLOYEEACCUMULATOR))
                    {
                        var empAccumulatorVm = new EmployeeAccumulatorViewModel();                     //(EmployeeAccumulatorViewModel)Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEEACCUMULATOR);
                        empAccumulatorVm.Employee          = _employee;
                        empAccumulatorVm.EmployeeViewModel = this;
                        SetViewModelState(empAccumulatorVm, isEnabled);
                        empAccumulatorVm.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(empAccumulatorVm);
                    }

                    if (ViewPermissionHelper.IsViewVisible(Constants.VIEW_EMPLOYEECONTRACT))
                    {
                        var employeeContractViewModel = new EmployeeContractViewModel();
                        //(EmployeeContractViewModel)Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEECONTRACT);
                        employeeContractViewModel.Employee          = _employee;
                        employeeContractViewModel.EmployeeViewModel = this;
                        SetViewModelState(employeeContractViewModel, isEnabled);
                        employeeContractViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                        _childVM.Add(employeeContractViewModel);
                    }

                    var employeeQualificationsViewModel = new EmployeeQualificationsViewModel();                 // Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEEQUALIFICATIONS);
                    employeeQualificationsViewModel.Employee          = _employee;
                    employeeQualificationsViewModel.EmployeeViewModel = this;
                    SetViewModelState(employeeQualificationsViewModel, isEnabled);
                    employeeQualificationsViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                    _childVM.Add(employeeQualificationsViewModel);

                    var employeeSkillsViewModel = new EmployeeSkillsViewModel();                //(EmployeeSkillsViewModel) Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEESKILLS);
                    employeeSkillsViewModel.Employee          = _employee;
                    employeeSkillsViewModel.EmployeeViewModel = this;
                    SetViewModelState(employeeSkillsViewModel, isEnabled);
                    employeeSkillsViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                    _childVM.Add(employeeSkillsViewModel);

                    var employeeApprovalsViewModel = new EmployeeApprovalsViewModel();                 //(EmployeeApprovalsViewModel)Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEEAPPROVALS);
                    employeeApprovalsViewModel.Employee          = _employee;
                    employeeApprovalsViewModel.EmployeeViewModel = this;
                    SetViewModelState(employeeApprovalsViewModel, isEnabled);
                    employeeApprovalsViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                    _childVM.Add(employeeApprovalsViewModel);

                    var employeePlanningUnitKnowledgeViewModel = new EmployeePlanningUnitKnowledgeViewModel();                 // (EmployeePlanningUnitKnowledgeViewModel)Router.GetNonSharedViewModel(Constants.VIEWMODEL_EMPLOYEEPLANNINGUNITKNOWLEDGE);
                    employeePlanningUnitKnowledgeViewModel.Employee          = _employee;
                    employeePlanningUnitKnowledgeViewModel.EmployeeViewModel = this;
                    SetViewModelState(employeePlanningUnitKnowledgeViewModel, isEnabled);
                    employeePlanningUnitKnowledgeViewModel.EmployeeWasUpdated += OnEmployeeUpdated;
                    _childVM.Add(employeePlanningUnitKnowledgeViewModel);

                    // Monitor childVM:s
                    _editingStates.Clear();
                    foreach (var vm in _childVM)
                    {
                        if (vm is EmployeeDetailViewModel)
                        {
                            vm.MasterViewId = ViewId;
                        }

                        if (!_editingStates.ContainsKey(vm.ViewId))
                        {
                            vm.EditingChanged += vm_EditingChanged;
                            _editingStates.Add(vm.ViewId, new EditingState()
                            {
                                ViewId = vm.ViewId, IsEditing = false
                            });
                        }
                    }
                }
            }
        }