public bool BindCallToProspectCustomer(long callId, long prospectCustomerId) { using (var myAdapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(myAdapter); var resultRecords = (from pc in linqMetaData.ProspectCustomerCall where pc.CallId == callId select pc).ToArray(); if (!resultRecords.IsNullOrEmpty()) { if (resultRecords.Any(x => x.ProspectCustomerId != prospectCustomerId)) { var bucket = new RelationPredicateBucket(ProspectCustomerCallFields.CallId == callId); myAdapter.DeleteEntitiesDirectly(typeof(ProspectCustomerCallEntity), bucket); } else { return(true); } } var prospectCustomerCall = new ProspectCustomerCallEntity() { ProspectCustomerId = prospectCustomerId, CallId = callId, IsNew = true }; if (!myAdapter.SaveEntity(prospectCustomerCall, false)) { throw new PersistenceFailureException(); } } return(true); }
public bool BindCallToProspectCustomerForCallQueue(long callId, long prospectCustomerId) { using (var myAdapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(myAdapter); var resultRecords = linqMetaData.ProspectCustomerCall. Where(pcCall => pcCall.CallId == callId && pcCall.ProspectCustomerId == prospectCustomerId).ToList(); if (resultRecords != null && resultRecords.Count > 0) { return(true); } var prospectCustomerCall = new ProspectCustomerCallEntity() { ProspectCustomerId = prospectCustomerId, CallId = callId, IsNew = true }; if (!myAdapter.SaveEntity(prospectCustomerCall, false)) { throw new PersistenceFailureException(); } } return(true); }