/// <summary> /// To update prospect detail /// </summary> /// <param name="prospectList"></param> /// <param name="userID"></param> /// <param name="shell"></param> /// <param name="role"></param> /// <returns></returns> public Int64 UpdateProspectWithContact(EProspect prospect, string userID, string shell, string role) { FranchisorDAL franchisorDAL = new FranchisorDAL(); Int64 returnresult = franchisorDAL.SaveProspect(prospect, Convert.ToInt32(EOperationMode.Update), userID, shell, role); Int64 returnContactID = 0; int prospectid = 0; if (returnresult == 0) { prospectid = Convert.ToInt32(prospect.ProspectID); if (prospect.AddressMailing != null) { // Save prospect mailing address franchisorDAL.SaveProspectAddress(prospect.AddressMailing, 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) { // Save Prospect Communication //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 { //Deactivates the same record franchisorDAL.SaveProspectContact(prospect.Contact[i].ContactID, prospectid, false); } } } } if (prospect.ContactCall != null) { prospect.ContactCall.Contact = new EContact(); prospect.ContactCall.Contact.ContactID = Convert.ToInt32(returnContactID); prospect.ContactCall.ProspectID = prospectid; franchisorDAL.SaveCall(prospect.ContactCall, Convert.ToInt32(EOperationMode.Insert)); } if (prospect.ContactMeeting != null) { prospect.ContactMeeting.Contact = new EContact(); prospect.ContactMeeting.Contact.ContactID = Convert.ToInt32(returnContactID); prospect.ContactMeeting.ProspectID = prospectid; franchisorDAL.SaveMeeting(prospect.ContactMeeting, Convert.ToInt32(EOperationMode.Insert)); } if (prospect.Task != null) { prospect.Task.ContactID = Convert.ToInt32(returnContactID); prospect.Task.ProspectID = prospectid; franchisorDAL.SaveTask(prospect.Task, Convert.ToInt32(EOperationMode.Insert), userID, shell, role); } return(returnresult); }