public BLResponse<Author>  SaveAuthor(SaveAuthor author, BLRequest blRequest){

			Client.Execute(proxy=>{

				if(author.Id==default(int)){
					Rules.AuthorRules.ValidateOnSave(author, Authors.Count(proxy));
					Authors.Post(proxy,author);
				}
				else{
					Rules.AuthorRules.ValidateOnSave(author);
					Authors.Put(proxy,author);
				}

			});

			var r = new BLResponse<Author>();
			if(!IsCayita(blRequest)) 
				r.Result.Add(author);
			else
			{
				var grid = BuildAuthorGrid(new List<Author>());
				var dr =grid.CreateRow(author);
				r.Html= dr.ToString();
			}
			return r;
		
		}
		public BLResponse<Author> Post(SaveAuthor request)
		{
			return Controller.SaveAuthor(request,BLRequest);
		}
		public BLResponse<Author> Put(SaveAuthor request)
		{
			return Post(request);
		}