Пример #1
0
        private async void OnSelectEmployee(UserDto obj)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                // Thuc hien cong viec tai day
                ListEmployeeBindProp.ToList().ForEach(c => c.IsSelected = false);
                var id = Xamarin.Essentials.Preferences.Get("token", string.Empty);
                if (obj.Id == Guid.Parse(id))
                {
                    IsSelfBindProp = true;
                }
                else
                {
                    IsSelfBindProp = false;
                }
                obj.IsSelected   = true;
                EmployeeBindProp = obj;
            }
            catch (Exception e)
            {
                await ShowErrorAsync(e);
            }
            finally
            {
                IsBusy = false;
            }
        }
Пример #2
0
        public override void OnNavigatedTo(INavigationParameters parameters)
        {
            base.OnNavigatedTo(parameters);

            switch (parameters.GetNavigationMode())
            {
            case NavigationMode.Back:
                if (parameters.ContainsKey(Keys.EMPLOYEE))
                {
                    var employee = parameters[Keys.EMPLOYEE] as VisualEmployeeModel;
                    ListEmployeeBindProp.Add(employee);
                }
                break;

            case NavigationMode.New:
                GetEmployees();
                break;

            case NavigationMode.Forward:
                break;

            case NavigationMode.Refresh:
                break;
            }
        }
Пример #3
0
        private async void OnDelete(object obj)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                // Thuc hien cong viec tai day
                var ok = await DisplayDeleteAlertAsync();

                if (ok)
                {
                    ListEmployeeBindProp.Remove(EmployeeBindProp);
                    EmployeeBindProp = null;
                }
            }
            catch (Exception e)
            {
                await ShowErrorAsync(e);
            }
            finally
            {
                IsBusy = false;
            }
        }
Пример #4
0
        private async void OnDelete(object obj)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                // Thuc hien cong viec tai day
                var canDelete = await DisplayDeleteAlertAsync();

                if (canDelete)
                {
                    var employeeLogic = new EmployeeLogic(_dbContext);
                    await employeeLogic.DeleteAsync(SelectedEmployeeBindProp.Id);

                    var deletedEmployee = ListEmployeeBindProp.FirstOrDefault(h => h.Id == SelectedEmployeeBindProp.Id);
                    ListEmployeeBindProp.Remove(deletedEmployee);
                }
            }
            catch (Exception e)
            {
                await ShowError(e);
            }
            finally
            {
                IsBusy = false;
            }
        }
Пример #5
0
        public async override void OnNavigatedTo(INavigationParameters parameters)
        {
            base.OnNavigatedTo(parameters);
            switch (parameters.GetNavigationMode())
            {
            case NavigationMode.Back:
                if (parameters.ContainsKey(nameof(EmployeeBindProp)))
                {
                    var employee = parameters[nameof(EmployeeBindProp)] as UserDto;
                    ListEmployeeBindProp.Add(employee);
                }
                break;

            case NavigationMode.New:
                using (var client = new HttpClient())
                {
                    var response = await client.GetAsync(Properties.Resources.BaseUrl + "users/");

                    var id = Xamarin.Essentials.Preferences.Get("token", string.Empty);
                    if (response.IsSuccessStatusCode)
                    {
                        var employees = JsonConvert.DeserializeObject <IEnumerable <UserDto> >(await response.Content.ReadAsStringAsync());
                        foreach (var employee in employees)
                        {
                            ListEmployeeBindProp.Add(employee);
                        }
                        var em = ListEmployeeBindProp.FirstOrDefault(e => e.Id == Guid.Parse(id));
                        em.IsSelected    = true;
                        EmployeeBindProp = em;
                        IsSelfBindProp   = true;
                    }
                    else
                    {
                        await PageDialogService.DisplayAlertAsync("Lỗi", $"{await response.Content.ReadAsStringAsync()}", "Đóng");
                    }
                }
                break;

            case NavigationMode.Forward:
                break;

            case NavigationMode.Refresh:
                break;

            default:
                break;
            }
        }