Пример #1
0
        /// <summary>
        /// The BtnTümMaaşİptal_Click
        /// </summary>
        /// <param name="sender">The <see cref="object"/></param>
        /// <param name="e">The <see cref="RoutedEventArgs"/></param>
        private void BtnTümMaaşİptal_Click(object sender, RoutedEventArgs e)
        {
            var internettarih = İnternetTarih();

            if (MessageBox.Show("Bu Ay Yapılan Tüm Maaşları Silmek İstiyor Musun?", "Maaş", MessageBoxButton.YesNo, MessageBoxImage.Exclamation,
                                MessageBoxResult.No) != MessageBoxResult.Yes)
            {
                return;
            }

            var silinecek = new MaaşSorgulamalar().MaaşlarVeri.Where(p => p.Yil == YılAl(internettarih) && p.Ay == AyAl(internettarih) - 1);

            Maas.ExecuteCommand("DELETE FROM Maaslar Where Yil=" + YılAl(internettarih) + " AND Ay=" + (AyAl(internettarih) - 1));
            İcraGeriYükle(this);
            DgridMaaşSorgu.ItemsSource  = new MaaşRaporSorgulmalar().MaaşlarVeri;
            DgridMaaşSorgu2.ItemsSource = DgridMaaşSorgu.ItemsSource;
        }
Пример #2
0
        /// <summary>
        /// The BtnMaaşSorguMaaşSil_Click
        /// </summary>
        /// <param name="sender">The <see cref="object"/></param>
        /// <param name="e">The <see cref="RoutedEventArgs"/></param>
        private void BtnMaaşSorguMaaşSil_Click(object sender, RoutedEventArgs e)
        {
            var sütun         = DgridMaaşSorgu.SelectedItem as dynamic;
            var internettarih = İnternetTarih();

            if (!(sütun.Yil == YılAl(internettarih) && sütun.Ay == AyAl(internettarih) - 1))
            {
                MessageBox.Show("Yalnızca Bu Aya İlişkin Maaşları İptal Edebilirsiniz. Geçmişe Yönelik Maaşlar İptal Edilmez.", "Maaş",
                                MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }
            if (MessageBox.Show("Seçili Hesaplanmış Maaşı Silmek İstiyor Musun?", "Maaş", MessageBoxButton.YesNo, MessageBoxImage.Question,
                                MessageBoxResult.No) != MessageBoxResult.Yes)
            {
                return;
            }

            var silinecek = new MaaşSorgulamalar().MaaşlarVeri.First(p => p.MaasID == sütun.MaasID);

            Maas.ExecuteCommand("DELETE FROM Maaslar Where MaasID=" + silinecek.MaasID);
            İcraGeriYükle(this);
            DgridMaaşSorgu.ItemsSource  = new MaaşRaporSorgulmalar().MaaşlarVeri;
            DgridMaaşSorgu2.ItemsSource = DgridMaaşSorgu.ItemsSource;
        }
Пример #3
0
        /// <summary>
        /// The Hesapla
        /// </summary>
        /// <param name="form">The <see cref="MainWindow"/></param>
        /// <param name="maaşonay">The <see cref="bool"/></param>
        public static void Hesapla(MainWindow form, bool maaşonay)
        {
            if (!Geçerli(form.GridGenelVeriler))
            {
                MessageBox.Show("Genel Veriler Sekmesindeki Kırmızı Alanları Düzelt.", "Ayarlar", MessageBoxButton.OK,
                                MessageBoxImage.Exclamation);
                form.TabCtrlSubSözleşmeli.SelectedItem = form.TabGenel;
                return;
            }
            KontrolleriEtkinleştir(form, false);
            var maaşverileri = new MaaşSorgulamalar().MaaşlarVeri;

            form.ProgressTamamlanma.DataContext = Progress;
            IcraVerileri.Clear();
            Sendikabordro.Clear();
            Besbordro.Clear();
            Veritabanımaaşlartablosu.Clear();
            Fastreportbordro.Clear();
            GeçenDönemPersonel(form, maaşverileri);
            GeçenDönemTahakkuk(maaşverileri);
            Task.Factory.StartNew(() =>
            {
                if (maaşonay)
                {
                    Yedekleİcra();
                }
                foreach (Kisiler kişi in form.MaaşdataGrid.ItemsSource)
                {
                    if (kişi.KisiSecili == true && !maaşverileri.AsParallel().Any(z => z.Ay == Ay - 1 && z.KisiID == kişi.KisiID &&
                                                                                  z.MaasTipi == kişi.KisiMaasTipi && z.Yil == Yıl))
                    {
                        AgiAileÇocukYardımHesapla(kişi);
                        ÇocukKontrol(kişi);
                        HesaplaMaaş(ref _sozlesmeUcreti, ref _esYardimi, ref _cocukYardimi, ref _ekTazminat, ref _sakatlıkIndirimi,
                                    kişi, ref _sendikaYardimi, ref _sgkMatrah, out _dvMatrah, out _damgaVergisi, ref _sendikaKesinti, out _malYaslilikisveren,
                                    out _gssSigortaisveren, out _kisaVadeliSigortaPrimi, out _malYaslilikisci, out _gssSigortaisci, out _gvMatrah,
                                    out _süregelenmatrah, ref maaşverileri, out _gelirVergisi, out _tahakkukToplam, ref _besKesinti, out _kesintiler,
                                    ref _agitutar, ref _icrakesintisi, out _nafakakesinti, out _kirakesinti, ref _dönem, ref _yil);
                        _icrakesintisi = IcraHesabı(maaşonay, kişi, _cocukYardimi, _esYardimi, _tahakkukToplam, _kesintiler,
                                                    _agitutar);
                        var toplamKesinti  = (_kesintiler + _icrakesintisi).İkiRakam();
                        var eleGecen       = (_tahakkukToplam - toplamKesinti - _besKesinti).İkiRakam();
                        var odenenTutar    = (eleGecen + _agitutar).İkiRakam();
                        var öğrenimkatsayı = KatsayıHesapla(kişi);
                        BordroOluştur(kişi, toplamKesinti, eleGecen, odenenTutar, öğrenimkatsayı);
                        Progress.Progress++;
                    }
                }
            }).ContinueWith(task =>
            {
                if (maaşonay)
                {
                    try
                    {
                        foreach (var item in Veritabanımaaşlartablosu)
                        {
                            maaşverileri.Add(item);
                        }
                        using (var worker = new BackgroundWorker())
                        {
                            form.DisableCloseButton(true);
                            form.ProgressTamamlanma.IsIndeterminate = true;
                            worker.DoWork             += Worker_DoWork;
                            worker.RunWorkerCompleted += Worker_RunWorkerCompleted;
                            worker.RunWorkerAsync();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                else
                {
                    new Raporla("MaaşHesap.Rapor.bordro.frx", Fastreportbordro, "Bordro");
                }
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }