public string vCardToString(int ContactId, bool Client) { string vcardTMP = @"BEGIN:VCARD VERSION:3.0 N;CHARSET=UTF-8:{0};{1};;; FN;CHARSET=UTF-8:{2} TEL;TYPE=CELL:{3} TEL;TYPE=HOME:{4} TEL;TYPE=WORK:{5} TEL;TYPE=FAX:{6} EMAIL;TYPE=HOME:{7} ADR;TYPE=HOME;CHARSET=UTF-8:;;{8};{9};;{10};{11}; ORG;CHARSET=UTF-8:{12};{13} TITLE;CHARSET=UTF-8:{14} NOTE;CHARSET=UTF-8:{15} X-WDJ-STARRED:0 BDAY:{16} END:VCARD"; var model = GetModel(ContactId); if (model == null) { return(""); } var companyName = ""; var companyServiceType = ""; var note = ""; if (!Client) { DAL.ContactCompanies dal = new ContactCompanies(); if (model.ContactCompanyId != null) { var companyModel = dal.GetModel(model.ContactCompanyId.Value); companyName = companyModel.Name; companyServiceType = companyModel.ServiceTypes; } //DAL.Prospect prospectDal = new Prospect(); //var prospectModel = prospectDal.GetModel(ContactId); //prospectModel.f //PartnerNotes DAL.ContactNotes cnDal = new ContactNotes(); int rcount = 0; var dsCNote = cnDal.GetContactNotes(1, 1, " 1=1", out rcount, "ContactNoteId", 1); if (dsCNote != null && dsCNote.Tables[0].Rows.Count > 0 && dsCNote.Tables[0].Rows[0]["Note"] != DBNull.Value) { note = dsCNote.Tables[0].Rows[0]["Note"].ToString(); } } else { DAL.ProspectNotes pnDal = new ProspectNotes(); int count = 0; var dsNote = pnDal.GetProspectNotes(1, 1, "", out count, "NoteId", 1, ContactId); if (dsNote != null && dsNote.Tables[0].Rows.Count > 0 && dsNote.Tables[0].Rows[0]["Note"] != DBNull.Value) { note = dsNote.Tables[0].Rows[0]["Note"].ToString(); } } string sDOB = string.Empty; if (model.DOB != null) { sDOB = Convert.ToDateTime(model.DOB).ToString("yyyyMMdd"); } var str = string.Format(vcardTMP , model.FirstName , model.LastName , model.LastName + "," + model.FirstName , model.CellPhone , model.HomePhone , model.BusinessPhone , model.Fax , model.Email , model.MailingAddr //{8} , model.MailingCity //{9} , model.MailingZip , "United States" //国家 , companyName , companyServiceType , model.Title , note , sDOB ); return(str); }