protected RestRequest RequestForAdd(string Resource, Entities.PrestashopEntity Entity)
        {
            var request = new RestRequest();

            request.Resource      = Resource;
            request.Method        = Method.POST;
            request.RequestFormat = DataFormat.Xml;
            //Hack implementation in PrestaSharpSerializer to serialize PrestaSharp.Entities.AuxEntities.language
            request.XmlSerializer = new Serializers.PrestaSharpSerializer();
            string serialized = ((Serializers.PrestaSharpSerializer)request.XmlSerializer).PrestaSharpSerialize(Entity);

            serialized = "<prestashop>\n" + serialized + "\n</prestashop>";
            request.AddParameter("xml", serialized);
            return(request);
        }
        protected RestRequest RequestForUpdate(string Resource, long?Id, Entities.PrestashopEntity PrestashopEntity)
        {
            if (Id == null)
            {
                throw new ApplicationException("Id is required to update something.");
            }
            var request = new RestRequest();

            request.RootElement = "prestashop";
            request.Resource    = Resource;
            request.AddParameter("id", Id, ParameterType.UrlSegment);
            request.Method        = Method.PUT;
            request.RequestFormat = DataFormat.Xml;
            request.XmlSerializer = new RestSharp.Serializers.DotNetXmlSerializer();
            request.AddBody(PrestashopEntity);
            request.Parameters[1].Value = request.Parameters[1].Value.ToString().Replace("<" + PrestashopEntity.GetType().Name + ">", "<prestashop>\n<" + PrestashopEntity.GetType().Name + ">");
            request.Parameters[1].Value = request.Parameters[1].Value.ToString().Replace("</" + PrestashopEntity.GetType().Name + ">", "</" + PrestashopEntity.GetType().Name + "></prestashop>");
            return(request);
        }