private void AgregarHuesped(OrdenCompraCompleta nOCC, int CantHuesp, string TipoHab, int CapHab) { for (int i = 1; i < CantHuesp + 1; i++) { OrdenCompraDetalle nOCD = new OrdenCompraDetalle(); TextBox item0 = (TextBox)form1.FindControl("txtRut" + TipoHab + i); if (item0.Text.Trim().Length > 0) { nOCD.Persona.Rut = item0.Text; TextBox item1 = (TextBox)form1.FindControl("txtNombre" + TipoHab + i); nOCD.Persona.Nombre = item1.Text; TextBox item2 = (TextBox)form1.FindControl("txtApellido" + TipoHab + i); nOCD.Persona.Apellido = item2.Text; //TextBox item3 = (TextBox)form1.FindControl("txtFecha" + TipoHab + i); nOCD.Alojamiento.FechaIngreso = DateTime.Parse(txtFechaIngreso.Text); //TextBox item4 = (TextBox)form1.FindControl("txtFecha" + TipoHab + i); nOCD.Alojamiento.FechaEgreso = DateTime.Parse(txtFechaEgreso.Text); nOCD.Alojamiento.RegistroDias = int.Parse(txtRegistroDias.Text); nOCD.Alojamiento.Habitacion.Capacidad = CapHab; TextBox item5 = (TextBox)form1.FindControl("txtAlojaObs" + TipoHab + i); nOCD.Alojamiento.Observaciones = item5.Text; //se debe incluir los dropdownlist de tipo de comida DropDownList item6 = (DropDownList)form1.FindControl("ddlTipoServCom" + TipoHab + i); nOCD.Comida.ServicioComida.Tipo = item6.SelectedValue; //nOCD.Comida.ServicioComida.Tipo = "general"; //TextBox item7 = (TextBox)form1.FindControl("txtComidaObservaciones" + TipoHab + i); //nOCD.Comida.Observaciones = item7.Text; nOCD.Comida.Observaciones = "Sin Observaciones"; nOCD.Comida.FechaRecepcion = DateTime.Now; nOCC.ListaDetalle.Add(nOCD); } } }
private void LlenarGridOrdenCompra(OrdenCompraCompleta item) { var detalle = (from l in item.ListaDetalle select new { RutPersona = l.Persona.Rut, FecIng = l.Alojamiento.FechaIngreso, FecEgr = l.Alojamiento.FechaEgreso, CantDias = l.Alojamiento.RegistroDias, CapacHab = l.Alojamiento.Habitacion.Capacidad, PrecioHab = l.Alojamiento.Habitacion.Precio, TipoComida = l.Comida.ServicioComida.Tipo, PrecioCom = l.Comida.ServicioComida.Precio, PrecioSubTotal = l.Alojamiento.RegistroDias * (l.Alojamiento.Habitacion.Precio + l.Comida.ServicioComida.Precio) } ).ToList(); //////// gwOrdenDetalle.DataSource = detalle; gwOrdenDetalle.DataBind(); //////// }
public ContenedorOrdenesCompraCompleta LlamarSPRescatar(string token) { ContenedorOrdenesCompraCompleta LOrdenesCompra = new ContenedorOrdenesCompraCompleta(); if (ValidarFecExp(token)) { try { CapaDato.EntitiesBBDDHostel conex = new CapaDato.EntitiesBBDDHostel(); var collection = (from cab in conex.ORDEN_DE_COMPRA join det_aloj in conex.ALOJAMIENTO on cab.NUMERO equals det_aloj.NUMERO_OC join det_comi in conex.COMIDA on cab.NUMERO equals det_comi.NUMERO_OC join tip_serv in conex.SERVICIO_COMIDA on det_comi.TIPO_SERVICIO equals tip_serv.TIPO where det_comi.RUT_PERSONA == det_aloj.RUT_PERSONA orderby cab.NUMERO select new { RutCliente = cab.RUT_CLIENTE, NumeroOC = cab.NUMERO, FecRecepOC = cab.RECEPCION, MontoOC = cab.MONTO, EstadoOC = cab.ESTADO, // FecIngAloj = det_aloj.INGRESO, FecEgrAloj = det_aloj.EGRESO, CanDiasAloj = det_aloj.REGISTRO_DIAS, EstadoAloj = det_aloj.CONFIRMADO, RutPersona = det_aloj.RUT_PERSONA, NomPersona = det_aloj.PERSONA.NOMBRE, ApePersona = det_aloj.PERSONA.APELLIDO, NroHab = det_aloj.CAMA.HABITACION.CODIGO, CapaHab = det_aloj.CAMA.HABITACION.CAPACIDAD, PrecioHab = det_aloj.CAMA.HABITACION.PRECIO, // FecRecepCom = det_comi.RECEPCION, EstadoCom = det_comi.CONFIRMADA, //CodPlatoCom = det_comi.CODIGO_PLATO, TipoServ = det_comi.TIPO_SERVICIO, PrecioCom = tip_serv.PRECIO } ).ToList(); decimal NumeroOrdenAnterior = decimal.MinValue; foreach (var item in collection) { //Verificar Corte de control por Numero de Orden if (NumeroOrdenAnterior != item.NumeroOC) { //Se crea la OrdenCompleta OrdenCompraCompleta n = new OrdenCompraCompleta(); //Se carga valores de la cabecera n.Cabecera.RutCliente = item.RutCliente; n.Cabecera.Numero = item.NumeroOC; n.Cabecera.FechaRecepcion = item.FecRecepOC; n.Cabecera.Monto = item.MontoOC; n.Cabecera.Estado = item.EstadoOC; // //Se crea el detalle Orden OrdenCompraDetalle m = new OrdenCompraDetalle(); m.Alojamiento.NumerOrdenCompra = item.NumeroOC; m.Persona.Rut = item.RutPersona; m.Persona.Nombre = item.NomPersona; m.Persona.Apellido = item.ApePersona; m.Alojamiento.FechaIngreso = item.FecIngAloj; m.Alojamiento.FechaEgreso = (item.FecEgrAloj == null) ? DateTime.MinValue : (DateTime)item.FecEgrAloj; m.Alojamiento.RegistroDias = (item.CanDiasAloj == null) ? 0 : (int)item.CanDiasAloj; m.Alojamiento.Habitacion.Codigo = item.NroHab; m.Alojamiento.Confirmado = item.EstadoAloj; m.Alojamiento.Habitacion.Capacidad = item.CapaHab; m.Alojamiento.Habitacion.Precio = item.PrecioHab; //m.Alojamiento. // m.Comida.NumerOrdenCompra = item.NumeroOC; m.Comida.FechaRecepcion = item.FecRecepCom; m.Comida.Confirmada = item.EstadoCom; //m.Comida.CodigoPlato = item.CodPlatoCom; m.Comida.ServicioComida.Tipo = item.TipoServ; m.Comida.ServicioComida.Precio = (item.PrecioCom == null) ? 0 : (int)item.PrecioCom; //(int)item.PrecioCom; //Se agrega el detalle a la cabecera n.ListaDetalle.Add(m); //Se agrega la orden completa a la orden LOrdenesCompra.Lista.Add(n); //Se realiza logica para armar corte de control NumeroOrdenAnterior = item.NumeroOC; } else { //Se crea el detalle Orden OrdenCompraDetalle m = new OrdenCompraDetalle(); m.Alojamiento.NumerOrdenCompra = item.NumeroOC; m.Persona.Rut = item.RutPersona; m.Persona.Nombre = item.NomPersona; m.Persona.Apellido = item.ApePersona; m.Alojamiento.FechaIngreso = item.FecIngAloj; m.Alojamiento.FechaEgreso = (item.FecEgrAloj == null) ? DateTime.MinValue : (DateTime)item.FecEgrAloj; m.Alojamiento.RegistroDias = (item.CanDiasAloj == null) ? 0 : (int)item.CanDiasAloj; m.Alojamiento.Habitacion.Codigo = item.NroHab; m.Alojamiento.Confirmado = item.EstadoAloj; m.Alojamiento.Habitacion.Capacidad = item.CapaHab; m.Alojamiento.Habitacion.Precio = item.PrecioHab; // m.Comida.NumerOrdenCompra = item.NumeroOC; m.Comida.FechaRecepcion = item.FecRecepCom; m.Comida.Confirmada = item.EstadoCom; //m.Comida.CodigoPlato = item.CodPlatoCom; m.Comida.ServicioComida.Tipo = item.TipoServ; m.Comida.ServicioComida.Precio = (item.PrecioCom == null) ? 0 : (int)item.PrecioCom; //(int)item.PrecioCom; //Se agrega el detalle a la ultima orden de compra LOrdenesCompra.Lista.Last().ListaDetalle.Add(m); } } LOrdenesCompra.Retorno.Codigo = 0; LOrdenesCompra.Retorno.Glosa = "OK"; } catch (Exception ex) { LOrdenesCompra.Retorno.Codigo = 1011; LOrdenesCompra.Retorno.Glosa = "Err codret ORACLE"; } } else { LOrdenesCompra.Retorno.Codigo = 100; LOrdenesCompra.Retorno.Glosa = "Err expiro sesion o perfil invalido"; } return(LOrdenesCompra); }
protected void BtnSiguiente_Click(object sender, EventArgs e) { try { WSSoap.WSSHostelClient x = new WSSoap.WSSHostelClient(); Sesion SesionUsuario = (Sesion)Session["SesionUsuario"]; OrdenCompraCompleta nOCC = new OrdenCompraCompleta(); //Armar Encabezado de Orden de Reserva nOCC.Cabecera.RutCliente = ddlEmpresas.SelectedValue; nOCC.Cabecera.Monto = 0;//realizar calculo de las habitaciones seleccionadas. nOCC.Cabecera.Observaciones = "Reserva habitación"; nOCC.Cabecera.Ubicacion = "logo"; nOCC.Cabecera.Estado = "activa"; //int CantidadHuespedes = int.Parse(Session[txtPersonasHabitacion.Text].ToString()); try { int CantHuspedes = int.Parse(individual.Text); AgregarHuesped(nOCC, CantHuspedes, "Individual", 1); } catch (Exception) { //No existe se continua siguiente validacion } try { int CantHuspedes = int.Parse(doble.Text) * 2; AgregarHuesped(nOCC, CantHuspedes, "Doble", 2); } catch (Exception) { //No existe se continua siguiente validacion } try { int CantHuspedes = int.Parse(triple.Text) * 3; AgregarHuesped(nOCC, CantHuspedes, "Triple", 3); } catch (Exception) { //No existe se continua siguiente validacion } try { int CantHuspedes = int.Parse(cuadruple.Text) * 4; AgregarHuesped(nOCC, CantHuspedes, "Cuadruple", 4); } catch (Exception) { //No existe se continua siguiente validacion } ContenedorOrdenCompraCompleta xOCC = new ContenedorOrdenCompraCompleta(); xOCC.Item.Cabecera = nOCC.Cabecera; xOCC.Item.ListaDetalle = nOCC.ListaDetalle; if (xOCC.Item.ListaDetalle.Count > 0) { xOCC.Retorno.Token = Session["TokenUsuario"].ToString(); xOCC = x.OrdenCompraCompletaCrear(xOCC); if (xOCC.Retorno.Codigo == 0) { //OK RescatarDatos(); Response.Write(@"<script language='text/javascript'>alert('Reserva relizada Correctamente');</script>"); } else { //Error Response.Write(@"<script language='text/javascript'>alert('Fallo la realizacion de la Reserva');</script>"); } } else { Response.Write(@"<script language='text/javascript'>alert('Ingrese Datos de Huespedes');</script>"); } } catch (Exception) { Response.Write(@"<script language='text/javascript'>alert('Fallo la realizacion de la Reserva');</script>"); } }