public override VisitanteAcessoViewModel CreateRepository(HttpRequestBase Request = null)
        {
            VisitanteAcessoViewModel acesso = base.CreateRepository(Request);

            this.SessaoLocal = DWMSessaoLocal.GetSessaoLocal();
            acesso.mensagem  = new Validate()
            {
                Code = 0, Message = "Registro incluído com sucesso !"
            };
            acesso.CondominioID = SessaoLocal.empresaId;
            acesso.empresaId    = acesso.CondominioID;
            acesso.IsPortaria   = IsPortaria();
            acesso.Interfona    = "S";

            if (SessaoLocal.Unidades == null)
            {
                if (Request != null && Request ["EdificacaoID"] != null && Request["EdificacaoID"] != "")
                {
                    acesso.EdificacaoID = int.Parse(Request["EdificacaoID"]);
                    acesso.UnidadeID    = int.Parse(Request["UnidadeID"]);
                }

                using (ApplicationContext db = new ApplicationContext())
                {
                    using (SecurityContext seguranca_db = new SecurityContext())
                    {
                        ListViewVisitante list = new ListViewVisitante(db, seguranca_db);
                        acesso.Visitantes = list.Bind(0, 25, 0, 0);
                    }
                }
            }
            else
            {
                acesso.EdificacaoID = SessaoLocal.Unidades.FirstOrDefault().EdificacaoID;
                acesso.UnidadeID    = SessaoLocal.Unidades.FirstOrDefault().UnidadeID;
                using (ApplicationContext db = new ApplicationContext())
                {
                    using (SecurityContext seguranca_db = new SecurityContext())
                    {
                        ListViewVisitante list = new ListViewVisitante(db, seguranca_db);
                        acesso.Visitantes = list.Bind(0, 25, acesso.EdificacaoID, acesso.UnidadeID);
                    }
                }
            }
            acesso.DataAcesso = null;

            return(acesso);
        }
        public override VisitanteAcessoViewModel MapToRepository(VisitanteAcesso entity)
        {
            VisitanteAcessoViewModel v = new VisitanteAcessoViewModel()
            {
                AcessoID        = entity.AcessoID,
                CondominioID    = entity.CondominioID,
                empresaId       = entity.CondominioID,
                VisitanteID     = entity.VisitanteID,
                DataInclusao    = entity.DataInclusao,
                DataAutorizacao = entity.DataAutorizacao,
                HoraInicio      = entity.HoraInicio,
                HoraLimite      = entity.HoraLimite,
                DataAcesso      = entity.DataAcesso,
                Interfona       = entity.Interfona,
                Observacao      = entity.Observacao,
                AluguelID       = entity.AluguelID,
                sessionId       = DWMSessaoLocal.GetSessaoLocal(sessaoCorrente, this.db).sessaoId,
                VisitanteAcessoUnidadeViewModel = new VisitanteAcessoUnidadeViewModel(),
                mensagem = new Validate()
                {
                    Code = 0, Message = "Registro processado com sucesso", MessageBase = "Registro processado com sucesso", MessageType = MsgType.SUCCESS
                }
            };

            VisitanteModel model = new VisitanteModel(this.db, this.seguranca_db, v.sessionId);

            v.Visitante = model.getObject(new VisitanteViewModel()
            {
                VisitanteID = entity.VisitanteID
            });

            if (entity.VisitanteAcessoUnidade != null)
            {
                v.EdificacaoID        = entity.VisitanteAcessoUnidade.EdificacaoID;
                v.UnidadeID           = entity.VisitanteAcessoUnidade.UnidadeID;
                v.DescricaoEdificacao = db.Edificacaos.Where(info => info.EdificacaoID == v.EdificacaoID && info.CondominioID == v.CondominioID).FirstOrDefault().Descricao;

                if (entity.VisitanteAcessoUnidade.CredenciadoID.HasValue)
                {
                    v.Visitante.NomeCondomino = db.Credenciados.Find(entity.VisitanteAcessoUnidade.CredenciadoID).Nome;
                }

                v.VisitanteAcessoUnidadeViewModel = new VisitanteAcessoUnidadeViewModel()
                {
                    AcessoID                 = entity.VisitanteAcessoUnidade.AcessoID,
                    CondominioID             = entity.VisitanteAcessoUnidade.CondominioID,
                    empresaId                = entity.VisitanteAcessoUnidade.CondominioID,
                    EdificacaoID             = entity.VisitanteAcessoUnidade.EdificacaoID,
                    UnidadeID                = entity.VisitanteAcessoUnidade.UnidadeID,
                    CondominoID              = entity.VisitanteAcessoUnidade.CondominoID,
                    CredenciadoID            = entity.VisitanteAcessoUnidade.CredenciadoID,
                    VisitanteAcessoViewModel = v,
                    mensagem                 = new Validate()
                    {
                        Code = 0, Message = "Registro processado com sucesso", MessageBase = "Registro processado com sucesso", MessageType = MsgType.SUCCESS
                    }
                };
            }

            if (SessaoLocal.Unidades != null)
            {
                ListViewVisitante list = new ListViewVisitante(db, seguranca_db, v.sessionId);
                v.Visitantes = list.Bind(0, 25, v.EdificacaoID, v.UnidadeID);
            }

            return(v);
        }