示例#1
0
        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);
        }
示例#2
0
        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);
        }