예제 #1
0
        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);
        }