public ActionResult Create(CustoViewModel model)
        {
            if (ModelState.IsValid)
            {
                var custo = new Custos();
                fillCusto(custo, model);

                try
                {
                    CustoService.saveCusto(custo);
                    addMensagemSucesso("Conta a pagar / Custo criado com sucesso!");
                }
                catch (BusinessException ex)
                {
                    model.ListTipoCusto = CustoService.getTiposCusto()
                    .Select(c => new SelectListItem() { Value = c.IDTipoCusto.ToString(), Text = c.Descricao })
                    .ToList();

                    addMensagemErro(ex.Message);
                    return View(model);
                }
            }
            else
            {
                return View(model);
            }
            return RedirectToAction("Index", "Custo");
        }
        private CustoViewModel getViewModel(Custos custo)
        {
            CustoViewModel model = new CustoViewModel()
            {
                DataCriacao = custo.DataCriacao,
                DataEmissao = custo.DataEmissao,
                DataModificacao = custo.DataModificacao,
                IDCusto = custo.IDCusto,
                Pedido = custo.Pedido,
                Preco = custo.Preco,
                IDTipoCusto = custo.TiposCusto.IDTipoCusto,
                IDUsuario = custo.IDUsuario,
                TipoCusto = custo.TiposCusto.Descricao,
                Descricao = custo.Descricao
            };

            return model;
        }
 private void fillCusto(Custos custo, CustoViewModel model)
 {
     custo.IDCusto = model.IDCusto;
     custo.IDUsuario = visitor.ID;
     if (model.Preco != null) custo.Preco = model.Preco.Value;
     if (model.DataEmissao != null) custo.DataEmissao = model.DataEmissao.Value;
     custo.Pedido = model.Pedido;
     custo.IDTipoCusto = model.IDTipoCusto;
     custo.Descricao = model.Descricao;
 }