public ActionResult Create()
 {
     EquipamentoViewModel model = new EquipamentoViewModel();
       model.Servicos.Add(new EquipamentoServicoViewModel() { ServicosDisponiveis = model.ServicosDisponiveis });
       fillModelLists(model);
       return View(model);
 }
        public ActionResult Create(EquipamentoViewModel model)
        {
            if (ModelState.IsValid) {
            Equipamentos equipamento = new Equipamentos();
            fillEquipamento(equipamento, model);

            EquipamentoService.saveEquipamento(equipamento);
            this.addMensagemSucesso("Produto criado com sucesso!");
              } else {
            return View(model);
              }
              return RedirectToAction("Index", "Equipamento");
        }
 public ActionResult Edit(EquipamentoViewModel model)
 {
     if (ModelState.IsValid) {
     Equipamentos equipamento = EquipamentoService.getEquipamento(model.IDEquipamento);
     fillEquipamento(equipamento, model);
     try {
       EquipamentoService.saveEquipamento(equipamento);
     } catch (ConstraintConflictException ex) {
       this.addMensagemErro(ex.Message);
       return RedirectToAction("Edit", new { id = model.IDEquipamento });
     }
     this.addMensagemSucesso("Produto salvo com sucesso");
       } else {
     return View(model);
       }
       return RedirectToAction("Index", "Equipamento");
 }
 public void fillModelLists(EquipamentoViewModel model)
 {
     foreach (var servico in ServicoService.getServicos(String.Empty, visitor.IDEmpresa, true)) {
     model.ServicosDisponiveis.Add(new SelectListItem() { Value = servico.IDServico.ToString(), Text = servico.Descricao.ToUpper() });
       }
 }
        private void fillEquipamento(Equipamentos equipamento, EquipamentoViewModel model)
        {
            equipamento.IDEmpresa = 1;
              equipamento.IDUsuario = visitor.ID;
              equipamento.Descricao = model.Descricao;
              equipamento.Modelo = model.Modelo;
              equipamento.PrecoMaximo = model.PrecoMaximo.Value;
              equipamento.PrecoMinimo = model.PrecoMinimo.Value;
              equipamento.Servico = false;
              equipamento.Fabricante = model.Fabricante;

              var equipamentosServicosNew = new List<EquipamentosServicos>();
              foreach (var equipamentoServicoModel in model.Servicos) {

              if (equipamentoServicoModel.IdServico.HasValue)
              {
              var equipamentoServico =
                  equipamento.EquipamentosServicos.Where(c => c.IDServico == equipamentoServicoModel.IdServico)
                             .FirstOrDefault();

              if (equipamentoServico == null)
              {
                  equipamentoServico = new EquipamentosServicos()
                      {
                          IDServico = Convert.ToInt32(equipamentoServicoModel.IdServico)
                      };
              }

              equipamentoServico.IDUsuario = visitor.ID;
              equipamentoServico.PrecoMaximo = equipamentoServicoModel.PrecoMaximo.GetValueOrDefault();
              equipamentoServico.PrecoMinimo = equipamentoServicoModel.PrecoMinimo.GetValueOrDefault();
              equipamentosServicosNew.Add(equipamentoServico);
              }

              }

              equipamento.EquipamentosServicos = equipamentosServicosNew;
        }