コード例 #1
0
        public override AluguelEspacoViewModel BeforeInsert(AluguelEspacoViewModel value)
        {
            value.DataRevogacao    = null;
            value.DataCancelamento = null;
            value.DataAutorizacao  = null;
            value.DataReserva      = Funcoes.Brasilia();
            value.Valor            = db.EspacoComums.Find(value.EspacoID).Valor;

            if (value.CondominioID > 0 && value.EdificacaoID > 0 && value.UnidadeID > 0)
            {
                if (db.CondominoUnidades.Where(info => info.CondominioID == value.CondominioID &&
                                               info.EdificacaoID == value.EdificacaoID &&
                                               info.UnidadeID == value.UnidadeID).Count() > 0)
                {
                    value.CondominoID = db.CondominoUnidades.Where(info => info.CondominioID == value.CondominioID &&
                                                                   info.EdificacaoID == value.EdificacaoID &&
                                                                   info.UnidadeID == value.UnidadeID).FirstOrDefault().CondominoID;
                }
                else
                {
                    throw new ArgumentNullException("Não existe condômino cadastrado na Unidade " + value.UnidadeID.ToString(), new Exception());
                }

                if (SessaoLocal.CredenciadoID.HasValue)
                {
                    value.CredenciadoID = SessaoLocal.CredenciadoID;
                }
            }

            return(value);
        }
コード例 #2
0
        public override Informativo MapToEntity(InformativoViewModel value)
        {
            Informativo entity = Find(value);

            if (entity == null)
            {
                entity = new Informativo();
            }

            entity.InformativoID      = value.InformativoID;
            entity.CondominioID       = value.CondominioID;
            entity.EdificacaoID       = value.EdificacaoID;
            entity.GrupoCondominoID   = value.GrupoCondominoID;
            entity.DataInformativo    = Funcoes.Brasilia();
            entity.DataPublicacao     = value.DataPublicacao;
            entity.DataExpiracao      = value.DataExpiracao;
            entity.Cabecalho          = value.Cabecalho;
            entity.Resumo             = value.Resumo;
            entity.MensagemDetalhada  = value.MensagemDetalhada;
            entity.Midia1             = value.Midia1;
            entity.Midia2             = value.Midia2;
            entity.InformativoAnuncio = "N";

            return(entity);
        }
コード例 #3
0
        public override IEnumerable <VisitanteAcessoViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            int      _CondominioID = sessaoCorrente.empresaId;
            int      _AlguelID     = int.Parse(param[0].ToString());
            DateTime dataHoje      = Funcoes.Brasilia().Date;

            var q = (from v in db.Visitantes
                     join vu in db.VisitanteUnidades on v.VisitanteID equals vu.VisitanteID into vleft
                     from vu in vleft.DefaultIfEmpty()
                     join ed in db.Edificacaos on vu.EdificacaoID equals ed.EdificacaoID into vuleft
                     from ed in vuleft.DefaultIfEmpty()
                     join vac in db.VisitanteAcessos on v.VisitanteID equals vac.VisitanteID
                     join con in db.Condominos on vu.CondominoID equals con.CondominoID into conleft
                     from con in conleft.DefaultIfEmpty()
                     join ae in db.AluguelEspacos on vac.AluguelID equals ae.AluguelID
                     where v.CondominioID == _CondominioID &&
                     v.Situacao == "A" &&
                     ae.AluguelID == _AlguelID &&
                     v.PrestadorTipoID == null
                     orderby v.Nome
                     select new VisitanteAcessoViewModel
            {
                empresaId = sessaoCorrente.empresaId,
                CondominioID = v.CondominioID,
                AcessoID = vac.AcessoID,
                HoraInicio = vac.HoraInicio,
                HoraLimite = vac.HoraLimite,
                DataInclusao = vac.DataInclusao,
                DataAcesso = vac.DataAcesso,
                DataAutorizacao = vac.DataAutorizacao,
                Interfona = vac.Interfona,
                IsPortaria = false,
                AluguelID = ae.AluguelID,
                Visitante = new VisitanteViewModel()
                {
                    Nome = v.Nome,
                    Sexo = v.Sexo == "M" ? "Masculino" : "Feminino",
                    RG = v.RG,
                    CPF = v.CPF,
                    DataInclusao = v.DataInclusao,
                    Fotografia = v.Fotografia,
                    OrgaoEmissor = v.OrgaoEmissor,
                    VisitanteID = v.VisitanteID,
                    PrestadorCondominio = v.PrestadorCondominio,
                    PrestadorTipoID = v.PrestadorTipoID,
                    Situacao = v.Situacao,
                    Telefone = v.Telefone,
                    UnidadeID = vu.UnidadeID,
                    DescricaoEdificacao = ed.Descricao,
                    NomeCondomino = con.Nome,
                    Placa = v.Placa,
                    Cor = v.Cor,
                    Descricao = v.Descricao,
                    Marca = v.Marca,
                    sessionId = sessaoCorrente.sessaoId,
                }
            }).ToList();

            return(q);
        }
コード例 #4
0
        public override E MapToEntity(R value)
        {
            E condomino = (E)Find(value);

            if (condomino == null)
            {
                condomino = getEntityInstance();
                condomino.DataCadastro = Funcoes.Brasilia();
                condomino.UsuarioID    = value.UsuarioID;
            }

            condomino.CondominoID  = value.CondominoID;
            condomino.CondominioID = value.CondominioID;
            condomino.Nome         = value.Nome.ToUpper();
            condomino.IndFiscal    = value.IndFiscal != null?value.IndFiscal.Replace(".", "").Replace("-", "").Replace("/", "") : value.IndFiscal;

            condomino.IndProprietario = value.IndProprietario;
            condomino.TelParticular1  = value.TelParticular1 != null?value.TelParticular1.Replace("(", "").Replace(")", "").Replace("-", "") : value.TelParticular1;

            condomino.TelParticular2 = value.TelParticular2 != null?value.TelParticular2.Replace("(", "").Replace(")", "").Replace("-", "") : value.TelParticular2;

            condomino.IndSituacao = value.IndSituacao;
            condomino.Email       = value.Email.ToLower();
            condomino.Observacao  = value.Observacao;
            condomino.Avatar      = value.Avatar;

            return(condomino);
        }
コード例 #5
0
        private ActionResult _ListParam(ListViewModelLocal <ArquivoViewModel> list,
                                        int?index, int?pageSize = 12,
                                        string data1            = null, string data2     = null,
                                        string EdificacaoID     = null, string UnidadeID = null, string CondominoID = null,
                                        string GrupoCondominoID = null,
                                        string Nome             = null)
        {
            DateTime _data1            = data1 == null || data1 == "" ? Funcoes.Brasilia().AddMonths(-3) : Funcoes.StringToDate(data1).Value;
            DateTime _data2            = data2 == null || data2 == "" ? Funcoes.Brasilia().Date.AddDays(1).AddMinutes(-1) : Funcoes.StringToDate(data2).Value.Date.AddDays(1).AddMinutes(-1);
            int      _EdificacaoID     = EdificacaoID == null || EdificacaoID == "" ? 0 : int.Parse(EdificacaoID);
            int      _UnidadeID        = UnidadeID == null || UnidadeID == "" ? 0 : int.Parse(UnidadeID);
            int      _CondominoID      = CondominoID == null || CondominoID == "" ? 0 : int.Parse(CondominoID);
            int      _GrupoCondominoID = GrupoCondominoID == null || GrupoCondominoID == "" ? 0 : int.Parse(GrupoCondominoID);

            EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();
            Sessao      sessaoCorrente = security.getSessaoCorrente();
            SessaoLocal SessaoLocal    = DWMSessaoLocal.GetSessaoLocal();

            ViewBag.empresaId   = sessaoCorrente.empresaId;
            ViewBag.CondominoID = SessaoLocal.CondominoID;

            if (SessaoLocal.CondominoID == 0)
            {
                return(this._List(index, pageSize, "Browse", list, _data1, _data2, _EdificacaoID, _UnidadeID, _CondominoID, _GrupoCondominoID, Nome));
            }
            else
            {
                return(this._List(index, pageSize, "Browse", list, _data1, _data2, _EdificacaoID, _UnidadeID, SessaoLocal.CondominoID, _GrupoCondominoID, Nome));
            }
        }
コード例 #6
0
        public override ContaVirtual MapToEntity(ContaVirtualViewModel value)
        {
            ContaVirtual contaVirtual = Find(value);

            if (contaVirtual == null)
            {
                contaVirtual = new ContaVirtual();
                contaVirtual.DataAbertura = Funcoes.Brasilia();
            }

            contaVirtual.MembroID         = value.MembroID;
            contaVirtual.TipoContaID      = value.TipoContaID;
            contaVirtual.DataEncerramento = value.DataEncerramento;
            contaVirtual.ValorSaldo       = value.ValorSaldo;
            contaVirtual.Membro           = new Membro()
            {
                MembroID    = value.MembroID,
                Nome        = value.MembroViewModel.Nome,
                Email       = value.MembroViewModel.Email.ToLower(),
                CPF         = value.MembroViewModel.CPF.Replace(".", "").Replace("-", ""),
                Telefone    = value.MembroViewModel.Telefone.Replace("(", "").Replace(")", "").Replace("-", ""),
                IndSituacao = value.MembroViewModel.IndSituacao
            };

            return(contaVirtual);
        }
コード例 #7
0
 public override Cliente MapToEntity(ClienteViewModel value)
 {
     return(new Cliente()
     {
         clienteId = value.clienteId,
         nome = value.nome,
         ind_tipo_pessoa = value.ind_tipo_pessoa != null?value.ind_tipo_pessoa.Substring(1, 1) : "F",
                               cpf_cnpj = value.cpf_cnpj != null?value.cpf_cnpj.Replace(".", "").Replace("-", "").Replace("/", "") : null,
                                              dt_inclusao = value.dt_inclusao > Convert.ToDateTime("1980-01-01") ? value.dt_inclusao : Funcoes.Brasilia(),
                                              dt_alteracao = Funcoes.Brasilia(),
                                              endereco = value.endereco,
                                              complemento = value.complemento,
                                              cidade = value.cidade,
                                              uf = value.uf,
                                              cep = value.cep != null?value.cep.Replace(".", "").Replace("-", "") : null,
                                                        bairro = value.bairro,
                                                        fone1 = value.fone1 != null?value.fone1.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "") : null,
                                                                    fone2 = value.fone2 != null?value.fone2.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "") : null,
                                                                                fone3 = value.fone3 != null?value.fone3.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "") : null,
                                                                                            email = value.email != null?value.email.ToLower() : null,
                                                                                                        sexo = value.sexo,
                                                                                                        dt_nascimento = value.dt_nascimento,
                                                                                                        observacao = value.observacao
     });
 }
コード例 #8
0
        public override ClienteViewModel CreateRepository(System.Web.HttpRequestBase Request = null)
        {
            ClienteViewModel c = base.CreateRepository(Request);

            c.dt_inclusao     = Funcoes.Brasilia();
            c.ind_tipo_pessoa = "PJ";
            return(c);
        }
コード例 #9
0
        public override IEnumerable <AluguelEspacoViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            int      _CondominioID = sessaoCorrente.empresaId;
            DateTime dataHoje      = Funcoes.Brasilia();

            int?_EspacoID = null;

            if (param != null && param.Count() > 0)
            {
                _EspacoID = int.Parse(param[0].ToString());
            }

            var q = new List <AluguelEspacoViewModel>();

            q = (from ae in db.AluguelEspacos
                 join ed in db.Edificacaos on ae.EdificacaoID equals ed.EdificacaoID
                 join ec in db.EspacoComums on ae.EspacoID equals ec.EspacoID
                 join con in db.Condominos on ae.CondominoID equals con.CondominoID
                 join cred in db.Credenciados on ae.CredenciadoID equals cred.CredenciadoID into credleft
                 from cred in credleft.DefaultIfEmpty()
                 orderby ae.DataReserva
                 where System.Data.Entity.DbFunctions.TruncateTime(ae.DataEvento) >= dataHoje.Date &&
                 ae.DataCancelamento == null &&
                 ae.DataRevogacao == null &&
                 (!_EspacoID.HasValue || ae.EspacoID == _EspacoID)
                 select new AluguelEspacoViewModel
            {
                empresaId = sessaoCorrente.empresaId,
                CondominioID = ae.CondominioID,
                DataEvento = ae.DataEvento,
                AluguelID = ae.AluguelID,
                CredenciadoID = ae.CredenciadoID,
                Valor = ae.Valor,
                CondominoID = ae.CondominoID,
                DataAutorizacao = ae.DataAutorizacao,
                DataReserva = ae.DataReserva,
                EdificacaoID = ae.EdificacaoID,
                EspacoID = ae.EspacoID,
                Observacao = ae.Observacao,
                DataRevogacao = ae.DataRevogacao,
                DataCancelamento = ae.DataCancelamento,
                DescricaoEdificacao = ed.Descricao,
                UnidadeID = ae.UnidadeID,
                DescricaoEspaco = ec.Descricao,
                LimitePessoas = ec.LimitePessoas,
                NomeCondomino = con.Nome,
                NomeCredenciado = cred.Nome,
                calendar = new Repositories.Calendar()
                {
                    title = ((SessaoLocal.CondominoID == 0 && !SessaoLocal.CredenciadoID.HasValue) || ae.CondominoID == SessaoLocal.CondominoID || ae.CredenciadoID == SessaoLocal.CredenciadoID) ? ed.Descricao + "-" + ae.UnidadeID : "Reservado",
                    start = System.Data.Entity.DbFunctions.CreateDateTime(ae.DataEvento.Year, ae.DataEvento.Month, ae.DataEvento.Day, 0, 0, 0).Value,
                    end = System.Data.Entity.DbFunctions.CreateDateTime(ae.DataEvento.Year, ae.DataEvento.Month, ae.DataEvento.Day, 0, 0, 0),
                    allDay = true
                }
            }).ToList();

            return(q);
        }
コード例 #10
0
        public override ArquivoViewModel CreateRepository(HttpRequestBase Request = null)
        {
            ArquivoViewModel value = base.CreateRepository(Request);
            EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

            value.CondominioID = security.getSessaoCorrente().empresaId;
            value.Data         = Funcoes.Brasilia();
            return(value);
        }
コード例 #11
0
        public override Visitante MapToEntity(VisitanteViewModel value)
        {
            Visitante entity = Find(value);

            if (entity == null)
            {
                entity = new Visitante();
            }

            entity.CondominioID    = value.CondominioID;
            entity.PrestadorTipoID = value.PrestadorTipoID;
            entity.VisitanteID     = value.VisitanteID;
            entity.Nome            = value.Nome;
            entity.RG                  = value.RG;
            entity.OrgaoEmissor        = value.OrgaoEmissor;
            entity.CPF                 = value.CPF?.Replace(".", "").Replace("-", "").Replace("/", "");
            entity.Sexo                = value.Sexo;
            entity.DataInclusao        = Funcoes.Brasilia();
            entity.Telefone            = value.Telefone?.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "");
            entity.Fotografia          = value.Fotografia;
            entity.PrestadorCondominio = value.PrestadorCondominio;
            entity.Situacao            = "A";
            entity.Placa               = value.Placa?.Replace("-", "").ToUpper();
            entity.Descricao           = value.Descricao;
            entity.Marca               = value.Marca;
            entity.Cor                 = value.Cor;
            entity.Email               = value.Email;

            #region VisitanteUnidadeViewModel
            if (entity.VisitanteID == 0 && value.PrestadorCondominio == "N") // Se for uma inclusão
            {
                if (IsUserAdm())
                {
                    entity.VisitanteUnidade.Add(new VisitanteUnidade()
                    {
                        CondominioID = value.CondominioID,
                        EdificacaoID = value.EdificacaoID.Value,
                        UnidadeID    = value.UnidadeID.Value,
                        CondominoID  = value.VisitanteUnidadeViewModel.FirstOrDefault().CondominoID,
                    });
                }
                else
                {
                    entity.VisitanteUnidade.Add(new VisitanteUnidade()
                    {
                        CondominioID  = value.CondominioID,
                        EdificacaoID  = value.EdificacaoID.Value,
                        UnidadeID     = value.UnidadeID.Value,
                        CondominoID   = DWMSessaoLocal.GetSessaoLocal(value.sessionId).CondominoID,
                        CredenciadoID = DWMSessaoLocal.GetSessaoLocal(value.sessionId).CredenciadoID == 0 ? null : DWMSessaoLocal.GetSessaoLocal(value.sessionId).CredenciadoID
                    });
                }
            }
            #endregion

            return(entity);
        }
コード例 #12
0
        public override ChamadoViewModel BeforeInsert(ChamadoViewModel value)
        {
            try
            {
                value                      = GetUsuario(value);
                value.empresaId            = SessaoLocal.empresaId;
                value.DataChamado          = Funcoes.Brasilia();
                value.CondominioID         = SessaoLocal.empresaId;
                value.ChamadoStatusID      = 0;
                value.DataRedirecionamento = Funcoes.Brasilia();

                // Se a fila de atendimento destino for a fila do condômino, então preencher o responsável pelo chamado (UsuarioID, Nome e Login)
                if (value.FilaAtendimentoID == DWMSessaoLocal.FilaCondominoID(sessaoCorrente, db))
                {
                    int     UsuarioCondominoID = db.Condominos.Find(value.CondominoID).UsuarioID.Value;
                    Usuario u = seguranca_db.Usuarios.Find(UsuarioCondominoID);
                    value.UsuarioFilaID    = u.usuarioId;
                    value.NomeUsuarioFila  = u.nome;
                    value.LoginUsuarioFila = u.login;
                    value.ChamadoFilaViewModel.UsuarioID = u.usuarioId; // login e nome do usuário serão recuperados do método beforeinsert do ChamadoFilaModel.
                }

                #region Executa o método BeforeInsert do ChamadoFila
                ChamadoFilaModel ChamadoFilaModel = new ChamadoFilaModel();
                ChamadoFilaModel.Create(this.db, this.seguranca_db, SessaoLocal.sessaoId);
                value.ChamadoFilaViewModel = ChamadoFilaModel.BeforeInsert(value.ChamadoFilaViewModel);
                value.Rotas = new List <ChamadoFilaViewModel>();
                ((List <ChamadoFilaViewModel>)value.Rotas).Add(value.ChamadoFilaViewModel);
                #endregion

                #region Executa o método BeforeInsert do ChamadoAnexo para cada elemento da coleção
                ChamadoAnexoModel ChamadoAnexoModel = new ChamadoAnexoModel();
                ChamadoAnexoModel.Create(this.db, this.seguranca_db, SessaoLocal.sessaoId);
                int index = 0;
                while (index <= value.Anexos.Count() - 1)
                {
                    ChamadoAnexoViewModel ChamadoAnexoViewModel = ChamadoAnexoModel.BeforeInsert(value.Anexos.ElementAt(index));
                    value.Anexos.ElementAt(index).UsuarioID = ChamadoAnexoViewModel.UsuarioID;
                    value.Anexos.ElementAt(index).Nome      = ChamadoAnexoViewModel.Nome;
                    value.Anexos.ElementAt(index).Login     = ChamadoAnexoViewModel.Login;
                    index++;
                }
                #endregion
            }
            catch (Exception ex)
            {
                value.mensagem = new Validate()
                {
                    Code        = 999,
                    Message     = "Ocorreu um erro no evento interno que antecede a  inclusão do chamado. Favor entrar em contato com o administrador do sistema",
                    MessageBase = ex.Message
                };
            }

            return(value);
        }
コード例 #13
0
        public override ChamadoAnotacaoViewModel BeforeInsert(ChamadoAnotacaoViewModel value)
        {
            // Recupera o usuario
            value = GetUsuario(value);

            // Recupera a data do sistema
            value.DataAnotacao = Funcoes.Brasilia();

            return(value);
        }
コード例 #14
0
        public override VisitanteAcesso MapToEntity(VisitanteAcessoViewModel value)
        {
            VisitanteAcesso entity = Find(value);

            if (entity == null)
            {
                entity             = new VisitanteAcesso();
                value.DataInclusao = Funcoes.Brasilia();
            }

            entity.CondominioID    = value.CondominioID;
            entity.VisitanteID     = value.VisitanteID;
            entity.DataInclusao    = value.DataInclusao;
            entity.DataAutorizacao = value.DataAutorizacao;
            entity.HoraInicio      = value.HoraInicio;
            entity.HoraLimite      = value.HoraLimite;
            entity.DataAcesso      = value.DataAcesso;
            entity.Interfona       = value.Interfona;
            entity.Observacao      = value.Observacao;
            entity.AluguelID       = value.AluguelID == 0 ? null : value.AluguelID;

            #region VisitanteAcessoUnidadeViewModel
            if (value.EdificacaoID != null && entity.VisitanteAcessoUnidade == null)
            {
                entity.VisitanteAcessoUnidade = new VisitanteAcessoUnidade();
                if (IsUserAdm())
                {
                    entity.VisitanteAcessoUnidade.AcessoID     = value.AcessoID;
                    entity.VisitanteAcessoUnidade.CondominioID = value.CondominioID;
                    entity.VisitanteAcessoUnidade.EdificacaoID = value.EdificacaoID.Value;
                    entity.VisitanteAcessoUnidade.UnidadeID    = value.UnidadeID.Value;
                    if (value.VisitanteAcessoUnidadeViewModel == null)
                    {
                        entity.VisitanteAcessoUnidade.CondominoID = db.CondominoUnidades.Where(info => info.CondominioID == value.CondominioID && info.EdificacaoID == value.EdificacaoID && info.UnidadeID == value.UnidadeID && info.DataFim == null).FirstOrDefault().CondominoID;
                    }
                    else
                    {
                        entity.VisitanteAcessoUnidade.CondominoID = value.VisitanteAcessoUnidadeViewModel.CondominoID;
                    }
                    entity.VisitanteAcessoUnidade.CredenciadoID = null;
                }
                else
                {
                    entity.VisitanteAcessoUnidade.AcessoID      = value.AcessoID;
                    entity.VisitanteAcessoUnidade.CondominioID  = value.CondominioID;
                    entity.VisitanteAcessoUnidade.EdificacaoID  = value.EdificacaoID.Value;
                    entity.VisitanteAcessoUnidade.UnidadeID     = value.UnidadeID.Value;
                    entity.VisitanteAcessoUnidade.CondominoID   = DWMSessaoLocal.GetSessaoLocal(sessaoCorrente, this.db).CondominoID;
                    entity.VisitanteAcessoUnidade.CredenciadoID = DWMSessaoLocal.GetSessaoLocal(sessaoCorrente, this.db).CredenciadoID == 0 ? null : DWMSessaoLocal.GetSessaoLocal(sessaoCorrente, this.db).CredenciadoID;
                }
            }
            #endregion

            return(entity);
        }
コード例 #15
0
        public override EsteiraViewModel Run(Repository value)
        {
            EsteiraViewModel r = (EsteiraViewModel)value;

            try
            {
                EsteiraModel model     = new EsteiraModel(this.db, this.seguranca_db);
                int          esteiraId = this.db.Esteiras.Where(info => info.propostaId == ((EsteiraViewModel)value).propostaId).OrderByDescending(info => info.esteiraId).FirstOrDefault().esteiraId;
                ((EsteiraViewModel)value).esteiraId = esteiraId;
                EsteiraViewModel esteiraViewModel = model.getObject((EsteiraViewModel)value);

                // Se estiver na etapa original não pode voltar à etapa anterior
                if (db.Etapas.Find(esteiraViewModel.etapaId).etapa_antId.HasValue)
                {
                    #region Reprovar Etapa
                    esteiraViewModel.observacao      = ((EsteiraViewModel)value).observacao;
                    esteiraViewModel.ind_aprovacao   = "R";
                    esteiraViewModel.dt_manifestacao = Funcoes.Brasilia();
                    esteiraViewModel.uri             = ((EsteiraViewModel)value).uri;
                    esteiraViewModel = model.Update(esteiraViewModel);
                    if (esteiraViewModel.mensagem.Code > 0)
                    {
                        r = esteiraViewModel;
                        throw new ArgumentException(esteiraViewModel.mensagem.MessageBase);
                    }
                    #endregion

                    #region Incluir a proposta na etapa anterior
                    EsteiraViewModel etapaAnterior = new EsteiraViewModel()
                    {
                        propostaId      = esteiraViewModel.propostaId,
                        etapaId         = db.Etapas.Find(esteiraViewModel.etapaId).etapa_antId.Value,
                        descricao_etapa = db.Etapas.Find(db.Etapas.Find(esteiraViewModel.etapaId).etapa_antId).descricao,
                        dt_ocorrencia   = ((EsteiraViewModel)value).dt_ocorrencia,
                        uri             = ((EsteiraViewModel)value).uri
                    };
                    etapaAnterior = model.Insert(etapaAnterior);
                    #endregion

                    r = etapaAnterior;
                }
                else
                {
                    throw new Exception("Esta etapa não pode ser recusada");
                }
            }
            catch (Exception ex)
            {
                r.mensagem = new Validate()
                {
                    Code = 999, MessageBase = ex.Message, Message = "Ocorreu um erro na aprovação da etapa"
                };
            }
            return(r);
        }
コード例 #16
0
        public override EsteiraComentarioViewModel BeforeInsert(EsteiraComentarioViewModel value)
        {
            Usuario u = seguranca_db.Usuarios.Find(sessaoCorrente.usuarioId);

            value.dt_comentario = Funcoes.Brasilia();
            value.usuarioId     = sessaoCorrente.usuarioId;
            value.nome          = u.nome;
            value.login         = u.login;

            return(value);
        }
コード例 #17
0
        //#region SMS
        ////Declaração dos métodos de envio.
        //public string EnviarSMS(string chaveApi, string remetente, string destinatario, string mensagem)
        //{
        //    try
        //    {
        //        string url = String.Format("https://sms.comtele.com.br/api/{0}/sendmessage?sender={1}&receivers={2}&content={3}", chaveApi, remetente, destinatario, mensagem);
        //        AutoResetEvent ev = new AutoResetEvent(false);
        //        WebPost(new Uri(url), string.Empty, (data) =>
        //        {
        //            //Retorno enviado pela API.
        //            var d = data;
        //            ev.Set();
        //        });

        //        ev.WaitOne();
        //        return "";
        //    }
        //    catch (Exception ex)
        //    {
        //        return ex.Message;
        //    }
        //}

        //private void WebPost(Uri uri, string data, Action<object> callback)
        //{
        //    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);

        //    request.Method = "POST";
        //    request.ContentType = "text/plain;charset=utf-8";

        //    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
        //    byte[] bytes = encoding.GetBytes(data);

        //    request.ContentLength = bytes.Length;

        //    using (Stream requestStream = request.GetRequestStream())
        //    {
        //        requestStream.Write(bytes, 0, bytes.Length);
        //    }

        //    request.BeginGetResponse((x) =>
        //    {
        //        using (HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(x))
        //        {
        //            if (callback != null)
        //            {
        //                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(object));
        //                callback(ser.ReadObject(response.GetResponseStream()) as object);
        //            }
        //        }
        //    }, null);
        //}
        //#endregion

        #region Métodos da classe CrudContext
        public override VisitanteAcessoViewModel BeforeInsert(VisitanteAcessoViewModel value)
        {
            value.mensagem = new App_Dominio.Contratos.Validate()
            {
                Code = 0, Message = "Registro processado com sucesso !"
            };
            if (IsPortaria())
            {
                value.DataAcesso = Funcoes.Brasilia();
            }
            value.Interfona = "S";

            return(base.BeforeInsert(value));
        }
コード例 #18
0
        public override InformativoViewModel CreateRepository(HttpRequestBase Request = null)
        {
            InformativoViewModel value = base.CreateRepository(Request);
            EmpresaSecurity <SecurityContext> security = new EmpresaSecurity <SecurityContext>();

            value.CondominioID   = security.getSessaoCorrente().empresaId;
            value.Resumo         = "";
            value.Cabecalho      = "";
            value.DataPublicacao = Funcoes.Brasilia().Date;
            value.DataExpiracao  = Funcoes.Brasilia().AddDays(20);
            if (!value.CondominioID.HasValue || value.CondominioID.Value == 0)
            {
                throw new App_DominioException("Sessão expirada", "Warning");
            }
            value.empresaId = value.CondominioID.Value;
            return(value);
        }
コード例 #19
0
        public override AluguelEspacoViewModel BeforeUpdate(AluguelEspacoViewModel value)
        {
            string             Situacao = value.Situacao;
            string             uri      = value.uri;
            AluguelEspacoModel model    = new AluguelEspacoModel(db, seguranca_db);

            value = model.getObject(value);
            if (Situacao == "A")
            {
                value.DataAutorizacao = Funcoes.Brasilia();
            }
            else
            {
                value.DataRevogacao = Funcoes.Brasilia();
            }
            value.uri = uri;
            return(value);
        }
コード例 #20
0
        public override Credor MapToEntity(CredorViewModel value)
        {
            Credor credor = Find(value);

            if (credor == null)
            {
                credor = new Credor();
            }

            credor.credorId        = value.credorId;
            credor.CondominioID    = value.empresaId;
            credor.nome            = value.nome.Replace("&", "e");
            credor.grupoCredorId   = value.grupoCredorId;
            credor.ind_tipo_pessoa = value.ind_tipo_pessoa.Substring(1, 1);
            credor.cpf_cnpj        = value.cpf_cnpj != null?value.cpf_cnpj.Replace(".", "").Replace("-", "").Replace("/", "") : null;

            credor.dt_inclusao  = value.dt_inclusao;
            credor.dt_alteracao = Funcoes.Brasilia();
            credor.codigo       = value.codigo;
            credor.endereco     = value.endereco != null?value.endereco.Replace("&", "e") : null;

            credor.complemento = value.complemento != null?value.complemento.Replace("&", "e") : null;

            credor.cidade = value.cidade != null?value.cidade.Replace("&", "e") : null;

            credor.uf  = value.uf;
            credor.cep = value.cep != null?value.cep.Replace(".", "").Replace("-", "") : null;

            credor.bairro = value.bairro != null?value.bairro.Replace("&", "e") : null;

            credor.fone1 = value.fone1 != null?value.fone1.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "") : null;

            credor.fone2 = value.fone2 != null?value.fone2.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "") : null;

            credor.fone3 = value.fone3 != null?value.fone3.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "") : null;

            credor.email = value.email != null?value.email.ToLower() : null;

            credor.sexo          = value.sexo;
            credor.dt_nascimento = value.dt_nascimento;
            credor.observacao    = value.observacao != null?value.observacao.Replace("&", "e") : null;

            return(credor);
        }
コード例 #21
0
        public IEnumerable <ArquivoViewModel> ListDocumentos(Auth value)
        {
            // Validar Token
            Auth a = ValidarToken(value);

            if (a.Code != 0)
            {
                ArquivoViewModel arquivoiewModel = new ArquivoViewModel()
                {
                    mensagem = new Validate()
                    {
                        Code    = 202,
                        Message = "Acesso Negado. Suas credencias não estão autorizadas para executar esta operação."
                    }
                };
                List <ArquivoViewModel> ret = new List <ArquivoViewModel>
                {
                    arquivoiewModel
                };
                return(ret);
            }

            // Listar
            // Parametros
            //PageSize = PageSize == null || PageSize == "" ? "8" : PageSize;
            //DateTime Data1 = Funcoes.Brasilia().AddMonths(-6);
            //DateTime Data2 = Funcoes.Brasilia().Date;

            DateTime _data1 = Funcoes.Brasilia().AddMonths(-3);
            DateTime _data2 = Funcoes.Brasilia().Date.AddDays(1).AddMinutes(-1);

            SessaoLocal s             = DWMSessaoLocal.GetSessaoLocal(a.Token);
            var         _EdificacaoID = s.Unidades.FirstOrDefault().EdificacaoID;
            var         _UnidadeID    = s.Unidades.FirstOrDefault().UnidadeID;
            var         _CondominoID  = s.CondominoID;
            var         _Grupo        = s.GrupoCondominoID;
            var         _Nome         = "";

            Facade <ArquivoViewModel, ArquivoModel, ApplicationContext> facade = new Facade <ArquivoViewModel, ArquivoModel, ApplicationContext>();
            IEnumerable <ArquivoViewModel> list = facade.List(new ListViewArquivo(), 0, 500, value.Token, _data1, _data2, _EdificacaoID, _UnidadeID, _CondominoID, 0, null);

            return(list);
        }
コード例 #22
0
        public override CondominoUnidadeViewModel CreateRepository(HttpRequestBase Request = null)
        {
            CondominoUnidadeViewModel obj = new CondominoUnidadeViewModel();

            obj.CondominoViewModel = new CondominoPFViewModel();

            if (Request ["CondominoID"] != "")
            {
                CondominoPFModel CondominoPFModel = new CondominoPFModel(this.db, this.seguranca_db);

                obj.CondominioID = SessaoLocal.empresaId;
                obj.CondominoID  = int.Parse(Request["CondominoID"]);
                obj.DataInicio   = Funcoes.Brasilia().Date;
                obj.CondominoViewModel.CondominoID = obj.CondominoID;
                obj.CondominoViewModel             = CondominoPFModel.getObject((CondominoPFViewModel)obj.CondominoViewModel);
            }

            return(obj);
        }
コード例 #23
0
        public override EmailLog MapToEntity(EmailLogViewModel value)
        {
            EmailLog entity = Find(value);

            if (entity == null)
            {
                entity = new EmailLog();
            }

            entity.EmailLogID       = value.EmailLogID;
            entity.EmailTipoID      = value.EmailTipoID;
            entity.CondominioID     = value.CondominioID;
            entity.EdificacaoID     = value.EdificacaoID;
            entity.UnidadeID        = value.UnidadeID;
            entity.GrupoCondominoID = value.GrupoCondominoID;
            entity.DataEmail        = Funcoes.Brasilia();
            entity.Assunto          = value.Assunto;
            entity.EmailMensagem    = value.EmailMensagem;
            return(entity);
        }
コード例 #24
0
        public override InformativoComentario MapToEntity(InformativoComentarioViewModel value)
        {
            InformativoComentario entity = Find(value);

            if (entity == null)
            {
                entity = new InformativoComentario();
                entity.DataComentario = Funcoes.Brasilia();
            }
            else
            {
                entity.DataComentario = value.DataComentario;
            }

            entity.InformativoID   = value.InformativoID;
            entity.CondominoID     = value.CondominoID;
            entity.Descricao       = value.Descricao;
            entity.DataDesativacao = value.DataDesativacao;
            entity.Motivo          = value.Motivo;

            return(entity);
        }
コード例 #25
0
        public ActionResult Append(CondominoUnidadeViewModel value, FormCollection collection)
        {
            if (ViewBag.ValidateRequest)
            {
                value.CondominoViewModel = new CondominoPFViewModel();
                value.DataInicio         = Funcoes.Brasilia().Date;
                CondominoUnidadeViewModel ret = SetCreate(value, collection);

                if (ret.mensagem.Code == 0)
                {
                    return(RedirectToAction("Browse"));
                }
                else
                {
                    return(View(ret));
                }
            }
            else
            {
                return(null);
            }
        }
コード例 #26
0
        public ActionResult Desativar(CondominoUnidadeViewModel value, FormCollection collection)
        {
            if (ViewBag.ValidateRequest)
            {
                value.CondominoViewModel = new CondominoPFViewModel();
                value.DataFim            = Funcoes.Brasilia().Date;
                CondominoUnidadeViewModel ret = SetEdit(value, collection, "Condômino");

                if (ret.mensagem.Code == 0)
                {
                    return(RedirectToAction("Browse"));
                }
                else
                {
                    return(View(ret));
                }
            }
            else
            {
                return(null);
            }
        }
コード例 #27
0
        public override Arquivo MapToEntity(ArquivoViewModel value)
        {
            Arquivo entity = Find(value);

            if (entity == null)
            {
                entity      = new Arquivo();
                entity.Data = Funcoes.Brasilia();
            }
            else
            {
                entity.Data = value.Data;
            }

            entity.FileID           = value.FileID;
            entity.CondominioID     = sessaoCorrente.empresaId;
            entity.EdificacaoID     = value.EdificacaoID;
            entity.UnidadeID        = value.UnidadeID;
            entity.GrupoCondominoID = value.GrupoCondominoID;
            entity.Nome             = value.Nome;
            entity.IndSempreVisivel = value.IndSempreVisivel;

            if (entity.EdificacaoID.HasValue && entity.UnidadeID.HasValue)
            {
                entity.CondominoID = (from cu in db.CondominoUnidades
                                      where cu.CondominioID == entity.CondominioID &&
                                      cu.EdificacaoID == entity.EdificacaoID &&
                                      cu.UnidadeID == entity.UnidadeID &&
                                      cu.DataFim == null
                                      select cu.CondominoID).FirstOrDefault();
            }
            else
            {
                entity.CondominoID = null;
            }

            return(entity);
        }
コード例 #28
0
        public override IEnumerable <VisitanteViewModel> Bind(int?index, int pageSize = 50, params object[] param)
        {
            string   URL           = db.Parametros.Find(SessaoLocal.empresaId, (int)Models.Enumeracoes.Enumeradores.Param.URL_CONDOMINIO).Valor;
            int      _CondominioID = sessaoCorrente.empresaId;
            int      _EdificacaoID;
            int      _UnidadeID;
            DateTime dataHoje = Funcoes.Brasilia();

            if (SessaoLocal.CondominoID > 0)
            {
                _EdificacaoID = SessaoLocal.Unidades.FirstOrDefault().EdificacaoID;  // db.Edificacaos.Where(x => x.CondominioID == _CondominioID).FirstOrDefault().EdificacaoID;
                _UnidadeID    = SessaoLocal.Unidades.FirstOrDefault().UnidadeID;
            }
            else
            {
                _EdificacaoID = param != null && param.Count() > 1 && param[1] != null?int.Parse(param[1].ToString()) : 0;

                _UnidadeID = param != null && param.Count() > 2 && param[2] != null?int.Parse(param[2].ToString()) : 0;
            }

            var q = (from v in db.Visitantes
                     join vu in db.VisitanteUnidades on v.VisitanteID equals vu.VisitanteID into vleft
                     from vu in vleft.DefaultIfEmpty()
                     join ed in db.Edificacaos on vu.EdificacaoID equals ed.EdificacaoID into vuleft
                     from ed in vuleft.DefaultIfEmpty()
                     join con in db.Condominos on vu.CondominoID equals con.CondominoID into conleft
                     from con in conleft.DefaultIfEmpty()
                     join tp in db.PrestadorTipos on v.PrestadorTipoID equals tp.PrestadorTipoID into tpleft
                     from tp in tpleft.DefaultIfEmpty()
                     where v.CondominioID == _CondominioID &&
                     (_EdificacaoID == 0 || vu.EdificacaoID == _EdificacaoID) &&
                     (_UnidadeID == 0 || vu.UnidadeID == _UnidadeID) &&
                     v.Situacao == "A"
                     orderby v.Nome
                     select new VisitanteViewModel
            {
                empresaId = sessaoCorrente.empresaId,
                CondominioID = v.CondominioID,
                Nome = v.Nome,
                Sexo = v.Sexo == "M" ? "Masculino" : "Feminino",
                RG = v.RG,
                CPF = v.CPF,
                DataInclusao = v.DataInclusao,
                Fotografia = v.Fotografia,
                OrgaoEmissor = v.OrgaoEmissor,
                VisitanteID = v.VisitanteID,
                PrestadorCondominio = v.PrestadorCondominio,
                PrestadorTipoID = v.PrestadorTipoID,
                Situacao = v.Situacao,
                Telefone = v.Telefone,
                EdificacaoID = vu.EdificacaoID,
                UnidadeID = vu.UnidadeID,
                DescricaoEdificacao = ed.Descricao,
                Placa = v.Placa,
                Cor = v.Cor,
                Descricao = v.Descricao,
                Marca = v.Marca,
                NomeCondomino = con.Nome,
                DescricaoTipoPrestador = tp.Descricao,
                Email = v.Email,
                sessionId = sessaoCorrente.sessaoId,
            }).ToList();

            return(q);
        }
コード例 #29
0
        public Auth EditChamado(AnotacaoAPIModel value)
        {
            Auth auth = new Auth()
            {
                Code     = 0,
                Mensagem = "Sucesso!"
            };

            ChamadoViewModel chamadoViewModel = (ChamadoViewModel)ValidarToken(value);

            if (chamadoViewModel.mensagem.Code != 0)
            {
                Auth cvm = new Auth()
                {
                    Mensagem = "Acesso Negado.",
                    Code     = 202
                };
                return(cvm);
            }


            ChamadoViewModel result = null;

            try
            {
                int?FilaAtendimentoID = null;
                if (value.FilaAtendimentoAtualID != value.FilaAtendimentoID.ToString())
                {
                    FilaAtendimentoID = value.FilaAtendimentoID;
                }

                #region Incluir Anotação
                result = new ChamadoViewModel()
                {
                    ChamadoID                = value.ChamadoID,
                    uri                      = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(),
                    ChamadoAnexoViewModel    = new ChamadoAnexoViewModel(),
                    ChamadoFilaViewModel     = new ChamadoFilaViewModel(),
                    ChamadoAnotacaoViewModel = new ChamadoAnotacaoViewModel()
                    {
                        ChamadoID = value.ChamadoID,
                        Mensagem  = value.Anotacoes.FirstOrDefault().Mensagem
                    },
                    ChamadoStatusID          = value.ChamadoStatusID,
                    FilaAtendimentoID        = FilaAtendimentoID,
                    DescricaoFilaAtendimento = value.DescricaoFilaAtendimento,
                    DescricaoChamadoStatus   = value.DescricaoChamadoStatus,
                    DataRedirecionamento     = Funcoes.Brasilia(),
                    Rotas    = new List <ChamadoFilaViewModel>(),
                    Anexos   = new List <ChamadoAnexoViewModel>(),
                    mensagem = new Validate()
                    {
                        Code = 0
                    },
                    sessionId = value.sessionId,
                };
                if (value.FilaAtendimentoAtualID == value.FilaAtendimentoID.ToString())
                {
                    result.IsUsuarioFila = false;
                }
                else
                {
                    result.IsUsuarioFila = true;
                }

                result.ChamadoAnotacaoViewModel.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString();
                FactoryLocalhost <ChamadoAnotacaoViewModel, ApplicationContext> factory = new FactoryLocalhost <ChamadoAnotacaoViewModel, ApplicationContext>();
                factory.Execute(new ChamadoAnotacaoBI(), result, value.sessionId);
                if (factory.Mensagem.Code > 0)
                {
                    throw new App_DominioException(factory.Mensagem);
                }

                #endregion

                #region Emitir Alerta e enviar o e-mail para a fila destinatária
                FactoryLocalhost <AlertaRepository, ApplicationContext> factoryAlert = new FactoryLocalhost <AlertaRepository, ApplicationContext>();
                AlertaBI         bi = new AlertaBI();
                AlertaRepository a  = factoryAlert.Execute(new AlertaBI(), result);
                if (a.mensagem.Code > 0)
                {
                    throw new Exception(a.mensagem.Message);
                }
                #endregion

                #region Recupera o ChamadoViewModel
                FactoryLocalhost <ChamadoViewModel, ApplicationContext> factoryChamado = new FactoryLocalhost <ChamadoViewModel, ApplicationContext>();
                result = factoryChamado.Execute(new ChamadoEditBI(), result);
                #endregion
            }
            catch (App_DominioException ex)
            {
                ModelState.AddModelError("", ex.Result.MessageBase); // mensagem amigável ao usuário
            }
            catch (Exception ex)
            {
                App_DominioException.saveError(ex, GetType().FullName);
            }

            return(auth);
        }
コード例 #30
0
        public Auth CreateChamado(ChamadoViewModel value)
        {
            Auth auth = new Auth()
            {
                Code     = 0,
                Mensagem = "Sucesso!"
            };

            ChamadoViewModel chamadoViewModel = (ChamadoViewModel)ValidarToken(value);
            SessaoLocal      s = DWMSessaoLocal.GetSessaoLocal(value.sessionId);

            if (chamadoViewModel.mensagem.Code != 0)
            {
                Auth cvm = new Auth()
                {
                    Mensagem = "Acesso Negado.",
                    Code     = 202
                };
                return(cvm);
            }

            ChamadoViewModel result = new ChamadoViewModel()
            {
                uri                   = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(),
                Assunto               = value.Assunto,
                ChamadoStatusID       = value.ChamadoStatusID,
                ChamadoMotivoID       = value.ChamadoMotivoID,
                CondominioID          = value.empresaId,
                CondominoID           = s.CondominoID,
                empresaId             = value.empresaId,
                MensagemOriginal      = value.MensagemOriginal,
                EdificacaoID          = value.EdificacaoID,
                UnidadeID             = value.UnidadeID,
                FilaSolicitanteID     = value.FilaSolicitanteID,
                FilaAtendimentoID     = value.FilaAtendimentoID,
                ChamadoAnexoViewModel = new ChamadoAnexoViewModel(),
                ChamadoFilaViewModel  = new ChamadoFilaViewModel()
                {
                    Data = Funcoes.Brasilia(),
                    FilaAtendimentoID = value.FilaAtendimentoID.Value,
                },
                Rotas      = new List <ChamadoFilaViewModel>(),
                Anexos     = new List <ChamadoAnexoViewModel>(),
                sessionId  = value.sessionId,
                Prioridade = "2",
            };

            //#region Envia Email
            //try
            //{
            //    FactoryLocalhost<AlertaRepository, ApplicationContext> factory = new FactoryLocalhost<AlertaRepository, ApplicationContext>();
            //    AlertaBI bi = new AlertaBI();
            //    value.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString();
            //    AlertaRepository a = factory.Execute(new AlertaBI(), value);
            //    if (a.mensagem.Code > 0)
            //        throw new Exception(a.mensagem.Message);
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine(ex.Message);
            //}
            //#endregion

            try
            {
                FacadeLocalhost <ChamadoViewModel, ChamadoModel, ApplicationContext> facade = new FacadeLocalhost <ChamadoViewModel, ChamadoModel, ApplicationContext>();
                facade.Save(result, App_Dominio.Enumeracoes.Crud.INCLUIR);
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
            }


            return(auth);
        }