﻿DesignCategory=(function(s){var self=this;this.Id=0;this.Title='';this.IsIgnoreingSubCategories='';this.Parent_Id=0;this.Tier=0;this.ThumbnailImageSrc='';this.Description='';var init=function(parms){parms=$.extend({Id:0,Title:'',Tier:0,IsIgnoreingSubCategories:false,Parent_Id:0,ThumbnailImageSrc:'',Description:''},parms);self.Id=((parms.Id&&!isNaN(parms.Id))?parms.Id:0);self.Parent_Id=((parms.Parent_Id&&!isNaN(parms.Parent_Id))?parms.Parent_Id:0);self.Title=parms.Title;self.Tier=parms.Tier;self.ThumbnailImageSrc=parms.ThumbnailImageSrc;self.IsIgnoreingSubCategories=parms.IsIgnoreingSubCategories;self.Description=parms.Description;}
init(s);this.Save=function(s){self.Id=((self.Id&&!isNaN(self.Id))?self.Id:0);$.softAjax({url:'/Designs/Categories',data:{json:JSON.stringify(self)},type:'PUT',success:function(data){if(s.Callback&&$.isFunction(s.Callback)){s.Callback(data);}}})}});DesignCategory.GetAsync=function(s){s=$.extend({Id:0,Callback:null},s);$.softAjax({url:'/Designs/Categories',data:{id:s.Id},type:'POST',success:function(data){if(s.Callback){var catTitles=[];var titles=[];if($.isArray(data.Result)){for(var i=0;i<data.Result.length;i++){var title='';if(data.Result[i].Tier==0)
catTitles=[];if(data.Result[i].Tier==0||(catTitles.length>0&&data.Result[i].Tier>catTitles[catTitles.length-1].Tier))
catTitles.push(data.Result[i]);else
catTitles.splice(catTitles.length-1,1,data.Result[i]);for(var y=0;y<catTitles.length;y++){title+=catTitles[y].Title+((y<catTitles.length-1)?'/':'');}
titles.push(title);}
for(var i=0;i<data.Result.length;i++){data.Result[i].Title=titles[i];}
data.Result.sort(function(a,b){var compA=a.Title.toUpperCase();var compB=b.Title.toUpperCase();return(compA<compB)?-1:(compA>compB)?1:0;})}
s.Callback(data.Result);}}});}
DesignCategory.GetByDesignIdAsync=function(s){s=$.extend({Id:0,Callback:null},s);$.softAjax({url:'/Designs/Categories',data:{id:s.Id},type:'POST',success:function(data){if(s.Callback){s.Callback(data.Result);}}});}
DesignCategory.GetByParentIdAsync=function(s){s=$.extend({Id:0,Callback:null},s);$.softAjax({url:'/Designs/CategoriesByParent',data:{id:s.Id},type:'POST',success:function(data){if(s.Callback){s.Callback(data.Result);}}});}
DesignCategory.DeleteAsync=function(catId,callback){$.softAjax({url:'/Designs/Categories',data:{id:catId},type:'DELETE',success:function(data){if($.isFunction(callback)){callback(data.Result);}}});}
