[CompanyAuthorizationFilter]
[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]
public class TermSheetController : System.Web.Mvc.Controller
{
public ActionResult Notes(Guid? id, string notesText)
{
if (isModelValid(id))
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", notesText);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult SummaryInformation(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "SummaryInformation.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult ProductLegs(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "ProductLegs.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult AmortizationOptions(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "AmortizationOptions.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult Values(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "Values.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult Rates(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "Rates.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult RatesSpecific(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "RatesSpecific.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult AmortizationSchedule(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "AmortizationSchedule.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult SponsorInfo(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getBaseViewPath() + "SponsorInfo.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult BorrowerInfo(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getBaseViewPath() + "BorrowerInfo.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult SponsorContacts(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getBaseViewPath() + "SponsorContacts.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult CashFlows(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "CashFlows.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult PrePayment(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
if (string.IsNullOrEmpty(model.PrepaymentExport))
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Prepayment has not been calculated yet.");
}
else
{
return Json(model.PrepaymentExport);
}
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult FutureExposure(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
if (string.IsNullOrEmpty(model.ExposureExport))
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Potential Future Exposure has not been calculated yet.");
}
else
{
return Json(model.ExposureExport);
}
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult FutureExposureSpecific(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
if (string.IsNullOrEmpty(model.ExposureExport))
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Potential Future Exposure has not been calculated yet.");
}
else
{
return Json(model.ExposureExport);
}
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult History(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getBaseViewPath() + "History.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
public ActionResult ValuationHistoryGrid(Guid? id)
{
if (isModelValid(id))
{
ModelBase model = getModel(id.Value);
return View(getSpecificViewPath(model) + "ValuationHistoryGrid.aspx", model);
}
else
{
return View(@"~\Views\Indications\ShowAStringPartial.aspx", "", "Structure is not in a valid state. Could not render Term Sheet View.");
}
}
private bool isModelValid(Guid? id)
{
try
{
if (id.HasValue)
{
IndicationBase indication = CachedTransactionManager<IndicationBase>.GetCachedTransactions(id.Value);
if (indication.Model == null)
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
private ModelBase getModel(Guid id)
{
IndicationBase indication = CachedTransactionManager<IndicationBase>.GetCachedTransactions(id);
return indication.Model;
}
private string getSpecificViewPath(ModelBase model)
{
var viewPath = "";
if (model.GetType() == typeof(Chatham.Web.Models.Indications.SwapModel))
{
viewPath = @"~\Views\Indications\TermSheetViews\Swap\";
}
if (model.GetType() == typeof(Chatham.Web.Models.Indications.OptionModel))
{
viewPath = @"~\Views\Indications\TermSheetViews\Option\";
}
if (model.GetType() == typeof(Chatham.Web.Models.Indications.CollarModel))
{
viewPath = @"~\Views\Indications\TermSheetViews\Collar\";
}
if (model.GetType() == typeof(Chatham.Web.Models.Indications.CompoundSwapModel))
{
viewPath = @"~\Views\Indications\TermSheetViews\CompoundSwap\";
}
return viewPath;
}
private string getBaseViewPath()
{
return @"~\Views\Indications\TermSheetViews\";
}
}
Так что, просто просматривая код, вы, вероятно, можете сказать, что он делает.Каждое действие контроллера относится к разному желаемому результату, и я передаю (по большей части) Guid? id
, и мы используем этот id
для вызова вспомогательных методов private
, получим model
и вернуть конкретный view
на основе этого model
.
Я действительно даже не знаю, с чего начать юнит-тестирование этого класса.Могу ли я получить помощь здесь?Спасибо!