Пример #1
0
 void urunIceAktarButton_Click(object sender, EventArgs e)
 {
     try
     {
         using (OpenFileDialog file = new OpenFileDialog())
         {
             file.Title = L.AktarilacakExcelDosyasi;
             Kategori k = (this.kategoriAktarimLookUpEdit.GetSelectedDataRow() as Kategori);
             if (k != null)
             {
                 file.FileName = k.Adi.Replace("/", "").Replace("\\", "") + " - " + L.AlisFiyati + " - " + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
             }
             else
             {
                 dxErrorProvider1.SetError(kategoriAktarimLookUpEdit, L.BosGecilemez);
                 return;
             }
             file.Filter = "Excel (2003)|*.xls";
             switch (file.ShowDialog())
             {
             case System.Windows.Forms.DialogResult.OK:
             case System.Windows.Forms.DialogResult.Yes:
                 using (BAYMYO.MultiSQLClient.MDataAdapter dap = new BAYMYO.MultiSQLClient.MDataAdapter("select * from [DATA$A:D]", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file.FileName + ";Extended Properties=Excel 8.0", BAYMYO.MultiSQLClient.MClientProvider.OleDb))
                 {
                     using (DataTable dt = new DataTable("ProductList"))
                     {
                         dap.Fill(dt);
                         if (dt.Rows.Count > 0)
                         {
                             using (xFrmUrunYeni sd = new xFrmUrunYeni())
                             {
                                 sd.Text  = L.YeniUrunKategoriBazinda;
                                 sd.Mesaj = string.Format(L.KategoridekiUrunListesi, k.Adi);
                                 sd.Data  = new List <Urun>();
                                 foreach (DataRow dr in dt.Rows)
                                 {
                                     Urun u = new Urun
                                     {
                                         KategoriID = k.ID,
                                         Kod        = Commons.CreateImpaCode(dr[0]),//BAYMYO.UI.Converts.NullToInt(BAYMYO.UI.Converts.NullToString(dr[0]).Replace(" ", "").Trim()).ToString("00 00 00"),
                                         Adi        = BAYMYO.UI.Converts.NullToString(dr[1]),
                                         Miktar     = 1,
                                         Birim      = BAYMYO.UI.Converts.NullToString(dr[2]),
                                         Kdv        = BAYMYO.UI.Converts.NullToFloat(dr[3]),
                                         Tarih      = DateTime.Now
                                     };
                                     if (!string.IsNullOrWhiteSpace(u.Adi))
                                     {
                                         sd.Data.Add(u);
                                     }
                                 }
                                 switch (sd.ShowDialog())
                                 {
                                 case DialogResult.Yes:
                                     Commons.Loading("Product updates.. .");
                                     foreach (Urun stk in sd.Data)
                                     {
                                         UrunMethods.Insert(stk);
                                     }
                                     Commons.Update(TableNames.Urun);
                                     Commons.Status(string.Format(L.KategoriUrunlerEklendi, k.Adi));
                                     dxErrorProvider1.ClearErrors();
                                     GetData(k.ID);
                                     break;
                                 }
                                 sd.Data = null;
                             }
                         }
                     }
                 }
                 break;
             }
         }
     }
     catch (Exception ex)
     {
         Commons.Status(Commons.GetErrorCode("FUN", 8) + ex.Message);
     }
     finally
     {
         Commons.Loaded();
     }
 }
Пример #2
0
 void firmaIceAktarButton_Click(object sender, EventArgs e)
 {
     try
     {
         bool isUpdate = Commons.ShowBox(QuestionType.StokGirisi);
         using (OpenFileDialog file = new OpenFileDialog())
         {
             file.Title = L.AktarilacakExcelDosyasi;
             Firma f = (this.firmaStokLookUpEdit.GetSelectedDataRow() as Firma);
             if (f != null & isUpdate)
             {
                 file.FileName = f.Adi + " - " + L.AlisFiyati + " - " + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
             }
             else
             {
                 file.FileName = L.AlisFiyati + " - " + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
             }
             file.Filter = "Excel (2003)|*.xls";
             switch (file.ShowDialog())
             {
             case System.Windows.Forms.DialogResult.OK:
             case System.Windows.Forms.DialogResult.Yes:
                 if (isUpdate)
                 {
                     #region --- Güncel Fiyat Listesi ---
                     // 0:ID	- 1:Ürün Açıklaması	- 2:Birim Fiyatı - 3:Güncelleme Tarihi
                     using (BAYMYO.MultiSQLClient.MDataAdapter dap = new BAYMYO.MultiSQLClient.MDataAdapter("select * from [DATA$A:D]", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file.FileName + ";Extended Properties=Excel 8.0", BAYMYO.MultiSQLClient.MClientProvider.OleDb))
                     {
                         using (DataTable dt = new DataTable("ProductList"))
                         {
                             dap.Fill(dt);
                             if (dt.Rows.Count > 0)
                             {
                                 using (xFrmStokDegisiklik sd = new xFrmStokDegisiklik())
                                 {
                                     sd.Text         = string.Format(L.FirmaninFiyatListesi, f.Adi);
                                     sd.Mesaj        = L.AlgilananDegisiklikler;
                                     sd.Data         = new List <Stok>();
                                     sd.KategoriData = this.kategoriBindingSource.DataSource;
                                     sd.UrunData     = this.urunGridBindingSource.DataSource;
                                     sd.FirmaData    = this.firmaBindingSource.DataSource;
                                     Stok  s     = null;
                                     float fiyat = 0;
                                     foreach (DataRow dr in dt.Rows)
                                     {
                                         s = this.m_StokData.Find(x => x.ID.Equals(BAYMYO.UI.Converts.NullToInt(dr[0])));
                                         if (s != null)
                                         {
                                             fiyat = BAYMYO.UI.Converts.NullToFloat(dr[2]);
                                             s.GuncellemeTarihi = DateTime.Now;
                                             s.Changed          = false;
                                             if (s.Fiyat != fiyat)
                                             {
                                                 s.Fiyat   = fiyat;
                                                 s.Changed = true;
                                             }
                                             sd.Data.Add(s);
                                         }
                                     }
                                     switch (sd.ShowDialog())
                                     {
                                     case DialogResult.Yes:
                                         Commons.Loading("Product updates.. .");
                                         bool isOkey = false;
                                         foreach (Stok stk in sd.Data)
                                         {
                                             isOkey = StokMethods.Update(stk) > 0;
                                         }
                                         if (isOkey)
                                         {
                                             GetDataExcel();
                                             Commons.Status(L.UrunlerGuncellendi);
                                         }
                                         break;
                                     }
                                 }
                             }
                         }
                     }
                     #endregion
                 }
                 else
                 {
                     #region --- Yeni Ürün Listesi ---
                     // 0:Urun ID - 1:Ürün Açıklaması - 2:Birim Fiyatı - 3:Kar Orani
                     using (BAYMYO.MultiSQLClient.MDataAdapter dap = new BAYMYO.MultiSQLClient.MDataAdapter("select * from [DATA$A:E]", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file.FileName + ";Extended Properties=Excel 8.0", BAYMYO.MultiSQLClient.MClientProvider.OleDb))
                     {
                         using (DataTable dt = new DataTable("ProductList"))
                         {
                             dap.Fill(dt);
                             using (xFrmStokDegisiklik sd = new xFrmStokDegisiklik())
                             {
                                 sd.Text         = string.Format(L.FirmaninFiyatListesi, f.Adi);
                                 sd.Mesaj        = L.AlgilananDegisiklikler;
                                 sd.Data         = new List <Stok>();
                                 sd.KategoriData = this.kategoriBindingSource.DataSource;
                                 sd.UrunData     = this.urunGridBindingSource.DataSource;
                                 sd.FirmaData    = this.firmaBindingSource.DataSource;
                                 Urun  u = null;
                                 float fiyat = 0, karOrani = 0;
                                 int   firmaID = Convert.ToInt32(this.firmaStokLookUpEdit.EditValue);
                                 foreach (DataRow dr in dt.Rows)
                                 {
                                     u     = this.m_UrunData.Find(x => x.ID.Equals(BAYMYO.UI.Converts.NullToInt(dr[0])));
                                     fiyat = BAYMYO.UI.Converts.NullToFloat(dr[2]);
                                     if (u != null & fiyat > 0)
                                     {
                                         karOrani = BAYMYO.UI.Converts.NullToFloat(dr[3]);
                                         Stok s = this.m_StokData.Find(p => p.FirmaID.Equals(firmaID) & p.KategoriID.Equals(u.KategoriID) & p.UrunID.Equals(u.ID));
                                         if (s == null)
                                         {
                                             s = new Stok
                                             {
                                                 KategoriID       = u.KategoriID,
                                                 UrunID           = u.ID,
                                                 FirmaID          = firmaID,
                                                 Fiyat            = fiyat,
                                                 KarOran          = (karOrani > 0 ? karOrani : 0.45f),
                                                 GuncellemeTarihi = DateTime.Now
                                             }
                                         }
                                         ;
                                         else
                                         {
                                             s.Fiyat            = fiyat;
                                             s.KarOran          = (karOrani > 0 ? karOrani : 0.45f);
                                             s.GuncellemeTarihi = DateTime.Now;
                                             s.Changed          = true;
                                         }
                                         sd.Data.Add(s);
                                     }
                                 }
                                 switch (sd.ShowDialog())
                                 {
                                 case DialogResult.Yes:
                                     Commons.Loading("Product updates.. .");
                                     bool isOkey = false;
                                     foreach (Stok stk in sd.Data)
                                     {
                                         if (stk.ID > 0)
                                         {
                                             isOkey = StokMethods.Update(stk) > 0;
                                         }
                                         else
                                         {
                                             isOkey = StokMethods.Insert(stk) > 0;
                                         }
                                     }
                                     if (isOkey)
                                     {
                                         GetDataExcel();
                                         Commons.Status(L.UrunlerGuncellendi);
                                     }
                                     break;
                                 }
                                 sd.Data = null;
                             }
                         }
                     }
                     #endregion
                 }
                 break;
             }
         }
     }
     catch (Exception ex)
     {
         Commons.Status(Commons.GetErrorCode("FST", 11) + ex.Message);
     }
     finally
     {
         Commons.Loaded();
     }
 }
Пример #3
0
        void excelUrunButton_Click(object sender, EventArgs e)
        {
            bool isOkey = false;

            try
            {
                if (this.excelKarOranCalcEdit.Enabled)
                {
                    if (this.excelKarOranCalcEdit.Value <= 0)
                    {
                        Commons.Status(L.KarOraniBelirle);
                        MessageBox.Show(L.KarOraniBelirle, "Warning");
                        return;
                    }
                }
                using (OpenFileDialog file = new OpenFileDialog())
                {
                    file.Title    = L.AktarilacakExcelDosyasi;
                    file.FileName = L.YeniDosyaAdi;
                    file.Filter   = "Excel (2003)|*.xls";
                    switch (file.ShowDialog())
                    {
                    case System.Windows.Forms.DialogResult.OK:
                    case System.Windows.Forms.DialogResult.Yes:
                        //0:UrunAdi1 - 1:UrunAdi2 - 2:BirimFiyat - 3:Miktar - 4:Birim - 5:KarOran - 6:ParaBirimi - 7:Tedarikci - 8:KdvOran
                        using (BAYMYO.MultiSQLClient.MDataAdapter dap = new BAYMYO.MultiSQLClient.MDataAdapter("select * from [DATA$A:I]", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file.FileName + ";Extended Properties=Excel 8.0", BAYMYO.MultiSQLClient.MClientProvider.OleDb))
                        {
                            using (DataTable dt = new DataTable("ProductList"))
                            {
                                dap.Fill(dt);
                                if (dt.Rows.Count > 0)
                                {
                                    this.loadProgress.Properties.Maximum = dt.Rows.Count;
                                    int   index = 0;
                                    float adet  = 0;
                                    using (xFrmTeklifDetayDegisiklik sd = new xFrmTeklifDetayDegisiklik())
                                    {
                                        sd.Text = string.Format("{8}: {9} - {10}: {11} - {0} {2}:{4:##0.0000}|{3}:{5:##0.0000} {1} {2}:{6:##0.0000}|{3}:{7:##0.0000}", L.KurKaydedilen, L.KurYeni, Commons.Kur1Code, Commons.Kur2Code, t.Kur1, t.Kur2, Commons.Kur1, Commons.Kur2, L.GemiAdi, t.GemiAdi, L.BaglamaLimani, t.BaglamaLimani);
                                        sd.Data = new List <TeklifDetay>();
                                        switch (this.turlerRadioGroup.SelectedIndex)
                                        {
                                        case 1:
                                            sd.Mesaj = L.IDileAktarimMesaji;
                                            #region --- Urun ID ile Aktarım ---
                                            foreach (DataRow dr in dt.Rows)
                                            {
                                                adet = BAYMYO.UI.Converts.NullToFloat(dr[3]);
                                                if (adet > 0)
                                                {
                                                    UrunKatalog sl = Urunler.FindAll(x => x.UrunID.Equals(BAYMYO.UI.Converts.NullToInt(dr[0]))).OrderBy(x => x.Fiyat).Take(1).ElementAt(0);
                                                    if (sl != null)
                                                    {
                                                        using (TeklifDetay td = new TeklifDetay
                                                        {
                                                            TeklifID = t.ID,
                                                            StokID = sl.StokID,
                                                            KategoriID = sl.KategoriID,
                                                            FirmaID = sl.FirmaID,
                                                            UrunAdi = sl.UrunAdi,
                                                            BirimFiyati = sl.Fiyat,
                                                            KarOrani = sl.KarOran,
                                                            Miktar = sl.Miktar,
                                                            Birim = sl.Birim,
                                                            Kdv = sl.Kdv,
                                                            Adet = adet
                                                        })
                                                        {
                                                            sd.Data.Add(td);
                                                            Application.DoEvents();
                                                            this.loadProgress.Increment(++index);
                                                        }
                                                    }
                                                }
                                            }
                                            #endregion
                                            break;

                                        case 2:
                                            sd.Mesaj = L.MusteriDegisikligiAktarim;
                                            #region --- Ürün Adı ile Aktarım ---
                                            foreach (DataRow dr in dt.Rows)
                                            {
                                                TeklifDetay td = TeklifDetaylari.Find(x => x.UrunAdi.ToLower().Trim().Equals(BAYMYO.UI.Converts.NullToString(dr[0]).ToLower().Trim(), StringComparison.CurrentCultureIgnoreCase));
                                                if (td != null)
                                                {
                                                    adet = BAYMYO.UI.Converts.NullToFloat(dr[3]);
                                                    if (!adet.Equals(td.Adet) || adet.Equals(0))
                                                    {
                                                        td.Adet = adet;
                                                        sd.Data.Add(td);
                                                        Application.DoEvents();
                                                        this.loadProgress.Increment(++index);
                                                    }
                                                    adet = 0;
                                                }
                                            }
                                            #endregion
                                            break;

                                        default:
                                            sd.Mesaj = L.DigerFirmadanTeklifAktarim;
                                            #region --- Genel Aktarım ---
                                            string paraBirimi   = "dft";
                                            float  excelKarOran = BAYMYO.UI.Converts.NullToFloat(this.excelKarOranCalcEdit.Value);
                                            foreach (DataRow dr in dt.Rows)
                                            {
                                                adet = BAYMYO.UI.Converts.NullToFloat(dr[3]);
                                                if (adet > 0)
                                                {
                                                    using (TeklifDetay td = new TeklifDetay
                                                    {
                                                        TeklifID = t.ID,
                                                        UrunAdi = BAYMYO.UI.Converts.NullToString(dr[0]) + " " + BAYMYO.UI.Converts.NullToString(dr[1]),
                                                        FirmaAdi = BAYMYO.UI.Converts.NullToString(dr[7]),
                                                        BirimFiyati = BAYMYO.UI.Converts.NullToFloat(dr[2]),
                                                        KarOrani = BAYMYO.UI.Converts.NullToFloat(dr[5]),
                                                        Miktar = 1,
                                                        Birim = BAYMYO.UI.Converts.NullToString(dr[4]),
                                                        Kdv = BAYMYO.UI.Converts.NullToFloat(dr[8]),
                                                        Adet = adet
                                                    })
                                                    {
                                                        if (!string.IsNullOrWhiteSpace(td.UrunAdi) & td.BirimFiyati > 0)
                                                        {
                                                            paraBirimi = BAYMYO.UI.Converts.NullToString(dr[6]);
                                                            if (string.IsNullOrWhiteSpace(paraBirimi))
                                                            {
                                                                paraBirimi = this.excelDovizTipiComboBoxEdit.Text;
                                                            }
                                                            switch (paraBirimi.ToLower())
                                                            {
                                                            case "u":
                                                            case "$":
                                                            case "a":
                                                            case "1":
                                                                td.BirimFiyati = td.BirimFiyati * Commons.Kur1;
                                                                break;

                                                            case "e":
                                                            case "€":
                                                            case "b":
                                                            case "2":
                                                                td.BirimFiyati = td.BirimFiyati * Commons.Kur2;
                                                                break;
                                                            }
                                                            if (td.KarOrani <= 0)
                                                            {
                                                                td.KarOrani = excelKarOran;
                                                            }
                                                            sd.Data.Add(td);
                                                            Application.DoEvents();
                                                            this.loadProgress.Increment(++index);
                                                        }
                                                    }
                                                }
                                            }
                                            paraBirimi = null;
                                            #endregion
                                            break;
                                        }
                                        #region --- Aktarım Yap ---
                                        switch (sd.ShowDialog())
                                        {
                                        case DialogResult.Yes:
                                            this.loadProgress.Properties.Maximum = sd.Data.Count;
                                            this.loadProgress.Increment(0);
                                            foreach (TeklifDetay td in sd.Data)
                                            {
                                                if (td.ID <= 0)
                                                {
                                                    if (TeklifDetayMethods.Insert(td) > 0)
                                                    {
                                                        Application.DoEvents();
                                                        this.loadProgress.Increment(++index);
                                                        isOkey = true;
                                                    }
                                                }
                                                else
                                                {
                                                    if (td.Adet.Equals(0))
                                                    {
                                                        if (TeklifDetayMethods.Delete(td) > 0)
                                                        {
                                                            Application.DoEvents();
                                                            this.loadProgress.Increment(++index);
                                                            isOkey = true;
                                                        }
                                                    }
                                                    else if (TeklifDetayMethods.Update(td) > 0)
                                                    {
                                                        Application.DoEvents();
                                                        this.loadProgress.Increment(++index);
                                                        isOkey = true;
                                                    }
                                                }
                                            }
                                            break;
                                        }
                                        if (isOkey)
                                        {
                                            Commons.Status(string.Format(L.ExcelDekiUrunAktarildi, sd.Data.Count));
                                        }
                                        #endregion
                                        sd.Data = null;
                                    }
                                }
                            }
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Commons.Status(Commons.GetErrorCode("FEA", 2) + ex.Message);
            }
            finally
            {
                if (isOkey)
                {
                    Commons.Update(TableNames.Teklif);
                    this.DialogResult = DialogResult.OK;
                }
            }
        }