Esempio n. 1
0
        public ReturnObject Cadastrar(PlanoTelefonia plano)
        {
            ReturnObject retorno = new ReturnObject
            {
                StatusCode = HttpStatusCode.BadRequest,
                Messages   = new List <string>()
            };

            PlanoTelefonia planoDB = _planoTelefoniaRepository.GetPlanoPorCodigo(plano.Codigo);

            if (planoDB == null)
            {
                PlanoTelefoniaTipo planoTipoDb = _planoTelefoniaRepository.GetPlanoTipoPorTipo(plano.Tipo.Tipo);

                if (planoTipoDb != null)
                {
                    plano.Tipo = planoTipoDb;

                    _planoTelefoniaRepository.InsertPlanoTelefonia(plano);

                    retorno.StatusCode = HttpStatusCode.Created;
                    retorno.Messages.Add("Plano de telefonia criado com sucesso!");
                }
                else
                {
                    retorno.Messages.Add("Tipo de plano informado não encontrado");
                }
            }
            else
            {
                retorno.Messages.Add("Plano de telefonia já cadastrado");
            }
            return(retorno);
        }
        public ReturnObject Atualizar(PlanoTelefonia plano)
        {
            ReturnObject retorno = new ReturnObject
            {
                StatusCode = HttpStatusCode.BadRequest
            };

            PlanoTelefonia planoTelefonia = _planosTelefonia.Where(x => x.Codigo.Equals(plano.Codigo, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

            if (planoTelefonia != null)
            {
                if (plano.Tipo != null)
                {
                    PlanoTelefoniaTipo tipo = _tiposPlano.Where(x => x.Tipo.Equals(plano.Tipo.Tipo, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
                    if (tipo != null)
                    {
                        plano.Tipo = tipo;
                        _planosTelefonia[_planosTelefonia.FindIndex(x => x.Codigo.Equals(plano.Codigo, StringComparison.InvariantCultureIgnoreCase))] = plano;
                        retorno.StatusCode = HttpStatusCode.OK;
                    }
                }
            }

            return(retorno);
        }
Esempio n. 3
0
        public ReturnObject Atualizar(PlanoTelefonia plano)
        {
            ReturnObject retorno = new ReturnObject
            {
                StatusCode = HttpStatusCode.BadRequest,
                Messages   = new List <string>()
            };

            PlanoTelefonia planoDB = _planoTelefoniaRepository.GetPlanoPorCodigo(plano.Codigo);

            if (planoDB != null)
            {
                PlanoTelefoniaTipo planoTipoDb = _planoTelefoniaRepository.GetPlanoTipoPorTipo(plano.Tipo.Tipo);

                if (planoTipoDb != null)
                {
                    planoDB.Codigo           = plano.Codigo;
                    planoDB.Minutos          = plano.Minutos;
                    planoDB.FranquiaInternet = plano.FranquiaInternet;
                    planoDB.Valor            = plano.Valor;
                    planoDB.Tipo             = planoTipoDb;
                    planoDB.DDDs             = plano.DDDs;
                    planoDB.Operadora        = plano.Operadora;

                    _planoTelefoniaRepository.DeleteDDDPorPlano(planoDB);
                    _planoTelefoniaRepository.UpdatePlanoTelefonia(planoDB);

                    retorno.StatusCode = HttpStatusCode.OK;
                    retorno.Messages.Add("Plano de telefonia atualizado com sucesso!");
                }
                else
                {
                    retorno.Messages.Add("Tipo de plano informado não encontrado");
                }
            }
            else
            {
                retorno.Messages.Add("Plano de telefonia não encontrado");
            }
            return(retorno);
        }
        public ReturnObject Cadastrar(PlanoTelefonia plano)
        {
            ReturnObject retorno = new ReturnObject
            {
                StatusCode = HttpStatusCode.BadRequest
            };

            if (_planosTelefonia.Where(x => x.Codigo.Equals(plano.Codigo, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault() == null)
            {
                if (plano.Tipo != null)
                {
                    PlanoTelefoniaTipo tipo = _tiposPlano.Where(x => x.Tipo.Equals(plano.Tipo.Tipo, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
                    if (tipo != null)
                    {
                        _planosTelefonia.Add(plano);
                        retorno.StatusCode = HttpStatusCode.Created;
                    }
                }
            }
            return(retorno);
        }
        public FakePlanoTelefoniaService()
        {
            //Simulação de planos na base - Início
            List <PlanoTelefonia> planos = new List <PlanoTelefonia>();

            for (int i = 1; i <= 12; i++)
            {
                string             operadora = string.Empty;
                PlanoTelefoniaTipo tipoPlano = new PlanoTelefoniaTipo();

                if (1 <= i && i <= 3)
                {
                    operadora = "TIM";
                    tipoPlano = _tiposPlano[0];
                }
                else if (4 <= i && i <= 6)
                {
                    tipoPlano = _tiposPlano[0];
                    operadora = "CLARO";
                }
                else if (7 <= i && i <= 9)
                {
                    tipoPlano = _tiposPlano[1];
                    operadora = "OI";
                }
                else if (10 <= i && i <= 12)
                {
                    tipoPlano = _tiposPlano[2];
                    operadora = "VIVO";
                }

                PlanoTelefonia plano = new PlanoTelefonia()
                {
                    Id               = Guid.NewGuid(),
                    Codigo           = i.ToString(),
                    Minutos          = i * 100,
                    FranquiaInternet = i + 2,
                    Valor            = 19.90m + (i * 10),
                    Tipo             = tipoPlano,
                    Operadora        = operadora
                };

                List <PlanoTelefoniaDDD> DDDs = new List <PlanoTelefoniaDDD>();

                for (int j = 1; j <= 3; j++)
                {
                    PlanoTelefoniaDDD ddd = new PlanoTelefoniaDDD()
                    {
                        Id  = Guid.NewGuid(),
                        DDD = (10 + i).ToString()
                    };
                    DDDs.Add(ddd);
                }

                plano.DDDs = DDDs;
                planos.Add(plano);
            }

            _planosTelefonia = planos;
            //Simulação de planos na base - Fim
        }