Beispiel #1
0
 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;
     }
 }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
 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;
     }
 }
Beispiel #4
0
        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);
            }
        }