Exemple #1
0
        //public int Post([FromBody] CompanyRequest companyRequest)
        public async Task <int> Post([FromBody] CompanyRequest companyRequest)
        {
            var existUser = await UserRepository.GetByEmailAsync(companyRequest.UserInfo.Email.Trim());

            if (existUser != null)
            {
                throw new ValidationException("User Email already exists");
            }

            var company = new Company()
            {
                Email     = companyRequest.CompanyInfo.Email,
                Name      = companyRequest.CompanyInfo.Name,
                IsEnabled = true
            };

            string salt = Cryptography.GenerateSalt();
            var    user = new User()
            {
                Address   = new Core.ValueObjects.Address(companyRequest.UserInfo.Address, companyRequest.UserInfo.PostCode, companyRequest.UserInfo.City, companyRequest.UserInfo.Country),
                FirstName = companyRequest.UserInfo.FirstName,
                Email     = companyRequest.UserInfo.Email,
                BirthDate = companyRequest.UserInfo.BirthDate,
                LastName  = companyRequest.UserInfo.LastName,
                IsEnabled = true,
                Salt      = salt,
                Password  = Cryptography.GenerateHash(companyRequest.UserInfo.Password, salt)
            };

            company.Users.Add(user);
            CompanyRepository.Insert(company);
            await UnitOfWork.Commit();

            return(company.Id);
        }
        public void GetSingleTest()
        {
            CompanyRequest target = HighriseApiRequest.CompanyRequest;
            var            actual = target.Get(89797880);

            Assert.IsTrue(actual != null);
        }
 private Company ToCompany(CompanyRequest request)
 {
     return(new Company
     {
         AddedDate = request.AddedDate,
         Capital = request.Capital,
         CompanyAddedBy = request.CompanyAddedBy,
         CompanyAddress = request.CompanyAddress,
         CompanyEmail = request.CompanyEmail,
         CompanyId = request.CompanyId,
         CompanyLegalForm = request.CompanyLegalForm,
         CompanyName = request.CompanyName,
         CompanyNIF = request.CompanyNIF,
         CompanyNotes = request.CompanyNotes,
         CompanyPhone = request.CompanyPhone,
         CompanyProspectlStatus = request.CompanyProspectlStatus,
         CompanySector = request.CompanySector,
         CompanyWebsite = request.CompanyWebsite,
         Contacts = request.Contacts,
         Image = request.Image,
         Status = request.Status,
         Latitude = request.Latitude,
         Longitude = request.Longitude
     });
 }
        public ActionResult UpdateCompany(CompanyRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            try
            {
                var company = _mapper.Map <CompanyRequest, Company>(request);
                if (company.Notifications.Any())
                {
                    return(CustomResponse(company.Notifications));
                }

                _companyAppService.UpdateCompany(company);
                var companyResponse = _mapper.Map <Company, CompanyResponse>(company);
                return(CustomResponse(companyResponse));
            }
            catch (Exception ex)
            {
                MessageException();
                return(CustomExceptionResponse());
            }
        }
Exemple #5
0
        public async Task RegisterAllCompanyFiles()
        {
            try
            {
                using (var context = new DefinitionContext())
                {
                    List <int> companyIds = context.MigrationStatuses
                                            .GroupBy(m => m.CompanyID).Select(g => g.Key).ToList();


                    foreach (var companyId in companyIds)
                    {
                        try
                        {
                            CompanyRequest company = new CompanyRequest
                            {
                                RaetCompanyId = (await context.Companies.SingleAsync(c => c.Id == companyId)).RaetCompanyId,
                                CompanyId     = companyId
                            };

                            await ExecuteCaseManagementPreventionRequests(company);
                        }
                        catch (Exception ex)
                        {
                            _logger.LogWarning(new EventId(1), $"RegisterAllCompanyFiles: \n {ex.Message} \n {ex.InnerException?.Message}");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogWarning(new EventId(2), $"RegisterAllCompanyFiles: Service stopped because of Exception {ex.Message}");
            }
        }
Exemple #6
0
        public void Update_BadWeather()
        {
            // #1 - Try updating a company with empty/null body
            var res = _controller.Update(1, null) as BadRequestErrorMessageResult;

            Assert.NotNull(res);
            Assert.AreEqual("Empty request body!", res.Message);

            // #2 - Try updating a non-existing company
            var updatedCompany = new CompanyRequest()
            {
                Name = "MySuccessfulCompany", Description = "Some new crazy description"
            };
            var res1 = _controller.Update(1, updatedCompany);

            Assert.IsNotNull(res1);
            Assert.IsInstanceOf <NotFoundResult>(res1);

            // #3 - Try updating a company without providing a company name
            _controller.ModelState.AddModelError("error", "A company name must be provided!");
            updatedCompany = new CompanyRequest()
            {
                Description = "The most crazy cells you can find out there"
            };
            res = _controller.Update(1, updatedCompany) as BadRequestErrorMessageResult;
            Assert.NotNull(res);
            Assert.AreEqual("A company name must be provided!", res.Message);
        }
        public ResponseResult GetCompanyList(CompanyRequest request)
        {
            LogHelper.Error("调用获取评估公司API:" + request.ToJson(), null);
            var responseResult = new ResponseResult();

            try
            {
                if (string.IsNullOrEmpty(request.evalType))
                {
                    throw new InvalidDataException("业务类型不能为空");
                }

                var result = CompanyService.GetCompanyList(request.evalType);
                responseResult.Code    = 0;
                responseResult.Message = "success";
                responseResult.Data    = new
                {
                    company = result.Select(x => new { x.Id, x.CompanyName })
                };
            }
            catch (InvalidDataException ex)
            {
                responseResult.Code    = 1;
                responseResult.Message = ex.Message;
            }
            catch (Exception ex)
            {
                responseResult.Code    = 1;
                responseResult.Message = "error";
                LogHelper.Error("调用获取评估公司API错误日志:", ex);
            }
            return(responseResult);
        }
Exemple #8
0
        public void Create_BadWeather()
        {
            // #1 - Try creating a company with empty/null body
            var res = _controller.Create(null) as BadRequestErrorMessageResult;

            Assert.NotNull(res);
            Assert.AreEqual("Empty request body!", res.Message);

            // #2 - Try creating two companies with the same name
            var companyToCreate = new CompanyRequest()
            {
                Name = "CrazyCells", Description = "The most crazy cells you can find out there"
            };

            _controller.Create(companyToCreate);

            companyToCreate = new CompanyRequest()
            {
                Name = "CrazyCells", Description = "Different description"
            };
            res = _controller.Create(companyToCreate) as BadRequestErrorMessageResult;
            Assert.NotNull(res);
            Assert.AreEqual("A company with that name already exists!", res.Message);

            // #3 - Try creating a company without providing a company name
            _controller.ModelState.AddModelError("error", "A company name must be provided!");
            companyToCreate = new CompanyRequest()
            {
                Description = "The most crazy cells you can find out there"
            };
            res = _controller.Create(companyToCreate) as BadRequestErrorMessageResult;
            Assert.NotNull(res);
            Assert.AreEqual("A company name must be provided!", res.Message);
        }
Exemple #9
0
        public void GetCompaniesByPhoneNumberTest()
        {
            CompanyRequest request   = new CompanyRequest(m_highriseURL, m_highriseAuthToken);
            Companies      companies = request.GetByPhoneNumber("555");

            Assert.IsNotNull(companies, "The companies result should not have been null.");
        }
Exemple #10
0
        public IHttpActionResult PutCompanyRequest(int id, CompanyRequest companyRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != companyRequest.RequestId)
            {
                return(BadRequest());
            }

            db.Entry(companyRequest).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CompanyRequestExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #11
0
        public CreateResponse Create(CompanyRequest request)
        {
            var company = _mapper.Map <Company>(request);

            _companyRepository.Create(company);
            return(new CreateResponse(company.Id));
        }
        public void GetTest()
        {
            CompanyRequest target = HighriseApiRequest.CompanyRequest;
            var            actual = target.Get();

            Assert.IsTrue(actual.Any());
        }
Exemple #13
0
        public BaseResponse <object> Create(int playerId, CompanyRequest request)
        {
            var validationResult = Validate <object>(request);

            if (!validationResult.Ok)
            {
                return(validationResult);
            }

            var company = new Company
            {
                Name       = request.Name,
                Desciprion = request.Desciprion,
            };

            var companyJoinInfo = new CompanyJoinInfo
            {
                Company = company,
                Key     = Guid.NewGuid().ToString() //TODO move it to invite generator
            };

            var companyPlayerOwner = new CompanyPlayer
            {
                Company  = company,
                IsOwner  = true,
                PlayerId = playerId
            };

            _dbContext.Companies.Add(company);
            _dbContext.CompanyJoinInfos.Add(companyJoinInfo);
            _dbContext.CompanyPlayers.Add(companyPlayerOwner);

            return(BaseResponse <object> .Success());
        }
Exemple #14
0
        public BaseResponse <object> Update(int playerId, int companyId, CompanyRequest request)
        {
            var validationResult = Validate <object>(request);

            if (!validationResult.Ok)
            {
                return(validationResult);
            }

            var company = _dbContext.Companies.FirstOrDefault(x => x.Id == companyId &&
                                                              x.Players.Any(q =>
                                                                            q.IsOwner && q.PlayerId == playerId));

            if (company == null)
            {
                return(BaseResponse <object> .Fail(_errorMessageProvider.CompanyNotFound));
            }

            company.Name       = request.Name;
            company.Desciprion = request.Desciprion;

            _dbContext.SaveChanges();

            return(BaseResponse <object> .Success());
        }
        /// <summary>
        /// Get shared companies based on the userId
        /// </summary>
        /// <param name="companyRequest"></param>
        /// <returns>CompanyResponse</returns>
        public CompanyResponse GetCompany(CompanyRequest companyRequest)
        {
            CompanyResponse      companyResponse = new CompanyResponse();
            List <CompanyModels> companyList     = new List <CompanyModels>();
            string query = string.Empty;

            try
            {
                if (companyRequest.UserId == 0)
                {
                    throw new ArgumentException("UserId");
                }

                query       = "SELECT c.Id [company_id], c.Name [company_name] FROM dbo.UserCompany uc JOIN dbo.CompanyClient cc ON uc.CompanyId=cc.OwnerCompany JOIN dbo.Company c ON c.Id = cc.ClientCompany WHERE uc.IsDefault=1 	AND uc.IsEnabled=1	AND uc.UserId="+ companyRequest.UserId + " 	AND cc.IsEnabled=1	and c.IsEnabled=1	AND cc.ClientCompany!=uc.CompanyId ";
                companyList = ReadCompanies(query);
                if (companyList != null)
                {
                    companyResponse.Companies = companyList;
                }
                else
                {
                    companyResponse.Error = ResponseBuilder.InternalError();
                    return(companyResponse);
                }
                return(companyResponse);
            }
            catch (Exception getCompanyException)
            {
                LambdaLogger.Log(getCompanyException.ToString());
                companyResponse.Error = new ExceptionHandler(getCompanyException).ExceptionResponse();
                return(companyResponse);
            }
        }
        public void GetCompaniesByPhoneNumberTest()
        {
            CompanyRequest request = new CompanyRequest(m_highriseURL, m_highriseAuthToken);
            Companies companies = request.GetByPhoneNumber("555");

            Assert.IsNotNull(companies, "The companies result should not have been null.");
        }
        public ActionResult CompanyAdd([FromBody] CompanyRequest company)
        {
            string profilePictureUrl = null;

            string result = Regex.Replace(company.logoUrl, "^data:image/[a-zA-Z]+;base64,", string.Empty);

            if (company.logoUrl != null)
            {
                profilePictureUrl = $"images/{company.name}_{Guid.NewGuid().ToString()}.jpg";
                var profilePictureFilePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", profilePictureUrl);
                System.IO.File.WriteAllBytes(profilePictureFilePath, Convert.FromBase64String(result));
            }

            var createCompany = new Company()
            {
                personelCount = company.personelCount,
                telephone     = company.telephone,
                address       = company.address,
                logoUrl       = profilePictureUrl,
                mail          = company.mail,
                name          = company.name
            };

            _appRepository.Add(createCompany);
            _appRepository.SaveAll();
            _appRepository.setCompanyId(company.userId, createCompany.id);
            _appRepository.SaveAll();
            return(Ok(createCompany));
        }
        public async Task <HttpResponseMessage> NewCompany(CompanyRequest companyRequest)
        {
            Services.Log.Info("New Company Request [API]");

            stranddContext context = new stranddContext();

            //Checks for unique Company Name
            Company company = await context.Companies.Where(a => a.Name == companyRequest.Name).SingleOrDefaultAsync();

            if (company != null)
            {
                //Return Failed Response
                string responseText = "Company Already Exists [" + company.Name + "].";
                Services.Log.Warn(responseText);
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, responseText));
            }
            else
            {
                //Vehicle Creation
                Company newCompany = new Company
                {
                    Id   = Guid.NewGuid().ToString(),
                    Name = companyRequest.Name,
                    Type = companyRequest.Type
                };
                context.Companies.Add(newCompany);
                await context.SaveChangesAsync();

                string responseText = ("New Company Created #" + newCompany.Id);
                Services.Log.Info(responseText);

                return(this.Request.CreateResponse(HttpStatusCode.Created, responseText));
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            CompanyRequest companyRequest = db.CompanyRequests.Find(id);

            db.CompanyRequests.Remove(companyRequest);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task <bool> Create(CompanyRequestServiceModel companyRequestServiceModel)
        {
            CompanyRequest companyRequest = companyRequestServiceModel.To <CompanyRequest>();

            context.CompanyRequests.Add(companyRequest);
            int result = await context.SaveChangesAsync();

            return(result > 0);
        }
Exemple #21
0
 public IActionResult Submit(CompanyRequest request)
 {
     return(Json(new
     {
         code = 0,
         msg = "提交成功",
         data = new CompanyResponse()
     }));
 }
Exemple #22
0
        public void CompanyRequestByIDTest()
        {
            int            id      = 57644826;
            CompanyRequest request = new CompanyRequest(m_highriseURL, m_highriseAuthToken);
            Company        company = request.GetByID(id);

            Assert.AreEqual(id, company.ID, "The ID of the company record did not match the ID that was requested.");
            Assert.AreEqual("Acme Washing Machines", company.Name, "The name of the company was not as expected.");
        }
Exemple #23
0
        public void GetCompaniesByNameTest()
        {
            CompanyRequest request   = new CompanyRequest(m_highriseURL, m_highriseAuthToken);
            Companies      companies = request.GetByName("Acme Washing Machines");

            Assert.IsNotNull(companies, "The companies result should not have been null.");
            Assert.AreEqual(1, companies.CompanyList.Count, "An unexpected number of results were returned.");
            Assert.AreEqual(companies.CompanyList[0].ID, 57644826, "The ID of the company returned for a name search was not expected.");
        }
        public void GetCompaniesByNameTest()
        {
            CompanyRequest request = new CompanyRequest(m_highriseURL, m_highriseAuthToken);
            Companies companies = request.GetByName("Acme Washing Machines");

            Assert.IsNotNull(companies, "The companies result should not have been null.");
            Assert.AreEqual(1, companies.CompanyList.Count, "An unexpected number of results were returned.");
            Assert.AreEqual(companies.CompanyList[0].ID, 57644826, "The ID of the company returned for a name search was not expected.");
        }
Exemple #25
0
        public SuccessResponse Update(int id, CompanyRequest request)
        {
            var companyModel = _mapper.Map <Company>(request);
            var company      = _companyRepository.GetBy(id);

            _mapper.Map(companyModel, company);
            _companyRepository.Update(company);
            return(new SuccessResponse(true));
        }
        public void CompanyRequestByIDTest()
        {
            int id = 57644826;
            CompanyRequest request = new CompanyRequest(m_highriseURL, m_highriseAuthToken);
            Company company = request.GetByID(id);

            Assert.AreEqual(id, company.ID, "The ID of the company record did not match the ID that was requested.");
            Assert.AreEqual("Acme Washing Machines", company.Name, "The name of the company was not as expected.");
        }
Exemple #27
0
        public IActionResult Create([FromBody] CompanyRequest companyRequest)
        {
            var company = new Company();

            mapper.Map(companyRequest, company);

            var result = companyService.CreateCompany(company);

            return(Ok(result));
        }
Exemple #28
0
        public void CheckException()
        {
            CompanyRequest companyRequest            = new CompanyRequest {
            };
            Mock <CompanyRepository> companyMock     = new Mock <CompanyRepository>();
            CompanyResponse          companyResponse = companyMock.Object.GetCompany(companyRequest);

            Assert.IsTrue(companyResponse.Error != null);
            Assert.IsTrue(companyResponse.Error.Message == "Invalid input :UserId");
        }
 public ActionResult Edit([Bind(Include = "RequestId,CompanyRequestJobTitle,CompanyRequestJobRequirement,CompanyRequestJobExperience,ProgrammingLanguage,CompanyHRID")] CompanyRequest companyRequest)
 {
     if (ModelState.IsValid)
     {
         db.Entry(companyRequest).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CompanyHRID = new SelectList(db.CompanyHRs, "CompanyHRID", "CompanyHRName", companyRequest.CompanyHRID);
     return(View(companyRequest));
 }
        public async Task <IHttpActionResult> UpdateCompany([FromUri] int id, [FromBody] CompanyRequest updateRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await _companyService.UpdateCompanyAsync(id, updateRequest);

            return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NoContent)));
        }
Exemple #31
0
        public IHttpActionResult GetCompanyRequest(int id)
        {
            CompanyRequest companyRequest = db.CompanyRequests.Find(id);

            if (companyRequest == null)
            {
                return(NotFound());
            }

            return(Ok(companyRequest));
        }
        public async Task <CompanyId> Post(CompanyRequest request)
        {
            var id             = Guid.NewGuid().ToString();
            var companyId      = new CompanyId("company-" + id);
            var companyRecord  = new Company(companyId, request.Name, request.Address, "", DateTime.Now, null, null);
            var companyCommand = new CompanyAddCommand(companyId, companyRecord);

            await CommandBus.PublishAsync(companyCommand, CancellationToken.None).ConfigureAwait(false);

            return(companyId);
        }
Exemple #33
0
        public async Task Create(CompanyRequest request)
        {
            var company = new Company(request.Name, request.Email, request.SiteUri, request.CNPJ,
                                      request.Tell, request.Registration, request.OpeningDate, request.UserId);

            _notify.Validate(company, new CompanyValidator());

            if (_notify.IsValid)
            {
                await _repoCompany.Register(company);
            }
        }
        /// <summary>
        /// Looks up a person contact in the 37 Signals Highrise application.
        /// </summary>
        /// <param name="url">The URL of the Highrise account to attempt the lookup on.</param>
        /// <param name="authToken">The auth token for the Highrise account to attempt the lookup with.</param>
        /// <param name="name">The name of the person to attempt a match on.</param>
        /// <param name="addCallNote">If true it indicates a Highrise note should be created if a matching contact is found.</param>
        //public CRMHeaders LookupHighriseContact(string url, string authToken, string name, bool addCallNote, bool async)
        //{
        //    LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Looking up Highrise contact on " + url + " for " + name + ".", m_context.Owner));
        //    if (async)
        //    {
        //        m_context.SetCallerDetails(new CRMHeaders() { Pending = true });
        //        ThreadPool.QueueUserWorkItem(delegate { DoLookup(url, authToken, name, addCallNote, (result) => { m_context.SetCallerDetails(result); }); });
        //        return null;
        //    }
        //    else
        //    {
        //        return DoLookup(url, authToken, name, addCallNote, null);
        //    }
        //}
        private CRMHeaders DoLookup(string url, string authToken, SIPFromHeader from, bool addCallNote, Action<CRMHeaders> callback)
        {
            try
            {
                string searchString = null;
                string lookupType = null;

                if (from.FromName != null && Regex.Match(from.FromName, @"\D").Success)
                {
                    // The From display name has a non-digit character do a name lookup.
                    lookupType = "name";
                    searchString = from.FromName.Trim();
                }
                else if (from.FromName != null)
                {
                    // The From display name is all digits do a phone number lookup.
                    lookupType = "phonenumber";
                    searchString = from.FromName.Trim();
                }
                else if (!Regex.Match(from.FromURI.User, @"\D").Success)
                {
                    // The From URI user is all digits do a phone number lookup.
                    lookupType = "phonenumber";
                    searchString = from.FromURI.User.Trim();
                }
                else
                {
                    // Last resort is to do a SIP URI lookup.
                    lookupType = "sipaddress";
                    searchString = from.FromURI.ToAOR();
                }

                LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Highrise contact lookup type " + lookupType + " commencing for " + searchString + ".", m_context.Owner));

                CRMHeaders result = null;
                DateTime startLookup = DateTime.Now;

                PersonRequest personRequest = new PersonRequest(url, authToken);
                People people = null;

                if (lookupType == "name")
                {
                    people = personRequest.GetByName(searchString);
                }
                else if (lookupType == "phonenumber")
                {
                    people = personRequest.GetByPhoneNumber(searchString);
                }
                else if (lookupType == "sipaddress")
                {
                    people = personRequest.GetByCustomField("sip_address", searchString);
                }

                if (people != null && people.PersonList != null && people.PersonList.Count > 0)
                {
                    Person person = people.PersonList[0];
                    string companyName = null;

                    if (person.CompanyID != null)
                    {
                        CompanyRequest companyRequest = new CompanyRequest(url, authToken);
                        Company company = companyRequest.GetByID(person.CompanyID.Value);

                        if (company != null)
                        {
                            companyName = company.Name;
                        }
                    }

                    double secondsDuration = DateTime.Now.Subtract(startLookup).TotalSeconds;

                    if (companyName != null)
                    {
                        LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Highrise contact match " + person.FirstName + " " + person.LastName + " of " + companyName + ", time taken " + secondsDuration.ToString("0.##") + "s.", m_context.Owner));
                    }
                    else
                    {
                        LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Highrise contact match " + person.FirstName + " " + person.LastName + ", time taken " + secondsDuration.ToString("0.##") + "s.", m_context.Owner));
                    }
                    //m_context.SetCallerDetails(new CRMHeaders(person.FirstName + " " + person.LastName, companyName, person.AvatarURL));
                    string personName = (!person.LastName.IsNullOrBlank()) ? person.FirstName + " " + person.LastName : person.FirstName;
                    result = new CRMHeaders(personName, companyName, person.AvatarURL);

                    if (addCallNote)
                    {
                        ThreadPool.QueueUserWorkItem(delegate { AddHighriseCallNote(url, authToken, from, person); });
                    }
                }
                else
                {
                    double secondsDuration = DateTime.Now.Subtract(startLookup).TotalSeconds;

                    LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "No Highrise contact match, time taken " + secondsDuration.ToString("0.##") + "s.", m_context.Owner));
                    result = new CRMHeaders() { Pending = false, LookupError = "No Highrise contact match." };
                }

                if (callback != null)
                {
                    callback(result);
                }

                return result;
            }
            catch (Exception excp)
            {
                logger.Error("Exception LookupHighriseContact. " + excp.Message);
                LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Error looking up Highrise contact.", m_context.Owner));

                var errorResult = new CRMHeaders() { Pending = false, LookupError = "Error looking up Highrise contact." };

                if (callback != null)
                {
                    callback(errorResult);
                }

                return errorResult;
            }
        }
        private void DoLookup(string url, string authToken, string name, bool addCallNote)
        {
            try
            {
                PersonRequest personRequest = new PersonRequest(url, authToken);
                People people = personRequest.GetByName(name);

                if (people != null && people.PersonList != null && people.PersonList.Count > 0)
                {
                    Person person = people.PersonList[0];
                    string companyName = null;

                    if (person.CompanyID != null)
                    {
                        CompanyRequest companyRequest = new CompanyRequest(url, authToken);
                        Company company = companyRequest.GetByID(person.CompanyID.Value);

                        if (company != null)
                        {
                            companyName = company.Name;
                        }
                    }

                    LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Highrise contact match " + person.FirstName + " " + person.LastName + " of " + companyName + ".", m_context.Owner));
                    m_context.SetCallerDetails(new CRMHeaders(person.FirstName + " " + person.LastName, companyName, person.AvatarURL));

                    if (addCallNote)
                    {
                        ThreadPool.QueueUserWorkItem(delegate { AddHighriseCallNote(url, authToken, person); });
                    }
                }
                else
                {
                    LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "No Highrise contact match.", m_context.Owner));
                    m_context.SetCallerDetails(new CRMHeaders() { Pending = false, LookupError = "No Highrise contact match." });
                }
            }
            catch (Exception excp)
            {
                logger.Error("Exception LookupHighriseContact. " + excp.Message);
                LogToMonitor(new SIPMonitorConsoleEvent(SIPMonitorServerTypesEnum.AppServer, SIPMonitorEventTypesEnum.DialPlan, "Error looking up Highrise contact.", m_context.Owner));
                m_context.SetCallerDetails(new CRMHeaders() { Pending = false, LookupError = "Error looking up Highrise contact." });
            }
        }