public JsonResult DeleteTelemoveisEquipamentos([FromBody] TelemoveisEquipamentosView item)
        {
            if (item != null)
            {
                //Verificar se existe chave única tipo + imei
                TelemoveisEquipamentos telemoveisEquipamentos = DBTelemoveis.GetTelemoveisEquipamentos(item.Tipo, item.Imei);

                if (telemoveisEquipamentos != null)
                {
                    try
                    {
                        DBTelemoveis.Delete(telemoveisEquipamentos);

                        item.eReasonCode = 1;
                        item.eMessage    = "Equipamento eliminado com sucesso!";
                    }
                    catch
                    {
                        item.eReasonCode = -1;
                        item.eMessage    = "Ocorreu um erro ao eliminar o Equipamento!";
                        return(Json(item));
                    }
                }
                else
                {
                    item.eReasonCode = -1;
                    item.eMessage    = "Ocorreu um erro!";
                    return(Json(item));
                }
            }

            return(Json(item));
        }
        public JsonResult GetEquipamentoDetails([FromBody] TelemoveisEquipamentosView data)
        {
            try
            {
                if (data != null)
                {
                    TelemoveisEquipamentos telemoveisEquipamentos = DBTelemoveis.GetTelemoveisEquipamentos(data.Tipo, data.Imei);

                    if (telemoveisEquipamentos != null)
                    {
                        TelemoveisEquipamentosView telemoveisEquipamentosView = DBTelemoveis.CastTelemoveisEquipamentosToView(telemoveisEquipamentos);

                        return(Json(telemoveisEquipamentosView));
                    }

                    return(Json(new TelemoveisEquipamentosView()));
                }
            }
            catch (Exception e)
            {
                return(null);
            }

            return(Json(false));
        }
        public JsonResult GetCartoesDetails([FromBody] TelemoveisCartoesView data)
        {
            try
            {
                if (data != null)
                {
                    TelemoveisCartoes telemoveisCartoes = DBTelemoveis.GetTelemoveisCartoes(data.NumCartao);

                    if (telemoveisCartoes != null)
                    {
                        TelemoveisCartoesView telemoveisCartoesView = DBTelemoveis.CastTelemoveisCartoesToView(telemoveisCartoes);

                        return(Json(telemoveisCartoesView));
                    }

                    return(Json(new TelemoveisEquipamentosView()));
                }
            }
            catch (Exception e)
            {
                return(null);
            }

            return(Json(false));
        }
        public JsonResult DeleteTelemoveisCartoes([FromBody] TelemoveisCartoesView item)
        {
            if (item != null)
            {
                //Verificar se existe
                TelemoveisCartoes telemoveisCartoes = DBTelemoveis.GetTelemoveisCartoes(item.NumCartao);

                if (telemoveisCartoes != null)
                {
                    try
                    {
                        DBTelemoveis.Delete(telemoveisCartoes);

                        item.eReasonCode = 1;
                        item.eMessage    = "Cartão eliminado com sucesso!";
                    }
                    catch
                    {
                        item.eReasonCode = -1;
                        item.eMessage    = "Ocorreu um erro ao eliminar o Cartão!";
                        return(Json(item));
                    }
                }
                else
                {
                    item.eReasonCode = -1;
                    item.eMessage    = "Ocorreu um erro!";
                    return(Json(item));
                }
            }

            return(Json(item));
        }
        public JsonResult GetEquipamentosPorTipo([FromBody] JObject requestParams)
        {
            int tipo = int.Parse(requestParams["tipo"].ToString());

            List <TelemoveisEquipamentos> result = DBTelemoveis.GetAllTelemoveisEquipamentosTypeToList(tipo);

            return(Json(result));
        }
        public JsonResult CreateTelemoveisEquipamentos([FromBody] TelemoveisEquipamentosView item)
        {
            if (item != null)
            {
                //Verificar se existe chave única tipo + imei
                TelemoveisEquipamentos telemoveisEquipamentos = DBTelemoveis.GetTelemoveisEquipamentos(item.Tipo, item.Imei);

                if (telemoveisEquipamentos != null)
                {
                    string Tipo_Desc = item.Tipo == 0 ? "Equipamento" : "Placa de Rede";
                    item.eReasonCode = -1;
                    item.eMessage    = string.Format("Já existe um equipamento do tipo '{0}' com o IMEI/Nº Série '{1}'", Tipo_Desc, item.Imei);
                }
                else
                {
                    TelemoveisEquipamentos novo = new TelemoveisEquipamentos()
                    {
                        Tipo                  = item.Tipo,
                        Imei                  = item.Imei,
                        Marca                 = item.Marca,
                        Modelo                = item.Modelo,
                        Estado                = item.Estado,
                        Cor                   = item.Cor,
                        Observacoes           = item.Observacoes,
                        DataRecepcao          = item.DataRecepcao,
                        Documento             = item.Documento,
                        DocumentoRecepcao     = item.DocumentoRecepcao,
                        Utilizador            = item.Utilizador,
                        DataAlteracao         = item.DataAlteracao,
                        DevolvidoBk           = item.DevolvidoBk,
                        NumEmpregadoComprador = item.NumEmpregadoComprador,
                        NomeComprador         = item.NomeComprador,
                        Devolvido             = item.Devolvido,
                        UtilizadorCriacao     = User.Identity.Name,
                        DataHoraCriacao       = DateTime.Now
                    };

                    try
                    {
                        DBTelemoveis.Create(novo);
                    }
                    catch
                    {
                        item.eReasonCode = -1;
                        item.eMessage    = "Ocorreu um erro ao criar o Equipamento!";
                        return(Json(item));
                    }

                    telemoveisEquipamentos = DBTelemoveis.GetTelemoveisEquipamentos(item.Tipo, item.Imei);
                    item = DBTelemoveis.CastTelemoveisEquipamentosToView(telemoveisEquipamentos);

                    item.eReasonCode = 1;
                    item.eMessage    = "Equipamento criado com sucesso!";
                }
            }

            return(Json(item));
        }
        public JsonResult UpdateTelemoveisEquipamentos([FromBody] TelemoveisEquipamentosView item)
        {
            if (item != null)
            {
                //Verificar se existe chave única tipo + imei
                TelemoveisEquipamentos telemoveisEquipamentos = DBTelemoveis.GetTelemoveisEquipamentos(item.Tipo, item.Imei);

                if (telemoveisEquipamentos != null)
                {
                    telemoveisEquipamentos.Marca                 = item.Marca;
                    telemoveisEquipamentos.Modelo                = item.Modelo;
                    telemoveisEquipamentos.Estado                = item.Estado;
                    telemoveisEquipamentos.Cor                   = item.Cor;
                    telemoveisEquipamentos.Observacoes           = item.Observacoes;
                    telemoveisEquipamentos.DataRecepcao          = item.DataRecepcao;
                    telemoveisEquipamentos.Documento             = item.Documento;
                    telemoveisEquipamentos.DocumentoRecepcao     = item.DocumentoRecepcao;
                    telemoveisEquipamentos.Utilizador            = User.Identity.Name;
                    telemoveisEquipamentos.DataAlteracao         = DateTime.Now;
                    telemoveisEquipamentos.DevolvidoBk           = item.DevolvidoBk;
                    telemoveisEquipamentos.NumEmpregadoComprador = item.NumEmpregadoComprador;
                    telemoveisEquipamentos.NomeComprador         = item.NomeComprador;
                    telemoveisEquipamentos.Devolvido             = item.Devolvido;
                    telemoveisEquipamentos.UtilizadorModificacao = User.Identity.Name;
                    telemoveisEquipamentos.DataHoraModificacao   = DateTime.Now;

                    try
                    {
                        DBTelemoveis.Update(telemoveisEquipamentos);

                        telemoveisEquipamentos = DBTelemoveis.GetTelemoveisEquipamentos(item.Tipo, item.Imei);
                        item = DBTelemoveis.CastTelemoveisEquipamentosToView(telemoveisEquipamentos);

                        item.eReasonCode = 1;
                        item.eMessage    = "Equipamento actualizado com sucesso!";
                    }
                    catch
                    {
                        item.eReasonCode = -1;
                        item.eMessage    = "Ocorreu um erro ao gravar o Equipamento!";
                        return(Json(item));
                    }
                }
                else
                {
                    item.eReasonCode = -1;
                    item.eMessage    = "Ocorreu um erro!";
                    return(Json(item));
                }
            }

            return(Json(item));
        }
        public JsonResult GetAllCartoes()
        {
            List <TelemoveisCartoes>     result = DBTelemoveis.GetAllTelemoveisCartoesToList();
            List <TelemoveisCartoesView> list   = new List <TelemoveisCartoesView>();

            foreach (TelemoveisCartoes tel in result)
            {
                list.Add(DBTelemoveis.CastTelemoveisCartoesToView(tel));
            }

            return(Json(list));
        }
        public JsonResult GetAllEquipamentos()
        {
            List <TelemoveisEquipamentos>     result = DBTelemoveis.GetAllTelemoveisEquipamentosToList();
            List <TelemoveisEquipamentosView> list   = new List <TelemoveisEquipamentosView>();

            foreach (TelemoveisEquipamentos tel in result)
            {
                list.Add(DBTelemoveis.CastTelemoveisEquipamentosToView(tel));
            }

            //return Json(result);
            return(Json(list));
        }
        public JsonResult UpdateTelemoveisCartoes([FromBody] TelemoveisCartoesView item)
        {
            if (item != null)
            {
                //Verificar se existe
                TelemoveisCartoes telemoveisCartoes = DBTelemoveis.GetTelemoveisCartoes(item.NumCartao);

                if (telemoveisCartoes != null)
                {
                    //Verificar se o estado é diferente, para alterar a data do estado
                    if (telemoveisCartoes.Estado != item.Estado)
                    {
                        telemoveisCartoes.DataEstado = DateTime.Now;
                    }

                    telemoveisCartoes.NumCartao       = item.NumCartao;
                    telemoveisCartoes.TipoServico     = item.TipoServico;
                    telemoveisCartoes.ContaSuch       = item.ContaSuch;
                    telemoveisCartoes.ContaUtilizador = item.ContaUtilizador;
                    telemoveisCartoes.Barramentos     = item.Barramentos;
                    telemoveisCartoes.TarifarioVoz    = item.TarifarioVoz;
                    telemoveisCartoes.TarifarioDados  = item.TarifarioDados;
                    telemoveisCartoes.ExtensaoVpn     = item.ExtensaoVpn;
                    telemoveisCartoes.PlafondFr       = item.PlafondFr;
                    telemoveisCartoes.PlafondExtra    = item.PlafondExtra;
                    telemoveisCartoes.FimFidelizacao  = item.FimFidelizacao;
                    telemoveisCartoes.Gprs            = item.Gprs;
                    telemoveisCartoes.Estado          = item.Estado;
                    //telemoveisCartoes.DataEstado = item.DataEstado;
                    telemoveisCartoes.Observacoes               = item.Observacoes;
                    telemoveisCartoes.NumFuncionario            = item.NumFuncionario;
                    telemoveisCartoes.Nome                      = item.Nome;
                    telemoveisCartoes.CodRegiao                 = item.CodRegiao;
                    telemoveisCartoes.CodAreaFuncional          = item.CodAreaFuncional;
                    telemoveisCartoes.CodCentroResponsabilidade = item.CodCentroResponsabilidade;
                    telemoveisCartoes.Grupo                     = item.Grupo;
                    telemoveisCartoes.Imei                      = item.Imei;
                    telemoveisCartoes.DataAtribuicao            = item.DataAtribuicao;
                    telemoveisCartoes.ChamadasInternacionais    = Convert.ToByte(item.ChamadasInternacionais_Show);
                    telemoveisCartoes.Roaming                   = Convert.ToByte(item.Roaming_Show);
                    telemoveisCartoes.Internet                  = item.Internet;
                    telemoveisCartoes.Declaracao                = item.Declaracao;
                    telemoveisCartoes.Utilizador                = item.Utilizador;
                    telemoveisCartoes.DataAlteracao             = DateTime.Now;
                    telemoveisCartoes.Plafond100percUtilizador  = Convert.ToByte(item.Plafond100percUtilizador_Show);
                    telemoveisCartoes.WhiteList                 = item.WhiteList;
                    telemoveisCartoes.ValorMensalidadeDados     = item.ValorMensalidadeDados;
                    telemoveisCartoes.PlafondDados              = item.PlafondDados;
                    telemoveisCartoes.EquipamentoNaoDevolvido   = Convert.ToByte(item.EquipamentoNaoDevolvido_Show);

                    try
                    {
                        DBTelemoveis.Update(telemoveisCartoes);

                        telemoveisCartoes = DBTelemoveis.GetTelemoveisCartoes(item.NumCartao);
                        item = DBTelemoveis.CastTelemoveisCartoesToView(telemoveisCartoes);

                        item.eReasonCode = 1;
                        item.eMessage    = "Cartão actualizado com sucesso!";
                    }
                    catch
                    {
                        item.eReasonCode = -1;
                        item.eMessage    = "Ocorreu um erro ao gravar o Cartão!";
                        return(Json(item));
                    }
                }
                else
                {
                    item.eReasonCode = -1;
                    item.eMessage    = "Ocorreu um erro!";
                    return(Json(item));
                }
            }

            return(Json(item));
        }
        public JsonResult CreateTelemoveisCartoes([FromBody] TelemoveisCartoesView item)
        {
            if (item != null)
            {
                //Verificar se existe
                TelemoveisCartoes telemoveisCartoes = DBTelemoveis.GetTelemoveisCartoes(item.NumCartao);

                if (telemoveisCartoes != null)
                {
                    item.eReasonCode = -1;
                    item.eMessage    = string.Format("Já existe um cartão com o nº '{0}'", item.NumCartao);
                }
                else
                {
                    TelemoveisCartoes novo = new TelemoveisCartoes()
                    {
                        NumCartao                 = item.NumCartao,
                        TipoServico               = item.TipoServico,
                        ContaSuch                 = item.ContaSuch,
                        ContaUtilizador           = item.ContaUtilizador,
                        Barramentos               = item.Barramentos,
                        TarifarioVoz              = item.TarifarioVoz,
                        TarifarioDados            = item.TarifarioDados,
                        ExtensaoVpn               = item.ExtensaoVpn,
                        PlafondFr                 = item.PlafondFr,
                        PlafondExtra              = item.PlafondExtra,
                        FimFidelizacao            = item.FimFidelizacao,
                        Gprs                      = item.Gprs,
                        Estado                    = item.Estado,
                        DataEstado                = DateTime.Now,
                        Observacoes               = item.Observacoes,
                        NumFuncionario            = item.NumFuncionario,
                        Nome                      = item.Nome,
                        CodRegiao                 = item.CodRegiao,
                        CodAreaFuncional          = item.CodAreaFuncional,
                        CodCentroResponsabilidade = item.CodCentroResponsabilidade,
                        Grupo                     = item.Grupo,
                        Imei                      = item.Imei,
                        DataAtribuicao            = item.DataAtribuicao,
                        ChamadasInternacionais    = item.ChamadasInternacionais,
                        Roaming                   = item.Roaming,
                        Internet                  = item.Internet,
                        Declaracao                = item.Declaracao,
                        Utilizador                = item.Utilizador,
                        DataAlteracao             = item.DataAlteracao,
                        Plafond100percUtilizador  = item.Plafond100percUtilizador,
                        WhiteList                 = item.WhiteList,
                        ValorMensalidadeDados     = item.ValorMensalidadeDados,
                        PlafondDados              = item.PlafondDados,
                        EquipamentoNaoDevolvido   = item.EquipamentoNaoDevolvido
                    };

                    try
                    {
                        DBTelemoveis.Create(novo);
                    }
                    catch
                    {
                        item.eReasonCode = -1;
                        item.eMessage    = "Ocorreu um erro ao criar o Cartão!";
                        return(Json(item));
                    }

                    telemoveisCartoes = DBTelemoveis.GetTelemoveisCartoes(item.NumCartao);
                    item = DBTelemoveis.CastTelemoveisCartoesToView(telemoveisCartoes);

                    item.eReasonCode = 1;
                    item.eMessage    = "Cartão criado com sucesso!";
                }
            }

            return(Json(item));
        }