public void Initialize(string currentLogin)
 {
     _persons           = _serverApi.LoadPeople().ToDictionary(x => x.Id, y => y);
     _organisationUnits = _serverApi.LoadOrganisationUnits().ToDictionary(x => x.Id, y => y);
     _person            = _persons.First(p => p.Value.Login.Equals(currentLogin, StringComparison.OrdinalIgnoreCase)).Value;
     _types             = _serverApi.GetMetadata(0).Types;
 }
예제 #2
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                //_fileData = await DFile.GetData();
                _fileAllData = await DFile.GetAllData();

                _fileTypeData = await DFileType.GetData();

                _violationData = await DViolation.GetData();

                _creatPersonData = await DPerson.GetCreate();

                _creatPlaqueData = await DPlaque.GetCreate();
            }
            catch (Exception exception)
            {
                Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در دریافت اطلاعات\n" + exception.Message);
                Close();
                return;
            }
            //_fileSearchData = _fileData;
            _fileSearchAllData       = _fileAllData;
            CboFileType.ItemsSource  = _fileTypeData;
            CboViolation.ItemsSource = _violationData;
            DgdFile.ItemsSource      = _fileSearchAllData;
            BtnNew_Click(null, null);
        }
예제 #3
0
        public void Run()
        {
            new DStudent().Add(new Student()
            {
                Name = "这不是一个事务"
            });
            using (var context = new LZHData())
            {
                using (var dbContextTransaction = context.Database.BeginTransaction())
                {
                    DPerson  dPerson  = new DPerson(context);
                    DStudent dStudent = new DStudent(context);

                    dPerson.Add(new Person()
                    {
                        Age = 1, FirstName = "f", LastName = "f"
                    });

                    dStudent.Add(new Student()
                    {
                        Name = "f"
                    });

                    dbContextTransaction.Commit();
                }
            }
        }
예제 #4
0
        private async void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (!CheckEmpty() || !Utility.CheckNationalCode(TxtNationalCode.Text) || !CheckRepeatAdd())
            {
                return;
            }

            #region AddPerson

            try
            {
                var addPerson = new DPerson
                {
                    DName        = TxtFirstName.Text,
                    DFamily      = TxtLastName.Text,
                    DFatherName  = TxtFatherName.Text.Trim() == string.Empty ? null : TxtFatherName.Text,
                    DSex         = (byte?)CboGender.SelectedIndex,
                    DCode        = TxtNationalCode.Text,
                    DBirthday    = TxtBirthDay.Text == string.Empty ? null : Utility.CurrectDate(TxtBirthDay.Text),
                    DMobile      = TxtMobile.Text.Trim() == string.Empty ? null : TxtMobile.Text,
                    DDescription = TxtDescription.Text.Trim() == string.Empty ? null : TxtDescription.Text
                };
                await Task.Run(() => addPerson.Add());
            }
            catch (Exception exception)
            {
                Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در ثبت اطلاعات مالک\n" + exception.Message);
                return;
            }

            #endregion

            Window_Loaded(null, null);
            Utility.Message("پیام", "مشخصات با موفقیت ثبت گردید", "Correct.png");
        }
예제 #5
0
        private async void BtnDelete_Click(object sender, RoutedEventArgs e)
        {
            if (!CheckSelect())
            {
                return;
            }
            var selectItem = _personSearchData[DgdPerson.SelectedIndex];

            if (!await CheckCanDelete(selectItem.Id))
            {
                return;
            }
            Utility.MyMessageBox("هشدار",
                                 "آیا از حذف " + TxtFirstName.Text + " " + TxtLastName.Text + " با شماره ملی " + TxtNationalCode.Text +
                                 " اطمینان دارید؟ ", "Warning.png", false);
            if (!Utility.YesNo)
            {
                return;
            }
            try
            {
                var deletePerson = new DPerson
                {
                    DId = selectItem.Id
                };
                await Task.Run(() => deletePerson.Delete());
            }
            catch (Exception exception)
            {
                Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در حذف اطلاعات\n" + exception.Message);
                return;
            }
            Window_Loaded(null, null);
            Utility.Message("پیام", "اطلاعات با موفقیت حذف گردید", "Correct.png");
        }
 public static string GetActualName(this DPerson person)
 {
     if (person == null)
     {
         return("Пользователь не найден");
     }
     return(!string.IsNullOrEmpty(person.DisplayName) ? person.DisplayName : person.Login);
 }
예제 #7
0
 public Backend(IServerApi serverApi, DDatabaseInfo databaseInfo, IMessagesApi messagesApi, IChangesetUploader changesetUploader)
 {
     _serverApi         = serverApi;
     _databaseInfo      = databaseInfo;
     _messagesApi       = messagesApi;
     _changesetUploader = changesetUploader;
     _metadata          = _serverApi.GetMetadata(databaseInfo.MetadataVersion);
     _types             = _metadata.Types.ToDictionary(k => k.Id, v => v);
     _currentPerson     = databaseInfo.Person;
 }
예제 #8
0
 private async void Window_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         _personData = await DPerson.GetData();
     }
     catch (Exception exception)
     {
         Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در دریافت اطلاعات\n" + exception.Message);
         Close();
         return;
     }
     _personSearchData     = _personData;
     DgdPerson.ItemsSource = _personSearchData;
 }
예제 #9
0
        /// <summary>
        /// Получение метаданных БД Pilot
        /// </summary>
        public static void GetMetaData()
        {
            // Получение подключенного пользователя
            CurrentPerson = DALContext.Repository.CurrentPerson();

            // Получение типов БД Pilot
            IEnumerable <MType> types = DALContext.Repository.GetTypes();

            TypeFabrique.ClearTypes();
            foreach (MType mType in types)
            {
                TypeFabrique.GetType(mType.Id);
            }

            // Получение машин состояний
            StateMachines = DALContext.Repository.GetStateMachines();
        }
예제 #10
0
        private async void BtnNew_Click(object sender, RoutedEventArgs e)
        {
            var winPerson = new WinPerson();

            winPerson.ShowDialog();
            try
            {
                _personData = await DPerson.GetData();
            }
            catch (Exception exception)
            {
                Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در دریافت اطلاعات\n" + exception.Message);
                Close();
                return;
            }
            _personSearchData     = _personData;
            DgdPerson.ItemsSource = _personSearchData;
        }
예제 #11
0
        private async void BtnEdit_Click(object sender, RoutedEventArgs e)
        {
            if (!CheckSelect() || !CheckEmpty() || !Utility.CheckNationalCode(TxtNationalCode.Text))
            {
                return;
            }

            var selectItem = _personSearchData[DgdPerson.SelectedIndex];

            if (!CheckRepeatEdit(selectItem.Code))
            {
                return;
            }

            #region EditPerson

            try
            {
                var ediPerson = new DPerson
                {
                    DId          = selectItem.Id,
                    DName        = TxtFirstName.Text,
                    DFamily      = TxtLastName.Text,
                    DFatherName  = TxtFatherName.Text.Trim() == string.Empty ? null : TxtFatherName.Text,
                    DSex         = (byte?)CboGender.SelectedIndex,
                    DCode        = TxtNationalCode.Text,
                    DBirthday    = TxtBirthDay.Text == string.Empty ? null : Utility.CurrectDate(TxtBirthDay.Text),
                    DMobile      = TxtMobile.Text.Trim() == string.Empty ? null : TxtMobile.Text,
                    DDescription = TxtDescription.Text.Trim() == string.Empty ? null : TxtDescription.Text
                };
                await Task.Run(() => ediPerson.Edit());
            }
            catch (Exception exception)
            {
                Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در ویرایش اطلاعات شخصی\n" + exception.Message);
                return;
            }

            #endregion

            Window_Loaded(null, null);
            Utility.Message("پیام", "مشخصات با موفقیت ویرایش گردید", "Correct.png");
        }
예제 #12
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                _fileAllData = await DFile.GetAllData();

                _creatPersonData = await DPerson.GetCreate();

                _creatPlaqueData = await DPlaque.GetCreate();
            }
            catch (Exception exception)
            {
                Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در دریافت اطلاعات\n" + exception.Message);
                Close();
                return;
            }
            _fileSearchAllData  = _fileAllData;
            DgdFile.ItemsSource = _fileSearchAllData;
            FileId = 0;
            New();
        }
예제 #13
0
 private async void Window_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         _personData = await DPerson.GetData();
     }
     catch (Exception exception)
     {
         Utility.MyMessageBox("خطا در بانک اطلاعاتی", "خطا در دریافت اطلاعات\n" + exception.Message);
         Close();
         return;
     }
     _personSearchData = _personData;
     if (string.IsNullOrEmpty(TxtSearch.Text.Trim()))
     {
         DgdPerson.ItemsSource = _personSearchData;
         TxtSearch.Text        = string.Empty;
     }
     else
     {
         TxtSearch_TextChanged(null, null);
     }
     BtnNew_Click(null, null);
 }
예제 #14
0
        public static bool IsTaskInitiator(this DTask task, DPerson user)
        {
            var executorPosition = task.InitiatorPosition;

            return(user.Positions.Any(x => x.Position == executorPosition.Id));
        }
예제 #15
0
 public bool Init(DPerson person)
 {
     dPerson = person;
     InitSkill();
     return(true);
 }