protected bool CmsCompleteProcess() { EFDal ed = new EFDal(); string tut = Session["ImzalanacakBelgelerinIdleri"].ToString(); string[] ImzalanacakDosyaIdler = tut.Split(','); bool sonuc = true; try { string detachedAllDataB64 = hidDetached64Data.Value; string[] detachedSigned = detachedAllDataB64.Split('é'); for (int i = 0; i < detachedSigned.Length; i++) { ServiceCMS client = new ServiceCMS(); CmsSignatureRequestType request = new CmsSignatureRequestType(); decimal evrakBelgeID = EgaTransIdler.Keys.ElementAt(i); string egatransid = string.Empty; EgaTransIdler.TryGetValue(evrakBelgeID, out egatransid); request.EgaTransId = egatransid; request.ReqAppId = "12345"; byte[] bytedata = File.ReadAllBytes(ed.ImzaliDosyalarIddenPathDon(Convert.ToInt32(ImzalanacakDosyaIdler[i]))); request.OriginalDataSha1Hash = SHA1Managed.Create().ComputeHash(bytedata); request.ArchiveType = ImzaTipi.ESXLONG; request.ArchiveTypeSpecified = true; request.SignedData = detachedSigned[i]; request.ZdParameters = new GeneralTypesZamanDamgasiType(); request.ZdParameters.ZdUrl = ConfigurationManager.AppSettings["ZdUrl"].ToString(); request.ZdParameters.ZdUserName = ConfigurationManager.AppSettings["ZdUserName"].ToString(); request.ZdParameters.ZdPassword = ConfigurationManager.AppSettings["ZdPassword"].ToString(); request.ZdParameters.ZdProvider = ConfigurationManager.AppSettings["ZdProvider"].ToString(); CmsSignatureResponseType response = client.ProcessSignature(request); if (response.ResponseInfo.ResultCode == GeneralTypesResultCodeType.Successful) { Byte[] bak = response.SignedCms; File.WriteAllBytes(ed.ImzaliDosyalarIddenPathDon(Convert.ToInt32(ImzalanacakDosyaIdler[i])), bak); //Burada mutlaka verştabanını ilgili personel imzaladı olarak update etmek gerekiyor..kapak ve veri dosyalarınının birleştirilmesi sırasında imza bekliyor olarak eklenmişti personel //Burada mutlaka verştabanına bir işaret atmak gerekli kimler imzalamış, belki nereyi imzalmış bilgisi de olmalı int ImzaliDosyalarId = 0; string kullaniciAdi = Context.User.Identity.Name; Guid ImzalamasiGerekenPersonel=new Guid(); ImzalamasiGerekenPersonel = ed.UserNamedenPersonelUNDon(kullaniciAdi); bool PersonelImzalamismi = true; ImzaliDosyalarId = Convert.ToInt32(ImzalanacakDosyaIdler[i]); int IstId = ed.imzaliDosyalarIddenIstIdDon(Convert.ToInt32(ImzalanacakDosyaIdler[i])); //Bir kalibrasyonu yapanı dah once ekelimişti onu imzaladı olarak güncelle, imza tarihini de güncelle //bool basarimKalYapanEkleme=ed.spImzaBekleyenDokumanlaraEkle(Convert.ToInt32(ImzalanacakDosyaIdler[i]), ImzalamasiGerekenPersonel, PersonelImzalamismi,true,IstId); bool basarimImzaBekleyenDokumaniGuncelle = ed.ImzaBekleyenDokumaniGuncelle(ImzaliDosyalarId,ImzalamasiGerekenPersonel); //Bir de birim müdürünü ekle Imzalaması gerekli diye ImzaBej-kleyenler tablosuna kalibrasyonu yapan imzalarken düştü zaten Guid birimAmiri = new System.Guid(); birimAmiri=ed.BirimAmiriDon(ed.kal_BolgeKoduDon(kullaniciAdi)); if (ImzalamasiGerekenPersonel != birimAmiri) { PersonelImzalamismi = false; bool basarimMudurEkleme = ed.spImzaBekleyenDokumanlaraEkle(Convert.ToInt32(ImzalanacakDosyaIdler[i]), birimAmiri, PersonelImzalamismi, true, IstId); } DataSet ds = ed.spIsteginTumImzaIsleriTamamMi(IstId); if (ds.Tables[0].Rows.Count == 0) //Yani imzalanmamış istek kalemi kalmamış { ed.ImzaIsleriTamamlanmisIsteklereEkle(Convert.ToInt32(ed.kal_IstIddenIstekDonBolgeKodsuz(IstId).Tables[0].Rows[0]["IstekNo"].ToString()), Convert.ToInt32(ed.kal_IstIddenIstekDonBolgeKodsuz(IstId).Tables[0].Rows[0]["BolgeKodu"].ToString()), Convert.ToInt32(ed.kal_IstIddenIstekDonBolgeKodsuz(IstId).Tables[0].Rows[0]["YIL"].ToString())); } } else { lblError.Text = response.ResponseInfo.ResultMessage; sonuc = false; } } } catch (Exception ex) { lblError.Text = ex.Message; sonuc = false; } return sonuc; }
protected bool CmsCompleteProcess() { EFDal ed = new EFDal(); string tut = Session["ImzalanacakBelgelerinIdleri"].ToString(); string[] ImzalanacakDosyaIdler = tut.Split(','); bool sonuc = true; try { string detachedAllDataB64 = hidDetached64Data.Value; string[] detachedSigned = detachedAllDataB64.Split('é'); for (int i = 0; i < detachedSigned.Length; i++) { ServiceCMS client = new ServiceCMS(); CmsSignatureRequestType request = new CmsSignatureRequestType(); decimal evrakBelgeID = EgaTransIdler.Keys.ElementAt(i); string egatransid = string.Empty; EgaTransIdler.TryGetValue(evrakBelgeID, out egatransid); request.EgaTransId = egatransid; request.ReqAppId = "12345"; byte[] bytedata = File.ReadAllBytes(ed.ImzaliDosyalarIddenPathDon(Convert.ToInt32(ImzalanacakDosyaIdler[i]))); request.OriginalDataSha1Hash = SHA1Managed.Create().ComputeHash(bytedata); request.ArchiveType = ImzaTipi.ESXLONG; request.ArchiveTypeSpecified = true; request.SignedData = detachedSigned[i]; request.ZdParameters = new GeneralTypesZamanDamgasiType(); request.ZdParameters.ZdUrl = ConfigurationManager.AppSettings["ZdUrl"].ToString(); request.ZdParameters.ZdUserName = ConfigurationManager.AppSettings["ZdUserName"].ToString(); request.ZdParameters.ZdPassword = ConfigurationManager.AppSettings["ZdPassword"].ToString(); request.ZdParameters.ZdProvider = ConfigurationManager.AppSettings["ZdProvider"].ToString(); CmsSignatureResponseType response = client.ProcessSignature(request); if (response.ResponseInfo.ResultCode == GeneralTypesResultCodeType.Successful) { Byte[] bak = response.SignedCms; File.WriteAllBytes(ed.ImzaliDosyalarIddenPathDon(Convert.ToInt32(ImzalanacakDosyaIdler[i])), bak); //Burada mutlaka verştabanını ilgili personel imzaladı olarak update etmek gerekiyor..kapak ve veri dosyalarınının birleştirilmesi sırasında imza bekliyor olarak eklenmişti personel //Burada mutlaka verştabanına bir işaret atmak gerekli kimler imzalamış, belki nereyi imzalmış bilgisi de olmalı int ImzaliDosyalarId = 0; string kullaniciAdi = Context.User.Identity.Name; Guid ImzalamasiGerekenPersonel = new Guid(); ImzalamasiGerekenPersonel = ed.UserNamedenPersonelUNDon(kullaniciAdi); bool PersonelImzalamismi = true; ImzaliDosyalarId = Convert.ToInt32(ImzalanacakDosyaIdler[i]); int IstId = ed.imzaliDosyalarIddenIstIdDon(Convert.ToInt32(ImzalanacakDosyaIdler[i])); //Bir kalibrasyonu yapanı dah once ekelimişti onu imzaladı olarak güncelle, imza tarihini de güncelle //bool basarimKalYapanEkleme=ed.spImzaBekleyenDokumanlaraEkle(Convert.ToInt32(ImzalanacakDosyaIdler[i]), ImzalamasiGerekenPersonel, PersonelImzalamismi,true,IstId); bool basarimImzaBekleyenDokumaniGuncelle = ed.ImzaBekleyenDokumaniGuncelle(ImzaliDosyalarId, ImzalamasiGerekenPersonel); //Bir de birim müdürünü ekle Imzalaması gerekli diye ImzaBej-kleyenler tablosuna kalibrasyonu yapan imzalarken düştü zaten Guid birimAmiri = new System.Guid(); birimAmiri = ed.BirimAmiriDon(ed.kal_BolgeKoduDon(kullaniciAdi)); if (ImzalamasiGerekenPersonel != birimAmiri) { PersonelImzalamismi = false; bool basarimMudurEkleme = ed.spImzaBekleyenDokumanlaraEkle(Convert.ToInt32(ImzalanacakDosyaIdler[i]), birimAmiri, PersonelImzalamismi, true, IstId); } DataSet ds = ed.spIsteginTumImzaIsleriTamamMi(IstId); if (ds.Tables[0].Rows.Count == 0) //Yani imzalanmamış istek kalemi kalmamış { ed.ImzaIsleriTamamlanmisIsteklereEkle(Convert.ToInt32(ed.kal_IstIddenIstekDonBolgeKodsuz(IstId).Tables[0].Rows[0]["IstekNo"].ToString()), Convert.ToInt32(ed.kal_IstIddenIstekDonBolgeKodsuz(IstId).Tables[0].Rows[0]["BolgeKodu"].ToString()), Convert.ToInt32(ed.kal_IstIddenIstekDonBolgeKodsuz(IstId).Tables[0].Rows[0]["YIL"].ToString())); } } else { lblError.Text = response.ResponseInfo.ResultMessage; sonuc = false; } } } catch (Exception ex) { lblError.Text = ex.Message; sonuc = false; } return(sonuc); }