public static List <Contrat> GetForApporteur(int id) { var result = new List <Contrat>(); var con = new SqlConnection(ConfigurationManager.ConnectionStrings["dsnGED"].ConnectionString); const string sql = @"SELECT c.PK ,c.DATECREATION ,c.FKAPPORTEUR ,c.NCONTRAT ,c.FKSOUSCRIPTEUR ,ISNULL(s.nom, '') + ' ' + ISNULL(s.prenom, '') AS nomcomplet ,c.CleSalesForce FROM Nortiaca.dbo.CA_CONTRAT c LEFT OUTER JOIN Nortiaca.dbo.CA_SOUSCRIPTEUR s ON c.FKSOUSCRIPTEUR = s.pk WHERE FKAPPORTEUR = @id AND c.CleSalesForce is not null"; con.Open(); var cmd = new SqlCommand(sql, con); cmd.Parameters.Add("@id", SqlDbType.Int).Value = id; var dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { var num = (!string.IsNullOrEmpty(dr["NCONTRAT"].ToString())) ? dr["NCONTRAT"].ToString() : ""; var date = (!string.IsNullOrEmpty(dr["DATECREATION"].ToString())) ? DateTime.Parse(dr["DATECREATION"].ToString()) : DateTime.MinValue; var nom = (!string.IsNullOrEmpty(dr["nomcomplet"].ToString())) ? dr["nomcomplet"].ToString() : ""; var idContrat = (!string.IsNullOrEmpty(dr["PK"].ToString())) ? int.Parse(dr["Pk"].ToString()) : 0; var CleSalesForce = (!string.IsNullOrEmpty(dr["CleSalesForce"].ToString())) ? dr["CleSalesForce"].ToString() : ""; var contrat = new Contrat(idContrat, num, date, nom, CleSalesForce); result.Add(contrat); } } con.Close(); return(result); }
public int Ajouter(string cheminFichierPDF, bool envoyerSF = false, string nomFichierNew = "", string entite = "NSAS") { SqlConnection con = null; //SqlTransaction trans=null; //string strSQLMedia = ""; string strSQLAvenant = ""; //SqlCommand cmdMedia = null; SqlCommand cmdAvenant = null; FileStream fs; Byte[] datas; ID_Document = 0; try { string typeAvenantDefaut = "A définir";//ConfigurationManager.AppSettings["TypeAvenantDefaut"]; // lecture du ficheir pdf fs = File.Open(cheminFichierPDF, FileMode.Open, FileAccess.ReadWrite, FileShare.None); if (fs != null) { fs.Position = 0; datas = new BinaryReader(fs).ReadBytes(int.Parse(fs.Length.ToString())); fs.Close(); } else { throw new Exception(); } // nommer le fichier string nomFichier = ""; if (nomFichierNew == "") { nomFichier = Path.GetFileNameWithoutExtension(cheminFichierPDF); } else { nomFichier = nomFichierNew; } // lire le nombre de pages PdfReader pdfReader = new PdfReader(cheminFichierPDF); NbPage = pdfReader.NumberOfPages; pdfReader.Close(); // aller chercher le type de document ICI JE DOIS AGIR ######################### int ID_Type_Document = TypeDocument.GetIDTypeDocumentCompagnie(CodeCompagnie, TypeAvenant, entite); if (ID_Type_Document > 0) //type existant { TypeDocument tpDoc = new TypeDocument(ID_Type_Document, entite); //trans = con.BeginTransaction("GEDAjoutAvenant"); //System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.RequiresNew); //insertion CA_Media Document docAvenant = new Document(); docAvenant.Datas = datas; docAvenant.Extension = ".pdf"; docAvenant.Nom = nomFichier; docAvenant.NbPage = NbPage; docAvenant.ID_Pli = 0; docAvenant.ID_Type_Document = ID_Type_Document; docAvenant.Original = true; docAvenant.VisibleNOL = true; ID_Document = docAvenant.Ajouter(0, entite); if (ID_Document > 0) { DateTime dateAcq = DateTime.Now; //insertion Avenant if (entite == "NSAS") { con = new SqlConnection("data source=192.168.1.2\\SQL2008r2qualif;Database=GEDNortia_Invest;Uid=sa;password=NICKEL2000;"); } else { con = new SqlConnection("data source=192.168.1.2\\SQL2008r2qualif;Database=GEDNortia_Invest;Uid=sa;password=NICKEL2000;"); } con.Open(); strSQLAvenant = "INSERT INTO [Avenant] ([CodeCompagnie],[NumAvenant],[ID_Document],[TypeAvenant],[NumContrat],[CodeApporteur],[NomApporteur],[NomSouscripteur],[DateAvenant],[Visible],ReferenceInterne,[EnvoyerSF],[DateAcquisition],[NumLot])" + " VALUES(@CodeCompagnie,@NumAvenant,@ID_Document,@TypeAvenant,@NumContrat,@CodeApporteur,@NomApporteur,@NomSouscripteur,@DateAvenant,@Visible,@ReferenceInterne,@EnvoyerSF,@DateAcquisition,@NumLot);" + "SELECT CAST(SCOPE_IDENTITY() AS int)"; cmdAvenant = new SqlCommand(strSQLAvenant, con); cmdAvenant.Parameters.AddWithValue("@CodeCompagnie", (object)CodeCompagnie ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@NumAvenant", (object)NumAvenant ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@ID_Document", (object)ID_Document ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@TypeAvenant", (object)TypeAvenant ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@NumContrat", (object)NumContrat ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@CodeApporteur", (object)CodeApporteur ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@NomApporteur", (object)NomApporteur ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@NomSouscripteur", (object)NomSouscripteur ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@DateAvenant", (object)DateAvenant ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@Visible", (object)Actif ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@ReferenceInterne", (object)ReferenceInterne ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@EnvoyerSF", (object)0 ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@DateAcquisition", (object)dateAcq ?? DBNull.Value); cmdAvenant.Parameters.AddWithValue("@NumLot", (object)NumLot ?? DBNull.Value); int ID_Avenant = (Int32)cmdAvenant.ExecuteScalar(); if (ID_Avenant > 0) { if (envoyerSF && tpDoc.EnvoyerSF) { if (entite == "NSAS") { string envSF = ConfigurationManager.AppSettings["EnvironementSF"]; string loginSF = ConfigurationManager.AppSettings["loginSF"]; string mdpSF = ConfigurationManager.AppSettings["mdpSF"]; string nomTypeActe = Avenant.GetNomTypeActe(tpDoc.ID_Type_Document); if (envSF == "DEV") { //identification Tools.wsdl_enterprise_dev.SforceService bdAuth = new Tools.wsdl_enterprise_dev.SforceService(); Tools.wsdl_enterprise_dev.LoginResult lr = bdAuth.login(loginSF, mdpSF); string sIdSF = lr.sessionId; bdAuth.Url = lr.serverUrl; bdAuth.SessionHeaderValue = new Tools.wsdl_enterprise_dev.SessionHeader(); bdAuth.SessionHeaderValue.sessionId = sIdSF; //création de l'objet SF Tools.wsdl_enterprise_dev.sObject[] myObjectArr = new Tools.wsdl_enterprise_dev.sObject[1]; Tools.wsdl_enterprise_dev.Avenant__c avSF = new Tools.wsdl_enterprise_dev.Avenant__c(); avSF.Date_Acquisition__c = dateAcq; avSF.Date_Acquisition__cSpecified = true; avSF.Id_GED__c = ID_Document.ToString(); avSF.Name = nomFichier; if (TypeAvenant == typeAvenantDefaut) { avSF.Type_Acte__c = nomTypeActe; avSF.Type_Document__c = tpDoc.Nom; } myObjectArr[0] = avSF; //envoi de l'objet SF Tools.wsdl_enterprise_dev.SaveResult[] ret = bdAuth.create(myObjectArr); if (ret[0].success) { string strSQLEnvoiSF = "UPDATE dbo.Avenant SET EnvoyerSF=1 WHERE ID_Document=@ID_Document"; SqlCommand cmdEnvoiSF = new SqlCommand(strSQLEnvoiSF, con); cmdEnvoiSF.Parameters.AddWithValue("@ID_Document", (object)ID_Document ?? DBNull.Value); int retour = cmdEnvoiSF.ExecuteNonQuery(); if (retour == 1) { retour = 1;//trans.Commit();scope.Complete(); } else { throw new Exception("Impossible de flaguer l'avenant comme envoyé à SF"); } } else { throw new Exception("Impossible d'envoyer l'avenant à SF"); } } else if (envSF == "QUALIF") { //identification Tools.wsdl_enterprise_qualif.SforceService bdAuth = new Tools.wsdl_enterprise_qualif.SforceService(); Tools.wsdl_enterprise_qualif.LoginResult lr = bdAuth.login(loginSF, mdpSF); string sIdSF = lr.sessionId; bdAuth.Url = lr.serverUrl; bdAuth.SessionHeaderValue = new Tools.wsdl_enterprise_qualif.SessionHeader(); bdAuth.SessionHeaderValue.sessionId = sIdSF; //création de l'objet SF Tools.wsdl_enterprise_qualif.sObject[] myObjectArr = new Tools.wsdl_enterprise_qualif.sObject[1]; Tools.wsdl_enterprise_qualif.Avenant__c avSF = new Tools.wsdl_enterprise_qualif.Avenant__c(); avSF.Date_Acquisition__c = dateAcq; avSF.Date_Acquisition__cSpecified = true; avSF.Id_GED__c = ID_Document.ToString(); avSF.Name = nomFichier; if (TypeAvenant == typeAvenantDefaut) { avSF.Type_Acte__c = nomTypeActe; avSF.Type_Document__c = tpDoc.Nom; } myObjectArr[0] = avSF; //envoi de l'objet SF Tools.wsdl_enterprise_qualif.SaveResult[] ret = bdAuth.create(myObjectArr); if (ret[0].success) { string strSQLEnvoiSF = "UPDATE dbo.Avenant SET EnvoyerSF=1 WHERE ID_Document=@ID_Document"; SqlCommand cmdEnvoiSF = new SqlCommand(strSQLEnvoiSF, con); cmdEnvoiSF.Parameters.AddWithValue("@ID_Document", (object)ID_Document ?? DBNull.Value); int retour = cmdEnvoiSF.ExecuteNonQuery(); if (retour == 1) { retour = 1;//trans.Commit();scope.Complete(); } else { throw new Exception("Impossible de flaguer l'avenant comme envoyé à SF"); } } else { throw new Exception("Impossible d'envoyer l'avenant à SF"); } } else if (envSF == "PROD") { //identification Tools.wsdl_enterprise.SforceService bdAuth = new Tools.wsdl_enterprise.SforceService(); Tools.wsdl_enterprise.LoginResult lr = bdAuth.login(loginSF, mdpSF); string sIdSF = lr.sessionId; bdAuth.Url = lr.serverUrl; bdAuth.SessionHeaderValue = new Tools.wsdl_enterprise.SessionHeader(); bdAuth.SessionHeaderValue.sessionId = sIdSF; //création de l'objet SF Tools.wsdl_enterprise.sObject[] myObjectArr = new Tools.wsdl_enterprise.sObject[1]; Tools.wsdl_enterprise.Avenant__c avSF = new Tools.wsdl_enterprise.Avenant__c(); avSF.Date_Acquisition__c = dateAcq; avSF.Date_Acquisition__cSpecified = true; avSF.Id_GED__c = ID_Document.ToString(); avSF.Name = nomFichier; if (TypeAvenant == typeAvenantDefaut) { avSF.Type_Acte__c = nomTypeActe; avSF.Type_Document__c = tpDoc.Nom; } myObjectArr[0] = avSF; //envoi de l'objet SF Tools.wsdl_enterprise.SaveResult[] ret = bdAuth.create(myObjectArr); if (ret[0].success) { string strSQLEnvoiSF = "UPDATE dbo.Avenant SET EnvoyerSF=1 WHERE ID_Document=@ID_Document"; SqlCommand cmdEnvoiSF = new SqlCommand(strSQLEnvoiSF, con); cmdEnvoiSF.Parameters.AddWithValue("@ID_Document", (object)ID_Document ?? DBNull.Value); int retour = cmdEnvoiSF.ExecuteNonQuery(); if (retour == 1) { retour = 1;//trans.Commit();scope.Complete(); } else { throw new Exception("Impossible de flaguer l'avenant comme envoyé à SF"); } } else { throw new Exception("Impossible d'envoyer l'avenant à SF"); } } } else { string idContratSF = Contrat.FindIdContratSF(NumContrat, entite); if (!string.IsNullOrWhiteSpace(idContratSF)) { Indexer("Portefeuille", idContratSF, "", entite); } } } /*else * scope.Complete();//trans.Commit();*/ } else { throw new Exception("Erreur lors de l'insertion des informations de l'avenant dans la table 'Avenant'"); } } else { throw new Exception("Erreur lors de l'insertion du document dans la table 'CA_MEDIA'"); } } else if (ID_Type_Document == 0)//type non transcodé { ID_Document = -1; } else if (ID_Type_Document == -1)//type à effacer { ID_Document = -2; } else if (ID_Type_Document == -2)//nouveau type { string strSQL = "INSERT INTO [Type_Document_Compagnie] ([CodeCompagnie],[NomType_Comapagnie],[ID_Type_Document])" + " VALUES (@CodeCompagnie,@NomType_Comapagnie,@ID_Type_Document)"; if (entite == "NSAS") { con = new SqlConnection("data source=192.168.1.2\\SQL2008r2qualif;Database=GEDNortia_Invest;Uid=sa;password=NICKEL2000;"); } else { con = new SqlConnection("data source=192.168.1.2\\SQL2008r2qualif;Database=GEDNortia_Invest;Uid=sa;password=NICKEL2000;"); } con.Open(); SqlCommand cmd = new SqlCommand(strSQL, con); cmd.Parameters.AddWithValue("@CodeCompagnie", (object)CodeCompagnie ?? DBNull.Value); cmd.Parameters.AddWithValue("@NomType_Comapagnie", (object)TypeAvenant ?? DBNull.Value); cmd.Parameters.AddWithValue("@ID_Type_Document", (object)0 ?? DBNull.Value); cmd.ExecuteNonQuery(); ID_Document = -1; } } catch (Exception) { ID_Document = 0; /*try * { * if(trans!=null) * trans.Rollback(); * } * catch (Exception exRb) * { * * }*/ } finally { if (con != null) { con.Close(); } } return(ID_Document); }