Beispiel #1
0
        /// <summary>
        /// Guarda en el sistema de Opera los cargos a habitacion
        /// </summary>
        /// <param name="ReceiptID"></param>
        /// <history>
        /// [vipacheco] 01/Junio/2016 Created
        /// </history>
        public static string SaveRoomChargesOpera(int ReceiptID, string ChargeTo)
        {
            CargoHabitacionTRNRequest     Request      = new CargoHabitacionTRNRequest();
            RmmsttrnRowResponse           Response     = null;
            List <CargoHabitacionRequest> aRoomCharges = new List <CargoHabitacionRequest>();
            List <GiftType> aGifts = new List <GiftType>();

            // obtenemos los regalos con cargo a habitacion
            aRoomCharges = GetGiftsRoomCharges(ReceiptID, ref aGifts, ref Request, ChargeTo);

            // Si algun regalo tiene cargo a habitacion
            if (aRoomCharges.Count > 0)
            {
                // invocamos al servicio web para insertar cada regalo que se pretende asignar
                Response = InsertarCargoHabitacionTRN(Request);

                // actualizamos el consecutivo de cargos a habitacion
                BRRoomCharges.UpdateRoomChargeConsecutive(Request.Hotel, $"{Request.Folio}");

                // actualizamos los regalos para identificarlos como que se guardaron en Opera
                foreach (GiftType _Gift in aGifts)
                {
                    BRGiftsReceiptDetail.UpdateGiftsReceiptDetailRoomChargeOpera(_Gift.Receipt, _Gift.ID, _Gift.TransactionTypeOpera);
                }
                return("Gifts were successfully saved in Opera as Room Charges");
            }
            return(string.Empty);
        }
Beispiel #2
0
        /// <summary>
        /// Agrega un cargo a habitacion
        /// </summary>
        /// <param name="Request"></param>
        /// <param name="Error"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 01/Junio/2016 Created
        /// </history>
        public static RmmsttrnRowResponse InsertarCargoHabitacionTRN(CargoHabitacionTRNRequest Request)
        {
            RmmsttrnRowResponse Response = null;

            // invocamos al servicio web
            Response = Current.InsertarCargoHabitacionTRN(Request);

            // Si ocurrio un error
            if (Response.HasErrors)
            {
                throw new Exception(Response.ExceptionInfo.Message);
            }
            return(Response);
        }