예제 #1
0
        public IActionResult Update(int id, [FromBody] Plano plano)
        {
            if (plano == null || plano.Id != id)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var           _plano  = _planoRepository.Find(id);
            List <string> listDDD = new List <string>();

            if (_plano == null)
            {
                return(NotFound("Plano não encontrado."));
            }

            //Assumindo que os dados de DDD, Operadora e tipo de plano já devem existir no BD
            if (plano.PlanoDDD != null)
            {
                foreach (PlanoDDD item in plano.PlanoDDD)
                {
                    listDDD.Add(item.CodigoDDD);
                }
            }
            string validar_dados = DataValidate(plano.IdOperadora, plano.IdTipoPlano, listDDD);

            if (string.IsNullOrEmpty(validar_dados))
            {
                _plano.Minutos         = plano.Minutos;
                _plano.Franquia        = plano.Franquia;
                _plano.UnidadeFranquia = plano.UnidadeFranquia;
                _plano.Valor           = plano.Valor;
                _plano.IdTipoPlano     = plano.IdTipoPlano;
                _plano.IdOperadora     = plano.IdOperadora;
                _plano.PlanoDDD        = plano.PlanoDDD;
                _planoRepository.Update(_plano);
            }
            else
            {
                return(NotFound(validar_dados));
            }

            return(Ok(""));
        }
예제 #2
0
        public override void Update(Plano obj)
        {
            //buscando o plano no banco de dados atraves do ID
            var registro = planoRepository.GetById(obj.Id);

            //verificando se o plano foi encontrado
            if (registro != null)
            {
                //verificando se a Sigla do Plano não foi alterada
                if (registro.Sigla.Equals(obj.Sigla))
                {
                    //atualizando o Plano
                    planoRepository.Update(obj);
                }
                else
                {
                    throw new Exception("Erro. Não é permitido alterar a Sigla do Plano.");
                }
            }
            else
            {
                throw new Exception("Plano não encontrado.");
            }
        }
예제 #3
0
        public void Update(PlanoViewModel PlanoViewModel)
        {
            var Plano = new Plano(
                PlanoViewModel.Id,
                PlanoViewModel.Nome,
                PlanoViewModel.Minutos,
                PlanoViewModel.FranquiaInternet,
                PlanoViewModel.Valor,
                PlanoViewModel.Tipo
                );

            var PlanoExist = _PlanoRepository.GetById(PlanoViewModel.Id);

            if (PlanoExist != null && PlanoExist.Id != Plano.Id)
            {
                if (!PlanoExist.Equals(Plano))
                {
                    throw new Exception("O Plano não existe");
                }
            }

            _PlanoRepository.Update(Plano);
            _PlanoRepository.SaveChanges();
        }
예제 #4
0
 public IActionResult Edit(Plano plano)
 {
     _repository.Update(plano);
     return(RedirectToAction("Index"));
 }
예제 #5
0
 public void Alterar(Plano obj)
 {
     _planoRepository.Update(obj);
 }
예제 #6
0
        public Task <Form> Update(Form frm)
        {
            try
            {
                _context.BeginTransaction();


                if (frm.Minutos == null)
                {
                    throw new Exception("Necessário informar o número de minutos do plano");
                }

                if (frm.FranquiaInternet == null)
                {
                    throw new Exception("Necessário informar o número da franquia de internet do plano");
                }

                if (frm.Valor == null)
                {
                    throw new Exception("Necessário informar o valor do plano");
                }

                if (frm.TipoPlanoId == null)
                {
                    throw new Exception("Necessário informar o tipo do plano que está sendo cadastrado");
                }

                if (frm.OperadoraId == null)
                {
                    throw new Exception("Necessário informar a operadora que esse plano pertence");
                }

                if (frm.DDD == null || frm.DDD.Count == 0)
                {
                    throw new Exception("Necessário informar a lista de DDD que o plano irá pertencer");
                }

                var plano = _planoRepository.Get(frm);

                if (plano == null)
                {
                    throw new Exception("Plano não encontrado, verifique o plano que está tentando atualizar");
                }

                plano.Minutos          = frm.Minutos;
                plano.FranquiaInternet = frm.FranquiaInternet;
                plano.Valor            = frm.Valor;
                plano.TipoPlanoId      = frm.TipoPlanoId;
                plano.OperadoraId      = frm.OperadoraId;

                var planosDDD = _planoDDDRepository.ListByPlano(new PlanoDDD.PlanoDDD()
                {
                    PlanoId = plano.Id
                }).ToList();

                foreach (var item in planosDDD)
                {
                    _planoDDDRepository.Delete(item);
                }

                var dddValido = new List <DDD.DDD>();

                foreach (var ddd in frm.DDD)
                {
                    var item = _dDDRepository.GetByDDD(new DDD.DDD()
                    {
                        Codigo = ddd
                    });

                    if (item == null)
                    {
                        throw new Exception($"DDD {ddd} inválido. Informar um código de área válido para cadastrar um plano");
                    }

                    dddValido.Add(item);
                }

                _planoRepository.Update(plano);

                foreach (var item in dddValido)
                {
                    _planoDDDRepository.Insert(new PlanoDDD.PlanoDDD()
                    {
                        DDDId   = item.Id,
                        PlanoId = frm.Id
                    });
                }

                _context.Commit();

                return(Task.FromResult(frm));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "PlanoService - Update");
                _context.RollBack();
                throw ex;
            }
        }
예제 #7
0
 public void Update(Plano obj)
 {
     _planoRepository.Update(obj);
     Commit();
 }