public ActionResult Edit(PrefixoViewModel model)
 {
     if (ModelState.IsValid) {
     Prefixos prefixo = PrefixoService.getPrefixo(model.IDPrefixo);
     fillPrefixo(prefixo, model);
     this.addMensagemSucesso("Prefixo salvo com sucesso");
     PrefixoService.savePrefixo(prefixo);
       } else {
     return View(model);
       }
       return RedirectToAction("Index", "Prefixo");
 }
        public ActionResult Create(PrefixoViewModel model)
        {
            if (ModelState.IsValid) {
            var prefixo = new Prefixos();
            fillPrefixo(prefixo, model);

            PrefixoService.savePrefixo(prefixo);
            this.addMensagemSucesso("Prefixo criado com sucesso!");
              } else {
            return View(model);
              }
              return RedirectToAction("Index", "Prefixo");
        }
        public void fillModelLists(PrefixoViewModel model)
        {
            //model.EquipamentosDisponiveis.Add(new SelectListItem() { Value = "", Text = "Selecione..." });

              //foreach (var equip in EquipamentoService.getEquipamentos(visitor.IDEmpresa))
              //{
              //    model.EquipamentosDisponiveis.Add(new SelectListItem() { Value = equip.IDEquipamento.ToString(), Text = equip.Descricao });
              //}

              model.EquipamentosDisponiveis = EquipamentoService.getEquipamentos(visitor.IDEmpresa);

              if (model.ListPrefixoEquipamentoServico.Count == 0) {
            model.ListPrefixoEquipamentoServico.Add(new PrefixoEquipamentoServicoViewModel());
            model.ListPrefixoEquipamentoServico.First().Servicos = new List<SelectListItem>();
              }
        }
 public ActionResult Create()
 {
     PrefixoViewModel model = new PrefixoViewModel();
       fillModelLists(model);
       return View(model);
 }
        private PrefixoViewModel getViewModel(Prefixos prefixos)
        {
            var model = new PrefixoViewModel() {
            IDPrefixo = prefixos.IDPrefixo,
            Prefixo = prefixos.Prefixo,
            IDCliente = prefixos.IDCliente,
            NomeCliente = prefixos.Clientes.Nome
              };

              if (prefixos.PrefixosEquipamentosServicos != null) {
            foreach (var pre in prefixos.PrefixosEquipamentosServicos) {

              var prefixoEquipamentoServicoViewModel = new PrefixoEquipamentoServicoViewModel() {
            IDEquipamentoServico = pre.IDEquipamentoServico,
            IDPrefixoEquipamentoServico = pre.IDPrefixoEquipamento,
            IDEquipamento = pre.EquipamentosServicos.Equipamentos.IDEquipamento,
            Servicos = (from i in pre.EquipamentosServicos.Equipamentos.EquipamentosServicos select new SelectListItem() { Value = i.IDEquipamentoServico.ToString(), Text = i.Servicos.Descricao.ToUpper() }).ToList()
              };

              prefixoEquipamentoServicoViewModel.Servicos.First(c => c.Value == pre.IDEquipamentoServico.ToString()).Selected = true;

              model.ListPrefixoEquipamentoServico.Add(prefixoEquipamentoServicoViewModel);
            }
              }

              fillModelLists(model);

              return model;
        }
        private void fillPrefixo(Prefixos prefixo, PrefixoViewModel model)
        {
            prefixo.IDUsuario = visitor.ID;
              prefixo.Prefixo = model.Prefixo;
              prefixo.IDCliente = model.IDCliente;

              var prefixoEquipamentoNew = new List<PrefixosEquipamentosServicos>();

              foreach (var pfs in model.ListPrefixoEquipamentoServico) {
            var prefixoEquipamentoServico =
            prefixo.PrefixosEquipamentosServicos.FirstOrDefault(c => c.IDPrefixoEquipamento == pfs.IDPrefixoEquipamentoServico);

            if (prefixoEquipamentoServico == null) {
              prefixoEquipamentoServico = new PrefixosEquipamentosServicos() {
            IDEquipamentoServico = pfs.IDEquipamentoServico
              };
            }

            prefixoEquipamentoServico.IDUsuario = visitor.ID;

            prefixoEquipamentoNew.Add(prefixoEquipamentoServico);

              }

              prefixo.PrefixosEquipamentosServicos = prefixoEquipamentoNew;
        }