public List <Movimiento> GetFacturasByRangoFecha(int IdEmpresa, DateTime FechaIni, DateTime FechaFin) { try { SiinErpContext context = new SiinErpContext(); List <Movimiento> Lista = (from f in context.Movimientos.Where(x => x.IdEmpresa == IdEmpresa && x.FechaDoc >= FechaIni && x.FechaDoc <= FechaFin && x.CodModulo.Equals(Constantes.ModuloVentas) && x.Estado.Equals(Constantes.EstadoActivo)) join c in context.Terceros on f.IdTercero equals c.IdTercero into LeftJoin from LJ in LeftJoin.DefaultIfEmpty() select new Movimiento() { IdMovimiento = f.IdMovimiento, TipoDoc = f.TipoDoc, NumDoc = f.NumDoc, IdTercero = f.IdTercero, IdVendedor = f.IdVendedor, FechaDoc = f.FechaDoc, sFechaFormatted = f.FechaDoc.ToString("MM/dd/yyyy"), ValorNeto = f.ValorNeto, IdDetAlmacen = f.IdDetAlmacen, NombreTercero = LJ != null ? LJ.NombreTercero : "", }).ToList(); return(Lista); } catch (Exception ex) { errorBusiness.Create("GetFacturasByFecha", ex.Message, null); throw; } }
public List <Movimiento> GetMovimientosByModificable(int IdEmp) { try { SiinErpContext context = new SiinErpContext(); List <Movimiento> Lista = (from tip in context.TiposDocumentos join mov in context.Movimientos.Where(x => x.IdEmpresa == IdEmp && x.CodModulo == Constantes.ModuloVentas && x.Estado.Equals(Constantes.EstadoActivo)) on tip.TipoDoc equals mov.TipoDoc join ter in context.Terceros on mov.IdTercero equals ter.IdTercero into LeftJoin from LJ in LeftJoin.DefaultIfEmpty() select new Movimiento() { IdMovimiento = mov.IdMovimiento, TipoDoc = mov.TipoDoc, NumDoc = mov.NumDoc, FechaDoc = mov.FechaDoc, ValorNeto = mov.ValorNeto, Estado = mov.Estado, IdTercero = mov.IdTercero, IdVendedor = mov.IdVendedor, IdDetAlmacen = mov.IdDetAlmacen, NombreTercero = LJ != null ? LJ.NombreTercero : "", }).OrderByDescending(x => x.FechaDoc).ToList(); return(Lista); } catch (Exception ex) { errorBusiness.Create("GetMovimientosByModificable", ex.Message, null); throw; } }
public List <MovimientoFormaPago> GetMovimientoFormasPago(int IdMovimiento) { try { SiinErpContext context = new SiinErpContext(); List <MovimientoFormaPago> Lista = (from mfp in context.MovimientosFormasPagos.Where(x => x.IdMovimiento == IdMovimiento) join fp in context.TablasDetalles on mfp.IdDetFormaDePago equals fp.IdDetalle join cb in context.TablasDetalles on mfp.IdDetCuenta equals cb.IdDetalle into LeftJoin from LF in LeftJoin.DefaultIfEmpty() select new MovimientoFormaPago() { IdMovFormaDePago = mfp.IdMovFormaDePago, IdMovimiento = mfp.IdMovimiento, IdDetFormaDePago = mfp.IdDetFormaDePago, Descripcion = fp.Descripcion, IdDetCuenta = mfp.IdDetCuenta, DescripcionCuenta = LF == null ? "" : LF.Descripcion, Valor = mfp.Valor, Orden = fp.Orden, }).OrderBy(x => x.Descripcion).OrderBy(x => x.Orden).ToList(); return(Lista); } catch (Exception ex) { throw; } }
public List <DTOs.Empresa_Quartos> PesquisarQuartosSemReserva(string datas, int cdcidade, int cdbairro, string nomehotel, string hospedes, bool arcondicionado) { List <DTOs.Empresa_Quartos> ResultadoFinal = new List <DTOs.Empresa_Quartos>(); try { var datasSplit = datas.Split(","); DateTime inicial = DateTime.Parse(datasSplit[0].Substring(4, 11)); DateTime final = DateTime.Parse(datasSplit[1].Substring(4, 11)); int qtdhospede = Int32.Parse(hospedes); using (HSContext hs = new HSContext()) { var ceps = hs.Logradouros .Include(x => x.CdBairroNavigation) .ThenInclude(x => x.CdCidadeNavigation) .ThenInclude(x => x.CdUfNavigation) .Where(x => x.CdBairroNavigation.CdCidade == cdcidade && cdbairro != 0 ? x.CdBairro == cdbairro : x.CdBairroNavigation.CdCidade == cdcidade) .Select(x => x.NoLogradouroCep).ToList(); if (nomehotel == null) { nomehotel = ""; } var retorno = ( from quarto in hs.Tbquarto.Include(x => x.IdtipoquartoNavigation).ThenInclude(x => x.IdempresaNavigation) join reserva in hs.Tbreserva on quarto.Idquarto equals reserva.Idquarto into LeftJoin from left in LeftJoin.DefaultIfEmpty() where ((left.Datafinalizacao.HasValue || left == null) || (!left.Datafinalizacao.HasValue && left.Datasaida < inicial)) select new DTOs.Quarto() { hotel = quarto.IdtipoquartoNavigation.IdempresaNavigation.Nomeempresa, nomeempresa = quarto.IdtipoquartoNavigation.IdempresaNavigation.Nomeempresa + " - " + hs.Logradouros .Include(x => x.CdBairroNavigation) .ThenInclude(x => x.CdCidadeNavigation) .First(x => x.NoLogradouroCep == quarto.IdtipoquartoNavigation.IdempresaNavigation.Cep).CdBairroNavigation.DsBairroNome.ToUpper(), idquarto = quarto.Idquarto, valor = quarto.IdtipoquartoNavigation.Valor.ToString(), andar = quarto.Andar, idtipoquarto = quarto.Idtipoquarto, quarto = quarto.Quarto, varanda = quarto.IdtipoquartoNavigation.Varanda, arcondicionado = quarto.IdtipoquartoNavigation.Arcondicionado, camacasal = quarto.IdtipoquartoNavigation.Camacasal, camasolteiro = quarto.IdtipoquartoNavigation.Camasolteiro, cep = quarto.IdtipoquartoNavigation.IdempresaNavigation.Cep, status = quarto.Status.Value, ventilador = quarto.IdtipoquartoNavigation.Ventilador, idempresa = quarto.IdtipoquartoNavigation.Idempresa, banheiroprivativo = quarto.IdtipoquartoNavigation.Banheiroprivativo, tipoquarto = quarto.IdtipoquartoNavigation.Tipoquarto, endereco = hs.Logradouros .Include(x => x.CdBairroNavigation) .ThenInclude(x => x.CdCidadeNavigation) .First(x => x.NoLogradouroCep == quarto.IdtipoquartoNavigation.IdempresaNavigation.Cep).DsLogradouroNome + " n° " + quarto.IdtipoquartoNavigation.IdempresaNavigation.Numero + " - Complemento " + quarto.IdtipoquartoNavigation.IdempresaNavigation.Complemente, imagens = hs.Tbquartofoto.Where(x => x.Idquarto == quarto.Idquarto).Select(x => x.Imagem).ToList(), foto = hs.Tbquartofoto.FirstOrDefault(x => x.Idquarto == quarto.Idquarto) == null ? "" : hs.Tbquartofoto.First(x => x.Idquarto == quarto.Idquarto).Imagem, checkin = quarto.IdtipoquartoNavigation.IdempresaNavigation.Horachekin, checkout = quarto.IdtipoquartoNavigation.IdempresaNavigation.Horacheckout, qtdhospedes = quarto.IdtipoquartoNavigation.Totalpessoas, banheira = quarto.IdtipoquartoNavigation.Banheira, vistamar = quarto.IdtipoquartoNavigation.Vistamar, vistapordosol = quarto.IdtipoquartoNavigation.Vistapordosol } ) .Distinct().Where(x => ceps.Contains(x.cep) && x.qtdhospedes == qtdhospede).ToList(); if (arcondicionado) { retorno = retorno.Where(x => x.arcondicionado == true).ToList(); } if (nomehotel == "") { ResultadoFinal = ( from agru in retorno group agru by new { agru.idempresa, agru.nomeempresa } into agrup select new DTOs.Empresa_Quartos() { idempresa = agrup.Key.idempresa, checkin = hs.Tbempresa.First(x => x.Idempresa == agrup.Key.idempresa).Horachekin, checkout = hs.Tbempresa.First(x => x.Idempresa == agrup.Key.idempresa).Horacheckout, nomeempresa = agrup.Key.nomeempresa, maisbarato = retorno.Where(x => x.idempresa == agrup.Key.idempresa).Min(x => Decimal.Parse(x.valor.Replace(".", ","))), tipoquartos = retorno .Where(x => x.idempresa == agrup.Key.idempresa) .Select(x => new DTOs.TipoQuarto() { tipoquarto = x.tipoquarto, idtipoquarto = x.idtipoquarto, valor = x.valor.ToString(), varanda = x.varanda, arcondicionado = x.arcondicionado, camacasal = x.camacasal, camasolteiro = x.camasolteiro, ventilador = x.ventilador, banheiroprivativo = x.banheira, qtdhospedes = x.qtdhospedes, banheira = x.banheira, vistamar = x.vistamar, vistapordosol = x.vistapordosol, quartos = retorno.Where(ret => ret.idtipoquarto == x.idtipoquarto && ret.qtdhospedes == qtdhospede).OrderBy(ret => Decimal.Parse(ret.valor)).ToList() }).Distinct().ToList() } ).ToList(); } else { ResultadoFinal = ( from agru in retorno group agru by new { agru.idempresa, agru.nomeempresa } into agrup select new DTOs.Empresa_Quartos() { idempresa = agrup.Key.idempresa, nomeempresa = agrup.Key.nomeempresa, checkin = hs.Tbempresa.First(x => x.Idempresa == agrup.Key.idempresa).Horachekin, checkout = hs.Tbempresa.First(x => x.Idempresa == agrup.Key.idempresa).Horacheckout, maisbarato = retorno.Where(x => x.idempresa == agrup.Key.idempresa).Min(x => Decimal.Parse(x.valor.Replace(".", ","))), tipoquartos = retorno .Where(x => x.idempresa == agrup.Key.idempresa) .Select(x => new DTOs.TipoQuarto() { tipoquarto = x.tipoquarto, idtipoquarto = x.idtipoquarto, valor = x.valor.ToString(), varanda = x.varanda, arcondicionado = x.arcondicionado, camacasal = x.camacasal, camasolteiro = x.camasolteiro, ventilador = x.ventilador, banheiroprivativo = x.banheira, qtdhospedes = x.qtdhospedes, banheira = x.banheira, vistamar = x.vistamar, vistapordosol = x.vistapordosol, quartos = retorno.Where(ret => ret.idtipoquarto == x.idtipoquarto && ret.qtdhospedes == qtdhospede).OrderBy(ret => Decimal.Parse(ret.valor)).ToList() }).Distinct().ToList() } ).ToList(); } return(ResultadoFinal.OrderBy(x => x.maisbarato).ToList()); } } catch (Exception ex) { erros.Add("Os quartos para reserva não foram pesquisados. Ocorreu um erro."); erros.Add(ex.Message); return(null); } }