Пример #1
0
    protected void btnGuncelle_Click(object sender, EventArgs e)
    {
        EFDal ed=new EFDal();
        int Yil=DateTime.Today.Year;
        int BolgeKodu=ed.kal_BolgeKoduDon(Context.User.Identity.Name);
        int IstekNo=ed.kal_BolgeyeAitMaxIstekNoBul(Yil,BolgeKodu);
        int TeklifId=int.Parse(txtID.Text.Trim());
        int CihazKapsamAyrintiTablosuId= ed.TeklifeAitCihazKapsamAyrintiTablosuIdDon(TeklifId);
        int ToplamCihazSayisi = int.Parse(txtADET.Text);
        if (chkONAY.Checked)//Onaylandı ise 1. adım olarak cihazı istek tablosuna taşıyacağız sonra cihazı teklif tablosundan sileceğiz
        {
            for (int i = 0; i < ToplamCihazSayisi; i++)
            {
                using (sfKalDataEntities ent = new sfKalDataEntities())
                {
                    try
                    {
                        istek oistek = new istek();
                        oistek.YIL = int.Parse(txtYIL.Text.Trim());
                        oistek.FIRMAID = int.Parse(txtFirmaId.Text);
                        oistek.ISTEKNO = IstekNo;
                        oistek.ALTISTNO = ed.kal_OYilinIsIdsininSiradakiAltIstekNosunuDon(Yil, BolgeKodu, IstekNo);
                        oistek.MUSTNO = int.Parse(txtMUSTNO.Text.Trim());
                        oistek.CIHAZADI = txtCIHAZADI.Text.Trim();
                        oistek.IMALATCI = "Teklif";
                        oistek.MODEL = "Teklif";
                        oistek.SERINO = "Teklif";
                        oistek.OLCUMARALIGI = txtOLCUMARALIGI.Text.Trim();
                        oistek.ILGLAB = txtILGLAB.Text.Trim();
                        oistek.SORUMLU = "Teklif";
                        oistek.GELTAR = DateTime.Today;//Teklif istege akatarilirlken GelTar Onay tarihi olsun
                        oistek.GELYONTEMI = "Teklif";
                        oistek.TAHMINIBITTAR = DateTime.Parse("1900-01-01");
                        oistek.KALBITTAR = DateTime.Parse("1900-01-01");
                        oistek.CIHCIKISI = "Teklif";
                        oistek.SERTIFIKANO = Yil.ToString() + "BEK" + IstekNo.ToString() + "-" + ed.kal_OYilinIsIdsininSiradakiAltIstekNosunuDon(Yil, BolgeKodu, IstekNo).ToString();
                        oistek.FATTCIKTAR = DateTime.Parse("1900-01-01");
                        oistek.SERTCIKTAR = DateTime.Parse("1900-01-01");
                        oistek.FATBEDEL = decimal.Parse(txtTOPLAMFIYAT.Text.Trim());
                        oistek.NOTLAR = txtTEKLIFNO.Text.Trim() + " numaralı teklifti";
                        oistek.SERTIPI = "-";
                        oistek.IPTAL = "İptal";
                        oistek.NAKEDSERTNO = 0;
                        oistek.SIRANO = int.Parse(txtFATURASIRA.Text.Trim());
                        if (raddtTahKalZamani.SelectedDate != null)
                        {
                            oistek.RANDTAR = raddtTahKalZamani.SelectedDate;
                        }
                        else
                        {
                            oistek.RANDTAR = DateTime.Parse("1900-01-01");
                        }
                        oistek.GUID = txtTEKLIFNO.Text.Trim();
                        oistek.MAILUYARI = DateTime.Parse("1900-01-01");
                        oistek.YAZANPERS = Context.User.Identity.Name;
                        if (ddlKalibrasyonYeri.SelectedIndex != 0)
                        {
                            oistek.KALYERI = ddlKalibrasyonYeri.SelectedItem.Text;
                        }
                        else
                        {
                            oistek.KALYERI = "-";
                        }
                        oistek.RANDVEREN = "-";
                        oistek.RANDEVU = false;
                        oistek.BOLGEKODU = BolgeKodu;
                        oistek.TSEBELGELI = false;
                        oistek.KAPSAMICI = false;
                        oistek.RANDNOT = "";
                        oistek.SILINDI = false;
                        oistek.CIHAZGELMEDI = true;
                        oistek.PAKETNOID = 0;
                        oistek.HIZLIEKLENDI = false;
                        oistek.EKLEYEN = Context.User.Identity.Name; ;
                        oistek.FATURASIRA = int.Parse(txtFATURASIRA.Text.Trim());
                        oistek.CIHAZKAPSAMAYRINTITABLOSU = (short)CihazKapsamAyrintiTablosuId;
                        ent.AddToistek(oistek);
                        ent.SaveChanges();
                        //Şimdi 2. adim olarak cihazı teklif tablosundan silmemiz gerekli
                        if (i == 0)//İlk döngüde kayıt sillinecek sonrakilerde silindiği için bulunamayacak
                        {
                            ed.TeklifTablosundanKayitSil(TeklifId);
                        }
                        //Ve son adim olarak istek tablosuna eklenen kaydi faturaonyazi tablosunada eklemeliyiz.
                        int SonEklenenIstId = ed.AzOnceEklenenIstekIcinMaxIstIdDon();
                        FaturaOnYaziTablosunaEkle(SonEklenenIstId);
                        //Ve bir adım daha, eklenen kayıt iş programına düşürülebilir.
                        if (raddtTahKalZamani.SelectedDate == null)
                        {
                        }
                        else
                        {
                            ed.IsTakvimineOgeEkle(txtCIHAZADI.Text, raddtTahKalZamani.SelectedDate.Value, raddtTahKalZamani.SelectedDate.Value, "", Context.User.Identity.Name, 0, int.Parse(txtFirmaId.Text));
                        }
                        //Ve Genel Bakısta onaylanmış teklif olarak görebilmek icin bir adım daha gerekiyor
                        //Onay gelen teklifler tablsouna düşmemiz gerekiyor kaydı
                        OnayGelenTeklifler oOnayGelenTeklifler = new OnayGelenTeklifler();
                        oOnayGelenTeklifler.IstId = SonEklenenIstId;
                        ent.AddToOnayGelenTeklifler(oOnayGelenTeklifler);
                        ent.SaveChanges();

                        lblUyari.ForeColor = System.Drawing.Color.Green;
                        lblUyari.Text = "Teklifin onaylanması sonucu, onaylanan teklifin teklif tablosundan silinip, istek tablosuna aktarımı başarılı";
                    }
                    catch (Exception exc)
                    {
                        lblUyari.ForeColor = System.Drawing.Color.Red;
                        lblUyari.Text = "Teklifin onaylanması sonucu, onaylanan teklifin teklif tablosundan silinip, istek tablosuna aktarımı başarısız.Hata:" + exc.Message;
                    }
                }
            }
        }
        else
        {
            int Id = int.Parse(Request["Id"].ToString());
            Guncelle(Id);
        }
    }