Вы можете сделать что-то вроде этого,
Создать Result
Объект, который можно использовать для передачи данных между слоями.
public class Result
{
public HasResult { get; set; }
public ErrorMessage { get; set;}
public SuccessMessage { get; set;}
}
Передать как Result
Объект вызывающемуслой (здесь, в вашем случае Controller
) после всех проверок вашего бизнеса.
public Result IsValid(int Value)
{
var result = new Result();
result.HasResult = Value > 10;//set this after all your business rules
if(HasResult)
{
result.SuccessMessage = "Success";
}
else
{
result.ErrorMessage = "Insert a bigger value";
}
return result;
}
В контроллере
[HttpPost]
public ActionResult InsertProduct(Product Product)
{
var returnMessage = "";
try
{
InsertProductBLL ProductInsertion = new InsertProductBLL (Product.Value, Product.Description);
var result = ProductInsertion.IsValid(Product.Value);
returnMessage = result.HasResult
? result.SuccessMessage
: result.ErrorMessage;
}
catch (Exception e)
{
Console.Write(e.Message);
returnMessage = "Fail";
}
return PartialView(returnMessage);
}