示例#1
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;
                }
            }
        }
示例#2
0
        public static int Insert(TeklifDetay p)
        {
            using (TeklifDetay temp = TeklifDetayMethods.GetTeklifDetay(p))
            {
                if (temp != null & temp.ID > 0)
                {
                    if (temp.Equals(p.Adet))
                    {
                        return(1);
                    }
                    if (System.Windows.Forms.MessageBox.Show(string.Format("{0} isimli üründen sepetinizde '{1}' adet var! Ürünün sepetteki adetini '{2}' adet olarak deðiþtirmek istiyormusunuz?", temp.UrunAdi, temp.Adet, p.Adet), "Uyarý", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.Yes)
                    {
                        temp.Adet = p.Adet;
                        return(TeklifDetayMethods.Update(temp));
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            int rowsAffected = 0;

            using (MConnection conneciton = new MConnection(MClientProvider.OleDb, Commons.ConnectionStringName))
            {
                switch (conneciton.State)
                {
                case System.Data.ConnectionState.Closed:
                    conneciton.Open();
                    break;
                }
                using (MCommand cmd = new MCommand(CommandType.Text, "insert into TeklifDetay (TeklifID,StokID,KategoriID,FirmaID,FirmaAdi,UrunAdi,BirimFiyati,KarOrani,Miktar,Birim,Adet,Kdv) values(@TeklifID,@StokID,@KategoriID,@FirmaID,@FirmaAdi,@UrunAdi,@BirimFiyati,@KarOrani,@Miktar,@Birim,@Adet,@Kdv)", conneciton))
                {
                    cmd.Parameters.Add("TeklifID", p.TeklifID, MSqlDbType.BigInt);
                    cmd.Parameters.Add("StokID", p.StokID, MSqlDbType.Int);
                    cmd.Parameters.Add("KategoriID", p.KategoriID, MSqlDbType.Int);
                    cmd.Parameters.Add("FirmaID", p.FirmaID, MSqlDbType.Int);
                    if (p.FirmaID > 0)
                    {
                        cmd.Parameters.Add("FirmaAdi", DBNull.Value, MSqlDbType.NVarChar);
                    }
                    else
                    {
                        cmd.Parameters.Add("FirmaAdi", MConvert.NullToString(p.FirmaAdi).ToUpper(), MSqlDbType.NVarChar);
                    }
                    cmd.Parameters.Add("UrunAdi", p.UrunAdi.Trim(), MSqlDbType.NVarChar);
                    cmd.Parameters.Add("BirimFiyati", p.BirimFiyati, MSqlDbType.Float);
                    cmd.Parameters.Add("KarOrani", p.KarOrani, MSqlDbType.Float);
                    cmd.Parameters.Add("Miktar", p.Miktar, MSqlDbType.Float);
                    cmd.Parameters.Add("Birim", p.Birim, MSqlDbType.VarChar);
                    cmd.Parameters.Add("Adet", p.Adet, MSqlDbType.Float);
                    cmd.Parameters.Add("Kdv", p.Kdv, MSqlDbType.Float);
                    rowsAffected = cmd.ExecuteNonQuery();
                }
                switch (conneciton.State)
                {
                case System.Data.ConnectionState.Open:
                    conneciton.Close();
                    break;
                }
            }
            return(rowsAffected);
        }