public override CondominoUnidade MapToEntity(CondominoUnidadeViewModel value)
        {
            CondominoUnidade condominoUnidade = Find(value);

            if (condominoUnidade == null)
            {
                condominoUnidade = new CondominoUnidade();
            }

            condominoUnidade.CondominioID = value.CondominioID;
            condominoUnidade.EdificacaoID = value.EdificacaoID;
            condominoUnidade.UnidadeID    = value.UnidadeID;
            condominoUnidade.CondominoID  = value.CondominoID;
            condominoUnidade.DataInicio   = value.DataInicio;
            condominoUnidade.DataFim      = value.DataFim;

            if (value.CondominoViewModel is CondominoPFViewModel)
            {
                CondominoPFModel model = new CondominoPFModel(this.db, this.seguranca_db);
                condominoUnidade.Condomino = model.MapToEntity((CondominoPFViewModel)value.CondominoViewModel);
            }
            else if (value.CondominoViewModel is CondominoPJViewModel)
            {
                CondominoPJModel model = new CondominoPJModel(this.db, this.seguranca_db);
                condominoUnidade.Condomino = model.MapToEntity((CondominoPJViewModel)value.CondominoViewModel);
            }

            return(condominoUnidade);
        }
        public override CondominoUnidadeViewModel MapToRepository(CondominoUnidade entity)
        {
            CondominoUnidadeViewModel condominoUnidadeViewModel = new CondominoUnidadeViewModel()
            {
                CondominioID        = entity.CondominioID,
                EdificacaoID        = entity.EdificacaoID,
                UnidadeID           = entity.UnidadeID,
                Codigo              = db.Unidades.Find(entity.CondominioID, entity.EdificacaoID, entity.UnidadeID).Codigo,
                CondominoID         = entity.CondominoID,
                DataInicio          = entity.DataInicio,
                DataFim             = entity.DataFim,
                EdificacaoDescricao = db.Edificacaos.Find(entity.EdificacaoID).Descricao,
                mensagem            = new Validate()
                {
                    Code = 0, Message = "Registro incluído com sucesso", MessageBase = "Registro incluído com sucesso", MessageType = MsgType.SUCCESS
                }
            };

            if (entity.Condomino is CondominoPF)
            {
                CondominoPFModel model = new CondominoPFModel(this.db, this.seguranca_db);
                condominoUnidadeViewModel.CondominoViewModel = model.MapToRepository((CondominoPF)entity.Condomino);
            }

            return(condominoUnidadeViewModel);
        }
        public override CondominoUnidadeViewModel BeforeInsert(CondominoUnidadeViewModel value)
        {
            if (value.CondominoViewModel is CondominoPFViewModel && value.CondominoViewModel.CondominoID == 0)
            {
                value.CondominoViewModel.CondominoID = value.CondominoID;
                CondominoPFModel model = new CondominoPFModel(this.db, this.seguranca_db);
                value.CondominoViewModel = model.getObject((CondominoPFViewModel)value.CondominoViewModel);
            }

            return(value);
        }
        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);
        }