public void Liquidar(string postedData) { RepositorioPadrao <Titulo> repo; TituloViewModel viewModel = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <TituloViewModel>(postedData); if (viewModel.Categoria.Direcao == DirecaoCategoria.Recebimento) { repo = new RepositorioRecebimento(); } else { repo = new RepositorioPagamento(); } if (viewModel.TituloRecorrenteId != null && (viewModel.Valor == null || viewModel.Valor == 0)) { viewModel.Valor = viewModel.Liquidacoes.Sum(l => l.Valor); } if (ModelState.IsValid) { var novoTitulo = viewModel.ToModel(); repo.Incluir(novoTitulo); } }