public Int64 UpdateHostWithContacts(EProspect prospect, string userID, string shell, string role) { FranchisorDAL franchisorDAL = new FranchisorDAL(); Int64 returnresult = franchisorDAL.SaveHost(prospect, Convert.ToInt32(EOperationMode.Update), userID, shell, role); Int64 ContctID = 0; Int64 returnContactID = 0; int prospectid = 0; if (returnresult == 0) { prospectid = Convert.ToInt32(prospect.ProspectID); // Save prospect details if (prospect.ProspectDetails != null) { franchisorDAL.SaveProspectDetails(prospect.ProspectDetails, prospectid); } if (prospect.Contact != null && prospect.Contact.Count > 0) { for (int i = 0; i < prospect.Contact.Count; i++) { if (prospect.Contact[i].IsDeleted == false) { //returnContactID = franchisorDAL.SaveNewProspectContact(prospect.Contact[i], 2, prospectid, Convert.ToInt32(userID)); if (prospect.Contact[i].ContactID > 0) { returnContactID = franchisorDAL.SaveContact(prospect.Contact[i], Convert.ToInt32(EOperationMode.Update), Convert.ToInt32(userID)); if (returnContactID >= 0) { returnContactID = prospect.Contact[i].ContactID; } else { returnContactID = -1; } } else { returnContactID = franchisorDAL.SaveContact(prospect.Contact[i], Convert.ToInt32(EOperationMode.Insert), Convert.ToInt32(userID)); } if (returnContactID > 0) { franchisorDAL.SaveProspectContact(returnContactID, prospectid, true); franchisorDAL.SaveProspectContactRoleMapping(prospect.Contact[i].ListProspectContactRole, returnContactID, prospectid); } } else { //Delete the same record franchisorDAL.SaveProspectContact(prospect.Contact[i].ContactID, prospectid, false); } } } if (ContctID > 0 || prospectid > 0 && (prospect.ContactMeeting != null)) { prospect.ContactMeeting.ProspectID = prospectid; prospect.ContactMeeting.Contact.ContactID = Convert.ToInt32(returnContactID); franchisorDAL.SaveMeeting(prospect.ContactMeeting, Convert.ToInt32(EOperationMode.Insert)); } } return(returnresult); }