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); }
/// <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); }
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); }