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; } } }
void urunKatalogGridView_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { try { UrunKatalog sl = this.urunKatalogGridView.GetFocusedRow() as UrunKatalog; switch (e.Column.FieldName) { case "Adet": 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 = BAYMYO.UI.Converts.NullToFloat(e.Value) }) { if (td.BirimFiyati <= 0) { sl.Adet = 0; MessageBox.Show(td.UrunAdi + " isimli ürünün birim fiyatı '0.00' olarak görülmekte!", "Uyarı"); return; } if (td.Adet > 0) { if (TeklifDetayMethods.Insert(td) > 0) { Commons.Update(TableNames.Teklif); Commons.Status(td.UrunAdi + " isimli üründen sepete '" + td.Adet + "' adet başarılı bir şekilde eklendi."); dlg = DialogResult.OK; } } } } break; case "Fiyat": if (sl != null) { Stok u = StokMethods.GetStok(sl.StokID); u.Fiyat = sl.Fiyat; u.GuncellemeTarihi = DateTime.Now; if (StokMethods.Update(u) > 0) { sl.Updated = false; Commons.Update(TableNames.Stok); Commons.Status(sl.UrunAdi + " isimli ürünün stok fiyatı '" + sl.Fiyat.ToString(Commons.Kur0Format) + "' olarak başarılı bir şekilde değiştirildi."); dlg = DialogResult.OK; } } break; } } catch (Exception ex) { Commons.Status(Commons.GetErrorCode("FUK", 4) + ex.Message); } }