/// <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); }
/// <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); }