Example #1
0
        public Boolean registrarReserva(List <HuespedBE> lstHuespedBE,
                                        List <AmbienteBE> lstAmbienteBE,
                                        DateTime fechaInicio,
                                        DateTime fechaSalida,
                                        Int32 idTipoPago,
                                        Decimal monto)
        {
            using (HospedajeEntities entity = new HospedajeEntities())
            {
                using (var dbTransaction = entity.Database.BeginTransaction())
                {
                    try
                    {
                        Reserva reserva = new Reserva()
                        {
                            fechaIngreso = fechaInicio,
                            fechaSalida  = fechaSalida,
                            idTipoPago   = idTipoPago,
                            monto        = monto,
                            estado       = true
                        };
                        entity.Reserva.Add(reserva);
                        entity.SaveChanges();

                        for (int i = 0; i < lstAmbienteBE.Count; i++)
                        {
                            ReservaDetalle reservaDetalle = new ReservaDetalle()
                            {
                                idReserva  = reserva.id,
                                idAmbiente = lstAmbienteBE[i].IdAmbiente,
                                estado     = true
                            };
                            entity.ReservaDetalle.Add(reservaDetalle);
                            entity.SaveChanges();
                        }

                        for (int i = 0; i < lstHuespedBE.Count; i++)
                        {
                            ReservaHuesped reservaHuesped = new ReservaHuesped()
                            {
                                idReserva = reserva.id,
                                idHuesped = lstHuespedBE[i].Id,
                                estado    = true
                            };
                            entity.ReservaHuesped.Add(reservaHuesped);
                            entity.SaveChanges();
                        }

                        dbTransaction.Commit();
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        dbTransaction.Rollback();
                        return(false);

                        throw ex;
                    }
                }
            }
        }