public HttpResponseMessage DeleteContactNote(int id)
        {
            SuccessResponse response = new SuccessResponse();

            ContactNotesService.DeleteContactNote(id);
            return(Request.CreateResponse(response));
        }
        public HttpResponseMessage GetContactNote(int id)
        {
            ItemResponse <ContactNotes> response = new ItemResponse <ContactNotes>();

            response.Item = ContactNotesService.GetContactNote(id);
            return(Request.CreateResponse(response));
        }
        public HttpResponseMessage GetListOfContactNotes()
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            ItemsResponse <ContactNotes> response = new ItemsResponse <ContactNotes>();

            response.Items = ContactNotesService.GetListOfContactNotes();
            return(Request.CreateResponse(response));
        }
        public HttpResponseMessage UpdateContactNote(UpdateContactNoteRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            SuccessResponse response = new SuccessResponse();

            ContactNotesService.UpdateContactNote(model);
            return(Request.CreateResponse(response));
        }
        public HttpResponseMessage AddContactNote(AddContactNoteRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            ItemResponse <int> response = new ItemResponse <int>();

            response.Item = ContactNotesService.UpdateContactNote(model);
            return(Request.CreateResponse(response));
        }
        /// <summary>
        /// Initializes a new instance of AgileCrm.
        /// </summary>
        /// <returns>
        ///   <see cref="IAgileCrm" />.
        /// </returns>
        private static IAgileCrm Initialize()
        {
            var httpClient = new HttpClientWrapper(
                localAgileCrmConfiguration);

            var companiesService = new CompaniesService(
                httpClient,
                localLogger);

            var contactsService = new ContactsService(
                httpClient,
                localLogger);

            var dealsService = new DealsService(
                httpClient,
                localLogger);

            var contactNotesService = new ContactNotesService(
                httpClient,
                localLogger);

            var dealNotesService = new DealNotesService(
                httpClient,
                localLogger);

            var notesService = new NotesService(
                contactNotesService,
                dealNotesService);

            var tasksService = new TasksService(
                httpClient,
                localLogger);

            var agileCrm = new AgileCrm(
                companiesService,
                contactsService,
                dealsService,
                notesService,
                tasksService);

            return(agileCrm);
        }