Пример #1
0
        /// <inheritdoc/>
        public virtual bool Save()
        {
            string diff = SerializeChanges();

            ClearErrors();

            if (IsNewRecord)
            {
                XmlNode node = Listen360.GetRequestResponseElement(CreatePath, diff, HttpVerb.Post);
                LoadXml(node);
            }
            else
            {
                XmlNode node = Listen360.GetRequestResponseElement(UpdatePath, diff, HttpVerb.Put);
                if (node != null)
                {
                    LoadXml(node);
                }
            }

            if (IsValid)
            {
                ClearChanges();
            }

            return(IsValid);
        }
Пример #2
0
        /// <inheritdoc/>
        public IJob FindJobByReference(string reference)
        {
            string    requestPath = string.Format("{0}/jobs?reference={1}", Path, System.Uri.EscapeUriString(reference));
            ArrayList matches     = (ArrayList)(ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath)));
            IJob      match       = (matches.Count == 0) ? null : (IJob)matches[0];

            return(match);
        }
        /// <inheritdoc/>
        public IMembership FindMembershipByEmail(string email)
        {
            string      requestPath = string.Format("{0}/memberships?email={1}", Path, System.Uri.EscapeUriString(email));
            ArrayList   matches     = (ArrayList)(ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath)));
            IMembership match       = (matches.Count == 0) ? null : (IMembership)matches[0];

            return(match);
        }
        /// <inheritdoc/>
        public virtual IOrganization FindDescendentByReference(string reference)
        {
            string        requestPath = string.Format("organizations/{0}/descendents?reference={1}", Id, System.Uri.EscapeUriString(reference));
            ArrayList     matches     = (ArrayList)(ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath)));
            IOrganization match       = (matches.Count == 0) ? null : (IOrganization)matches[0];

            return(match);
        }
Пример #5
0
        /// <inheritdoc/>
        public ICustomAttributeDefinition[] GetCustomAttributeDefinitions()
        {
            string requestPath = string.Format("organizations/{0}/custom_attribute_definitions", Id);

            return((ICustomAttributeDefinition[])((ArrayList)ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath))).ToArray(typeof(ICustomAttributeDefinition)));
        }
Пример #6
0
        /// <inheritdoc/>
        public IJob[] GetJobs(int page)
        {
            string requestPath = string.Format("{0}/jobs?page={1}", Path, page);

            return((IJob[])((ArrayList)ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath))).ToArray(typeof(IJob)));
        }
Пример #7
0
        /// <inheritdoc/>
        public IJob GetJobById(int id)
        {
            string requestPath = string.Format("{0}/jobs/{1}", Path, id);

            return((IJob)ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath)));
        }
Пример #8
0
        /// <inheritdoc/>
        public ITechnician GetTechnicianById(int id)
        {
            string requestPath = string.Format("{0}/technicians/{1}", Path, id);

            return((ITechnician)ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath)));
        }
Пример #9
0
        /// <inheritdoc/>
        public ICustomer GetCustomerById(long id)
        {
            string requestPath = string.Format("{0}/customers/{1}", Path, id);

            return((ICustomer)ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath)));
        }
Пример #10
0
 /// <inheritdoc/>
 public virtual void Delete()
 {
     Listen360.DeleteRequest(DeletePath);
 }
Пример #11
0
 /// <inheritdoc/>
 public virtual void Reload()
 {
     ClearChanges();
     LoadXml(Listen360.GetRequestResponseElement(Path));
 }
        /// <inheritdoc/>
        public virtual IOrganization[] GetDescendents(int page)
        {
            string requestPath = string.Format("organizations/{0}/descendents?page={1}", Id, page);

            return((IOrganization[])((ArrayList)ModelBase.Deserialize(Listen360, Listen360.GetRequestResponseElement(requestPath))).ToArray(typeof(IOrganization)));
        }
Пример #13
0
        /// <inheritdoc/>
        public void SendSurveyInvite()
        {
            string requestPath = string.Format("{0}/send_survey_invite", Path);

            Listen360.GetRequestResponseElement(requestPath, null, HttpVerb.Post);
        }