예제 #1
0
        public DtoDadosImovel GetDadosImovel(long IdPrenotacao, string NumMatricula)
        {
            DtoDadosImovel dtoImovel = new DtoDadosImovel();
            DadosImovel    imovel    = this.UfwCartNew.Repositories.RepositoryAto.GetDadosImovel(IdPrenotacao, NumMatricula);

            dtoImovel = Mapper.Map <DadosImovel, DtoDadosImovel>(imovel);

            return(dtoImovel);
        }
예제 #2
0
        /// <summary>
        /// Get Lista de campos povoados com os valores
        /// </summary>
        /// <param name="entidade"></param>
        /// <param name="IdTipoAto"></param>
        /// <returns></returns>
        #region Private Methods
        private List <DtoCamposValor> GetListCamposPovoados(string entidade, DadosAtoSimplificado dadosAto)
        {
            List <DtoCamposValor> listaCamposValor = new List <DtoCamposValor>();

            if (entidade.ToLower() == "ato")
            {
                var listaCamposAto = this.UfwCartNew.Repositories.RepositoryAto.GetListCamposAto(dadosAto.IdTipoAto, this.IdCtaAcessoSist);
                foreach (var campo in listaCamposAto)
                {
                    if (campo.Campo.ToLower() == "idlivro")
                    {
                        listaCamposValor.Add(new DtoCamposValor
                        {
                            Campo = campo.NomeCampo,
                            Valor = dadosAto.IdLivro.ToString()
                        });
                    }

                    if (campo.Campo.ToLower() == "dataato")
                    {
                        listaCamposValor.Add(new DtoCamposValor
                        {
                            Campo = campo.NomeCampo,
                            Valor = dadosAto.DataAto.HasValue ? dadosAto.DataAto.Value.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture) : ""
                        });
                    }
                }
            }

            if (entidade.ToLower() == "prenotacao")
            {
                var listaCamposPrenotacao = this.UfwCartNew.Repositories.RepositoryAto.GetListCamposPrenotacao(dadosAto.IdTipoAto, this.IdCtaAcessoSist);

                foreach (var campo in listaCamposPrenotacao)
                {
                    if (campo.Campo.ToLower() == "idprenotacao")
                    {
                        listaCamposValor.Add(new DtoCamposValor
                        {
                            Campo = campo.NomeCampo,
                            Valor = dadosAto.IdPrenotacao.ToString()
                        });
                    }

                    if (campo.Campo.ToLower() == "dataregprenotacao")
                    {
                        listaCamposValor.Add(new DtoCamposValor
                        {
                            Campo = campo.NomeCampo,
                            Valor = dadosAto.DataRegPrenotacao.HasValue ? dadosAto.DataRegPrenotacao.Value.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture) : ""
                        });
                    }
                }
            }

            if (entidade.ToLower() == "imovel")
            {
                var            listaCamposImovel = this.UfwCartNew.Repositories.RepositoryAto.GetListCamposImovel(dadosAto.IdTipoAto, this.IdCtaAcessoSist);
                DtoDadosImovel imovel            = this.GetDadosImovel(dadosAto.IdPrenotacao, dadosAto.NumMatricula);

                Type           imovelType   = imovel.GetType();
                PropertyInfo[] propertyInfo = imovelType.GetProperties();

                foreach (var campo in listaCamposImovel)
                {
                    var prop = propertyInfo.Where(p => p.Name == campo.Campo).FirstOrDefault();

                    if (prop != null)
                    {
                        var propValue = prop.GetValue(imovel);

                        if (propValue != null)
                        {
                            listaCamposValor.Add(new DtoCamposValor
                            {
                                Campo = campo.NomeCampo,
                                Valor = propValue.ToString().Trim()
                            });
                        }
                    }
                }
            }

            return(listaCamposValor);
        }
예제 #3
0
        public DtoReservaImovel ProcReservarMatImovel(TipoReservaMatImovel TipoReserva, long IdPrenotacao, string NumMatricula, string IdUsuario)
        {
            DtoReservaImovel reserva = new DtoReservaImovel();
            DtoDadosImovel   Imovel  = null;
            PrenotacaoImovel PreImo  = null;

            reserva.Resposta = true;

            PreImo = this.UfwCartNew.Repositories.GenericRepository <PrenotacaoImovel>().GetWhere(p =>
                                                                                                  (p.IdPrenotacao == IdPrenotacao) &&
                                                                                                  (p.NumMatricula == NumMatricula) &&
                                                                                                  (p.IdUsuario != IdUsuario)).FirstOrDefault();

            if (PreImo == null)
            {
                Imovel = this.GetDadosImovel(IdPrenotacao, NumMatricula);

                if (Imovel != null)
                {
                    reserva.Imovel = Imovel;

                    switch (TipoReserva)
                    {
                    case TipoReservaMatImovel.Reservar:

                        if (reserva.Resposta)
                        {
                            PreImo = this.UfwCartNew.Repositories.GenericRepository <PrenotacaoImovel>().GetWhere(p =>
                                                                                                                  (p.IdPrenotacao == IdPrenotacao) &&
                                                                                                                  (p.NumMatricula == NumMatricula) &&
                                                                                                                  (p.IdUsuario == IdUsuario)).FirstOrDefault();

                            if (PreImo != null)
                            {
                                reserva.TipoMsg  = TipoMsgResposta.warning;
                                reserva.Msg      = string.Format("Você já tinha reservado a matrícula: {0}", PreImo.NumMatricula);
                                reserva.Resposta = true;
                            }
                            else
                            {
                                PreImo = new PrenotacaoImovel();
                                PreImo.IdPrenotacao = IdPrenotacao;
                                PreImo.NumMatricula = NumMatricula;
                                PreImo.IdUsuario    = IdUsuario;
                                reserva.Operacao    = DataBaseOperacoes.insert;
                                this.UfwCartNew.Repositories.GenericRepository <PrenotacaoImovel>().Add(PreImo);
                                this.UfwCartNew.SaveChanges();

                                reserva.TipoMsg = TipoMsgResposta.ok;
                                reserva.Msg     = string.Format("Matrícula {0} reservada com sucesso!", NumMatricula);
                            }
                        }
                        break;

                    case TipoReservaMatImovel.Liberar:

                        PreImo = this.UfwCartNew.Repositories.GenericRepository <PrenotacaoImovel>().GetWhere(p =>
                                                                                                              (p.IdPrenotacao == IdPrenotacao) &&
                                                                                                              (p.NumMatricula == NumMatricula) &&
                                                                                                              (p.IdUsuario == IdUsuario)).FirstOrDefault();

                        if (PreImo == null)
                        {
                            reserva.TipoMsg  = TipoMsgResposta.warning;
                            reserva.Msg      = string.Format("Matrícula {0} já está liberada!", PreImo.NumMatricula);
                            reserva.Resposta = false;
                        }
                        else
                        {
                            this.UfwCartNew.Repositories.GenericRepository <PrenotacaoImovel>().Remove(PreImo);
                            this.UfwCartNew.SaveChanges();
                            reserva.Operacao = DataBaseOperacoes.delete;
                            reserva.TipoMsg  = TipoMsgResposta.ok;
                            reserva.Msg      = string.Format("Matrícula {0} liberada com sucesso!", NumMatricula);;
                        }
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    reserva.Resposta = false;
                    reserva.TipoMsg  = TipoMsgResposta.error;
                    reserva.Msg      = "Imóvel não localizado";
                }
            }
            else
            {
                reserva.TipoMsg = TipoMsgResposta.error;

                if (this.listaUsrSist != null)
                {
                    var usr = this.listaUsrSist.Where(u => u.IdUsuario == PreImo.IdUsuario).FirstOrDefault();
                    reserva.Msg = string.Format("Imóvel já reservado pelo usuário: {0}!", "[" + usr.LoginName + "] " + usr.Nome);
                }
                else
                {
                    reserva.Msg = "Imóvel já reservado por outro usuário";
                }
                reserva.Resposta = false;
            }
            return(reserva);
        }