コード例 #1
0
        public IEnumerable <ErrorData> ContactsFromNAV(IEnumerable <ContactDetails> contacts)
        {
            List <ErrorData> errorList = new List <ErrorData>();

            //try
            //{
            foreach (var contact in contacts)
            {
                var    crmCode          = contact.CRMCode;
                var    navCode          = contact.NavCode;
                var    retrievedContact = _svc.RetriveContactWithNavCode(navCode);
                Entity address          = null;
                if (contact.AddressIdentifier != null && contact.AddressIdentifier != "")
                {
                    address = _svc.RetrieveAddres(contact.AddressIdentifier);
                }
                if (retrievedContact == null)
                {
                    try
                    {
                        _svc.CreateContact(contact, address);
                        errorList.Add(new ErrorData(contact.NavCode, "Success", "Success"));
                    }
                    catch (Exception ex)
                    {
                        errorList.Add(new ErrorData(contact.NavCode, "Failed", ex.Message));
                    }
                }
                else
                {
                    try
                    {
                        _svc.UpdateContact(contact, retrievedContact);
                        errorList.Add(new ErrorData(contact.NavCode, "Success", "Success"));
                    }
                    catch (Exception ex)
                    {
                        errorList.Add(new ErrorData(contact.NavCode, "Failed", ex.Message));
                    }
                }
            }
            return(errorList);
            //}
            //catch (Exception ex)
            //{
            //    throw new Exception(ex.Message);
            //    //ErrorData errorData = new ErrorData(ex.Message, "");
            //    //throw new WebFaultException<ErrorData>(errorData, HttpStatusCode.ExpectationFailed);
            //}
        }