示例#1
0
        /// <summary>
        /// Guarda el recibo de regalos exchange
        /// </summary>
        /// <history>
        /// [vipacheco] 27/Mayo/2016 Created
        /// </history>
        private async Task SaveReceiptExchange()
        {
            // obtenemos los datos del recibo
            GiftsReceipt _GRResult = await BRGiftsReceipts.GetGiftReceipt(_ReceiptID);

            // Construimos el nuevo GiftsReceipts
            GiftsReceipt _GiftsReceipt = new GiftsReceipt()
            {
                grNum            = txtgrNum.Text,
                grD              = frmHost.dtpServerDate,
                grgu             = _GRResult.grgu,
                grExchange       = true,
                grGuest          = _GRResult.grGuest,
                grPax            = _GRResult.grPax,
                grHotel          = _GRResult.grHotel,
                grRoomNum        = _GRResult.grRoomNum,
                grpe             = _GRResult.grpe,
                grlo             = _GRResult.grlo,
                grls             = _GRResult.grls,
                grsr             = _GRResult.grsr,
                grWh             = _GRResult.grWh,
                grMemberNum      = _GRResult.grMemberNum,
                grHost           = _GRResult.grHost,
                grComments       = txtgrComments.Text,
                grDeposit        = 0,
                grDepositTwisted = 0,
                grcu             = "US",
                grcxcPRDeposit   = 0,
                grcucxcPRDeposit = "US",
                grCxCClosed      = false,
                grExchangeRate   = 0,
                grct             = _GRResult.grct,
                grMaxAuthGifts   = _GRResult.grMaxAuthGifts,
                grcxcGifts       = 0,
                grcxcComments    = null,
                grTaxiIn         = 0,
                grTaxiOut        = 0,
                grCancel         = false,
                grClosed         = false,
                grCxCAppD        = null,
                grTaxiOutDiff    = 0,
                grGuest2         = _GRResult.grGuest2,
                grcucxcTaxiOut   = _GRResult.grcucxcTaxiOut,
                grpt             = _GRResult.grpt
            };

            // Guardamos el Gift Receipt
            ReceiptExchangeID = await BRGiftsReceipts.SaveGiftReceipt(_GiftsReceipt);

            // Guardamos el historico del recibo
            await BRGiftsReceiptLog.SaveGiftsReceiptsLog(ReceiptExchangeID, Context.User.User.peID);
        }
        /// <summary>
        /// Obtiene el Gift y envie los datos modificados en el grid
        /// </summary>
        /// <param name="cxcData">Registro del grid modificado</param>
        /// <returns></returns>
        /// <history>
        /// [michan] 17/06/2016 Created
        /// </history>
        public async Task <GiftsReceipt> SetCxCDataToGiftsReceipt(CxCData cxcData)
        {
            GiftsReceipt giftsReceipt = await BRGiftsReceipts.GetGiftReceipt(cxcData.grID);

            //var cxcGR = lstCxCData.SingleOrDefault(cxc => cxc.grID == giftsReceipt.grID);
            giftsReceipt.grCxCAppD         = cxcData.grCxCAppD;
            giftsReceipt.grAuthorizedBy    = (String.IsNullOrEmpty(cxcData.grAuthorizedBy)) ? null : cxcData.grAuthorizedBy;
            giftsReceipt.grAmountToPay     = cxcData.grAmountToPay;
            giftsReceipt.grup              = cxcData.grup;
            giftsReceipt.grcxcAuthComments = cxcData.grcxcAuthComments;
            giftsReceipt.grBalance         = cxcData.grBalance;
            return(giftsReceipt);
        }
示例#3
0
        /// <summary>
        /// Obtiene la información de un Gifts Receipt especifico.
        /// </summary>
        /// <param name="GiftReceiptID"></param>
        /// <returns> Gifts Receipt </returns>
        /// <history>
        /// [vipacheco] 06/04/2016 Created
        /// [vipacheco] 07/Julio/2016 Modified --> se agrego asincronia
        /// </history>
        public async static Task <GiftsReceipt> GetGiftReceipt(int GiftReceiptID)
        {
            GiftsReceipt giftReceipt = new GiftsReceipt();
            await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    giftReceipt = dbContext.GiftsReceipts.Where(x => x.grID == GiftReceiptID).SingleOrDefault();
                }
            });

            return(giftReceipt);
        }
示例#4
0
        /// <summary>
        /// Guarda un nuevo Gift Receipt y retorna el ID asignado
        /// </summary>
        /// <param name="giftReceipt"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 2/Mayo/2016 Created
        /// [vipacheco] 07/Julio/2016 Modified --> Se agregó asincronia
        /// [vipacheco] 05/Agosto/2016 Modified --> Se agregó estandarizacion del return
        /// </history>
        public async static Task <int> SaveGiftReceipt(GiftsReceipt giftReceipt)
        {
            return(await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    // Guardamos el Gift Receipt Nuevo
                    dbContext.Entry(giftReceipt).State = System.Data.Entity.EntityState.Added;
                    dbContext.SaveChanges();

                    return giftReceipt.grID; // Obtenemos el ID del nuevo Gift Receipt
                }
            }));
        }
        /// <summary>
        /// Metodo para guardar los CxC Autorizados y Desautorizados
        /// </summary>
        /// <history>
        /// [michan] 18/06/2016 Created
        /// </history>
        public async Task SaveGiftsReceipts()
        {
            imgButtonSave.IsEnabled = false;
            StaStart("Saving changes... Please wait");
            foreach (CxCData cxcData in dtgCxC.Items)
            {
                if (cxcData.Authorized.Value == !blnFilterAuthorized)
                {
                    GiftsReceipt _giftsReceipt = await SetCxCDataToGiftsReceipt(cxcData);

                    int nRes = await BREntities.OperationEntity(_giftsReceipt, EnumMode.Edit);
                    await SaveGiftsReceiptsLog(_giftsReceipt.grID, strUserID);
                }
            }

            await GetCxCAuthorized(blnFilterAuthorized);

            UIHelper.ShowMessage("Saving Process Completed.", MessageBoxImage.Information, "CxC Authorized");
            StaEnd();
            imgButtonSave.IsEnabled = true;
        }
示例#6
0
        public frmCancelExternalProducts(EnumExternalProduct enumExternalProducts, int ReceiptID, int GuestID,
                                         string NameGuest, decimal MaxAuthGifts, decimal TotalGifts, decimal CurAdjustment,
                                         bool ValidateMaxAuthGifts, bool pUseCxCCost, bool Exchange, frmGiftsReceipts FrmGiftsReceipt, GiftsReceipt pGiftsDataContext, bool pIsExchangeReceipt)
        {
            _EnumExternalProduct       = enumExternalProducts;
            _ReceiptID                 = ReceiptID;
            _MaxAuthGifts              = MaxAuthGifts;
            _GuestID                   = GuestID;
            _ValidateMaxAuthGifts      = ValidateMaxAuthGifts;
            useCxCCost                 = pUseCxCCost;
            _Exchange                  = Exchange;
            _isExchangeReceipt         = pIsExchangeReceipt;
            _Cancelled                 = false;
            _FrmGiftsReceipt           = FrmGiftsReceipt;
            _FrmCancelExternalProducts = this;
            _giftsDataContext          = pGiftsDataContext;
            _CurAdjustment             = CurAdjustment;
            _TotalGifts                = TotalGifts;

            InitializeComponent();

            // Si es monedero electronico
            if (_EnumExternalProduct == EnumExternalProduct.expElectronicPurse)
            {
                Title        = "Cancel Electronic Purse";
                _CancelField = "geCancelElectronicPurse";
                geCancelPVPPromoColumn.Visibility = Visibility.Hidden;
            }
            // si son las promociones de Sistur
            else
            {
                Title        = "Cancel Sistur Promotions";
                _CancelField = "geCancelPVPPromo";
                geCancelElectronicPurseColumn.Visibility = Visibility.Hidden;
            }
        }
示例#7
0
        /// <summary>
        /// guardamos los regalos cancelados
        /// </summary>
        /// <param name="pReceiptID"></param>
        /// <param name="pReceiptExchangeID"></param>
        /// <param name="pGiftsCancelled"></param>
        /// <param name="pUseCxCCost"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 18/Julio/2016 Created
        /// </history>
        public async static Task Save(int pReceiptID, int pReceiptExchangeID, List <string> pGiftsCancelled, bool pUseCxCCost, GiftsReceipt pGiftsReceipt, ObservableCollection <GiftsReceiptDetail> pGiftsReceiptsDetail, ObservableCollection <GiftsReceiptDetailCancel> pGiftsCancel, bool pIsExchange, string pCancelFiel)
        {
            // obtenemos los regalos del recibo original para marcarlos como cancelados
            List <GiftsReceiptDetail> lstResult = await BRGiftsReceiptDetail.GetGiftsReceiptDetail(pReceiptID);

            // Recorremos los regalos cancelados
            foreach (string iGift in pGiftsCancelled)
            {
                // Localizamos los regalos cancelados
                GiftsReceiptDetail giftupdate = lstResult.Where(x => x.gegi == iGift).Single();
                Gift gift = frmHost._lstGifts.Where(x => x.giID == giftupdate.gegi).Single();

                // marcamos el regalo como cancelado en el recibo original
                giftupdate.GetType().GetProperty(pCancelFiel).SetValue(giftupdate, true, null);

                // si se debe generar un recibo exchange
                if (pIsExchange)
                {
                    // agregamos el regalo en el recibo exchange
                    await AddGiftExchange(pReceiptExchangeID, giftupdate, pGiftsCancelled);
                }
            }
        }
示例#8
0
        /// <summary>
        /// Agrega un recibo de regalos
        /// </summary>
        /// <param name="GuestID"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 13/Mayo/2016 Created
        /// </history>
        private async Task <int> AddReceipt(int GuestID)
        {
            // Obtenemos los datos del huesped
            Guest _Guest = await BRGuests.GetGuest(GuestID);

            string _FullName  = Common.GetFullName(_Guest.guLastName1 ?? "", _Guest.guFirstName1 ?? "");
            string _FullName2 = Common.GetFullName(_Guest.guLastname2 ?? "", _Guest.guFirstName2 ?? "");

            bool boolTemp = false;

            // Creamos el recibo de regalos
            GiftsReceipt _GiftsReceipt = new GiftsReceipt
            {
                grNum             = null,
                grD               = _frmGiftsReceipt.dtpgrD.Value.Value,
                grgu              = _Guest.guID,
                grGuest           = _FullName.Length > _frmGiftsReceipt.txtgrGuest.MaxHeight ? _FullName.Substring(0, 20) : _FullName,
                grPax             = _Guest.guPax,
                grHotel           = _Guest.guHotel,
                grRoomNum         = _Guest.guRoomNum,
                grpe              = (_frmGiftsReceipt.cmbgrpe.SelectedItem as PersonnelShort).peID,
                grlo              = _frmGiftsReceipt.cmbgrlo.SelectedValue.ToString(),
                grls              = _frmGiftsReceipt.cmbgrlo.SelectedValue.ToString(),
                grsr              = _frmGiftsReceipt.cmbSalesRoom.SelectedValue.ToString(),
                grWh              = _frmGiftsReceipt.cmbSalesRoom.SelectedValue.ToString(),
                grMemberNum       = null,
                grHost            = (_frmGiftsReceipt.cmbgrHost.SelectedItem as PersonnelShort).peID,
                grComments        = null,
                grDeposit         = 0,
                grDepositTwisted  = 0,
                grcu              = "US",
                grcxcPRDeposit    = 0,
                grcucxcPRDeposit  = "US",
                grCxCClosed       = false,
                grExchangeRate    = 0,
                grct              = _frmGiftsReceipt.cmbgrct.SelectedValue.ToString(),
                grMaxAuthGifts    = _frmGiftsReceipt.CalculateMaxAuthGifts(_frmGiftsReceipt.cmbgrct.SelectedValue.ToString(), _Guest.guls, ref boolTemp),
                grcxcGifts        = 0,
                grcxcAdj          = 0,
                grcxcComments     = null,
                grTaxiIn          = 0,
                grTaxiOut         = 0,
                grCancel          = false,
                grClosed          = false,
                grCxCAppD         = null,
                grTaxiOutDiff     = 0,
                grGuest2          = _FullName2.Length > _frmGiftsReceipt.txtgrGuest2.MaxHeight ? _FullName2.Substring(0, 20) : _FullName2,
                grpt              = "CS",
                grReimpresion     = 0,
                grrm              = null,
                grAuthorizedBy    = null,
                grAmountToPay     = null,
                grup              = null,
                grcxcTaxiOut      = 0,
                grcucxcTaxiOut    = "US",
                grcxcAuthComments = null,
                grCancelD         = null,
                grAmountPaid      = 0,
                grBalance         = 0
            };

            // Guardamos el ReceiptGifts y Obtenemos el ID generado.
            return(await BRGiftsReceipts.SaveGiftReceipt(_GiftsReceipt));
        }