/// <summary> /// Configuracion de controles del formulario. /// </summary> /// <history> /// [edgrodriguez] 03/Mar/2016 Created /// [emoguel] 29/09/2016 Modified--->Se agregó un parametro para saber si mostrará el combo de "DateBasedOn" y el nombre del reporte /// </history> public void ConfigurarFomulario(bool blnSalesRoom = false, bool blnAllSalesRoom = false, bool blnGifts = false, bool blnAllGifts = false, bool blnCategories = false, bool blnAllCategories = false, bool blnPrograms = false, bool blnAllPrograms = false, bool blnRatetypes = false, bool blnAllRatetypes = false, bool blnLeadSources = false, bool blnAllLeadSources = false, bool blnWarehouse = false, bool blnAllWarehouse = false, bool blnOneDate = false, bool blnOnlyOneRegister = false, EnumPeriod enumPeriod = EnumPeriod.None, EnumProgram enumPrograms = EnumProgram.All, bool blnOnePeriod = false, EnumBasedOnArrival enumBasedOnArrival = EnumBasedOnArrival.NoBasedOnArrival, EnumQuinellas enumQuinellas = EnumQuinellas.NoQuinellas, EnumDetailGifts enumDetailGifts = EnumDetailGifts.NoDetailGifts, EnumSaveCourtesyTours?enumSaveCourtesyTours = null, EnumSalesByMemberShipType enumSalesByMemberShipType = EnumSalesByMemberShipType.NoDetail, EnumBasedOnBooking enumBasedOnBooking = EnumBasedOnBooking.NoBasedOnBooking, EnumExternalInvitation?enumExternalInvitation = null, bool blncbStatus = false, bool blnGiftReceiptType = false, bool blnGuestId = false, bool blnGiftSale = false, bool blnDateRange = true, bool blnDateBaseOn = false, string strReportName = "") { ConfigureDates(blnOneDate, enumPeriod, blnDateRange); ConfigureFilters(enumBasedOnArrival, enumQuinellas, enumDetailGifts, enumSaveCourtesyTours, enumSalesByMemberShipType, enumBasedOnBooking, enumExternalInvitation, blncbStatus, blnGiftReceiptType, blnGuestId, blnGiftSale, blnDateBaseOn); LoadCombos(); #region Configuracion de Grids. LoadSalesRooms(blnOnlyOneRegister, blnSalesRoom, blnAllSalesRoom); LoadCategories(blnOnlyOneRegister, blnCategories, blnAllCategories); LoadGifts(blnOnlyOneRegister, blnGifts, blnAllGifts); LoadLeadSources(blnOnlyOneRegister, blnLeadSources, blnAllLeadSources); LoadPrograms(blnOnlyOneRegister, blnPrograms, blnAllPrograms); LoadRateTypes(blnOnlyOneRegister, blnRatetypes, blnAllRatetypes); LoadWarehouses(blnOnlyOneRegister, blnWarehouse, blnAllWarehouse); #endregion Configuracion de Grids. LoadDateBasedOn(strReportName); LoadUserFilters(blnOneDate); }
/// <summary> /// Configuracion de controles del formulario. /// </summary> /// <history> /// [aalcocer] 03/Mar/2016 Created /// [erosado] 19/05/2016 Modified. Se agregó asincronía /// [edgrodriguez] 21/May/2016 Modified El método GetLeadSourcesByUser se volvió asincrónico. /// </history> public void ConfigurarFomulario(bool blnOneDate, bool blnOnlyOneRegister, bool blnPersonnel = false, bool blnAllPersonnel = false, bool blnLeadSources = false, bool blnAllLeadSources = false, bool blnChargeTo = false, bool blnAllChargeTo = false, bool blnGifts = false, bool blnAllGifts = false, bool blnMarkets = false, bool blnAllMarkets = false, bool blnAgencies = false, bool blnAllAgencies = false, bool blnGiftsQuantity = false, bool blnAllGiftsQuantity = false, EnumPeriod enumPeriod = EnumPeriod.None, EnumProgram program = EnumProgram.All, EnumBasedOnArrival?enumBasedOnArrival = null, EnumBasedOnPRLocation?enumBasedOnPRLocation = null, EnumQuinellas?enumQuinellas = null, EnumDetailGifts?enumDetailGifts = null, EnumSalesByMemberShipType?enumSalesByMemberShipType = null, EnumSaveCourtesyTours?enumSaveCourtesyTours = null, EnumExternalInvitation?enumExternalInvitation = null, bool blnClub = false, bool blnNight = false, bool blnLsHotelNotNull = false, bool blnAgencyMonthly = false, EnumOnlyWholesalers?enumOnlyWholesalers = null) { ConfigureDates(blnOneDate, enumPeriod); ConfigureFilters(enumBasedOnArrival, enumBasedOnPRLocation, enumQuinellas, enumDetailGifts, enumSalesByMemberShipType, enumSaveCourtesyTours, enumExternalInvitation, blnClub, blnNight, enumOnlyWholesalers); LoadCombos(blnClub); #region Configuracion de Grids. LoadPersonnel(blnOnlyOneRegister, blnPersonnel, blnAllPersonnel, program); LoadLeadSources(blnOnlyOneRegister, blnLeadSources, blnAllLeadSources, program, blnLsHotelNotNull); LoadGifts(blnOnlyOneRegister, blnGifts, blnAllGifts); LoadGiftsQuantity(blnOnlyOneRegister, blnGiftsQuantity, blnAllGiftsQuantity); LoadChargeTo(blnOnlyOneRegister, blnChargeTo, blnAllChargeTo); LoadAgencies(blnOnlyOneRegister, blnAgencies, blnAllAgencies, blnAgencyMonthly); LoadMarkets(blnOnlyOneRegister, blnMarkets, blnAllMarkets); #endregion Configuracion de Grids. }
/// <summary> /// Contructor Login /// </summary> /// <history> /// [vipacheco] 2-26-2016 Created /// [edgrodriguez] 27/02/2016 Modified /// [edgrodriguez] 29/02/2016 Modified /// [erosado] 25/04/2016 Modified. Se restructuro y se agregaron parametros _permission, _permissionLevel, _program, _modeSwitchLoginUser /// [jorcanche] 16/08/2016 Se agrego el parametro windowStartupLocation sirve para definir en que posicion estara el windowStartupLocation /// </history> public frmLogin( Window splash = null, EnumLoginType loginType = EnumLoginType.Normal, EnumProgram program = EnumProgram.All, bool validatePermission = false, bool validateRole = false, bool changePassword = false, bool autoSign = false, EnumPermission permission = EnumPermission.None, EnumPermisionLevel permissionLevel = EnumPermisionLevel.None, EnumRole role = EnumRole.None, bool switchLoginUserMode = false, bool invitationMode = false, string invitationPlaceId = "", WindowStartupLocation windowStartupLocation = WindowStartupLocation.Manual ) { InitializeComponent(); _splash = splash; _loginType = loginType; _program = program; _validatePermission = validatePermission; _validateRole = validateRole; _changePassword = changePassword; _autoSign = autoSign; _permission = permission; _permissionLevel = permissionLevel; _role = role; _modeSwitchLoginUser = switchLoginUserMode; _invitationMode = invitationMode; _invitationPlaceId = invitationPlaceId; WindowStartupLocation = windowStartupLocation; CloseWindow = new ExecuteCommandHelper(x => btnCancelar_Click(this, null)); }
/// <summary> /// Configura los controles del formulario /// </summary> /// <history> /// [vku] 22/Mar/2016 Created /// </history> public void ConfigureForm(bool blnLeadSource = false, bool blnLeadSourcesPaymentComm = false, bool blnAllLeadSource = false, bool blnAllLeadSourcePaymentComm = false, bool blnPaymentTypes = false, bool blnAllPaymentTypes = false, bool blnPRs = false, bool blnAllPRs = false, bool blnChargeTo = false, bool blnAllChargeTo = false, bool blnGifts = false, bool blnAllGifts = false, bool blnGiftProdGift = false, bool blnAllGiftProdGift = false, bool blnRangeFolios = false, bool blnAllRangeFolios = false, bool blnOneDate = false, bool blnOnlyOneRegister = false, bool blnChkUsedate = false, EnumPeriod enumPeriod = EnumPeriod.None, EnumProgram enumPrograms = EnumProgram.Outhouse, bool blnOnePeriod = false, EnumBasedOnArrival enumBasedOnArrival = EnumBasedOnArrival.NoBasedOnArrival, EnumQuinellas enumQuinellas = EnumQuinellas.NoQuinellas, EnumDetailGifts enumDetailGifts = EnumDetailGifts.NoDetailGifts, EnumSaveCourtesyTours?enumSaveCourtesyTours = null, EnumSalesByMemberShipType enumSalesByMemberShipType = EnumSalesByMemberShipType.NoDetail, EnumBasedOnBooking enumBasedOnBooking = EnumBasedOnBooking.NoBasedOnBooking, EnumExternalInvitation?enumExternalInvitation = null, bool blnFolSeries = false, bool blnFolFrom = false, bool blnFolTo = false, bool blnUseDates = false, bool blnAllFolios = false) { ConfigureDates(blnOneDate, enumPeriod); ConfigureFilters(enumBasedOnArrival, enumQuinellas, enumDetailGifts, enumSaveCourtesyTours, enumSalesByMemberShipType, enumBasedOnBooking, enumExternalInvitation, blnFolSeries, blnFolFrom, blnFolTo, blnUseDates, blnAllFolios); LoadCombos(); #region Configuracion de grids LoadLeadSources(blnOnlyOneRegister, blnLeadSource, blnAllLeadSource, enumPrograms); LoadLeadSourcesPaymentCoom(blnOnlyOneRegister, blnLeadSourcesPaymentComm, blnAllLeadSourcePaymentComm); LoadPaymentTypes(blnOnlyOneRegister, blnPaymentTypes, blnAllPaymentTypes); LoadPRs(blnOnlyOneRegister, blnPRs, blnAllPRs); LoadChargeTo(blnOnlyOneRegister, blnChargeTo, blnAllChargeTo); LoadGifts(blnOnlyOneRegister, blnGifts, blnAllGifts); LoadGiftsProdGift(blnOnlyOneRegister, blnGiftProdGift, blnAllGiftProdGift); #endregion LoadUserFilters(); }
/// <summary> /// Carga el Program para la invitacion /// </summary> /// <param name="module">EnumModule</param> /// <param name="invitationType">EnumInvitationType</param> /// <param name="guId">GuestID</param> /// <history> /// [erosado] 10/08/2016 Created. /// </history> private async Task LoadProgram(EnumModule module, EnumInvitationType invitationType, int guId) { EnumProgram program = EnumProgram.All; //Si se tiene el GuestID if (guId != 0 && module != EnumModule.Host) { //Obtenemos la informacion del Guest var guest = await BRGuests.GetGuest(guId); //Obtenemos la informacion de program var result = await BRLeadSources.GetLeadSourceProgram(guest.gulsOriginal); //Asignamos el Program if (result == EnumToListHelper.GetEnumDescription(EnumProgram.Inhouse)) { program = EnumProgram.Inhouse; } else { program = EnumProgram.Outhouse; } } //Si NO hay un Guest para obtener el program else { //De que modulo me estan hablando switch (module) { case EnumModule.InHouse: if (invitationType == EnumInvitationType.newExternal) { program = EnumProgram.Inhouse; } break; case EnumModule.OutHouse: if (invitationType == EnumInvitationType.newOutHouse) { program = EnumProgram.Outhouse; } break; case EnumModule.Host: if (invitationType == EnumInvitationType.newOutHouse) { program = EnumProgram.Outhouse; } else { program = EnumProgram.Inhouse; } break; } } Program = program; AllowReschedule = program == EnumProgram.Inhouse; }
public frmGuest(UserData user, int guestId, EnumModule module, EnumProgram program, EnumMode mode, bool isInvitation) { WindowStartupLocation = WindowStartupLocation.CenterScreen; _user = user; _guestId = guestId; _module = module; _program = program; _mode = mode; _isInvitation = isInvitation; InitializeComponent(); }
/// <summary> /// Obtiene catalogo de Lead Sources . /// </summary> /// <param name="status"> 0- Sin filtro, 1-Activos, 2. Inactivos </param> /// <returns>List<LeadSource></returns> /// <history> /// [aalcocer] 09/03/2016 Created /// [jorcanche] 02/05/2016 Agrego el parametro EnumProgram para que se puede saleccionar /// [aalcocer] 09/06/2016 Modified. Se agregó asincronía. /// </history> public static async Task <List <LeadSource> > GetLeadSources(int status = 0, EnumProgram program = EnumProgram.All) { var leadSources = new List <LeadSource>(); var pro = EnumToListHelper.GetEnumDescription(program); await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { leadSources = dbContext.LeadSources .Where(ls => status.Equals(1) ? ls.lsA : status.Equals(2) ? !ls.lsA : true) .Where(ls => program != EnumProgram.All ? ls.lspg == pro : true) .OrderBy(ls => ls.lsN).ToList(); } }); return(leadSources); }
/// <summary> /// /// </summary> /// <param name="userdata"> Informacion del Usuario </param> /// <param name="program"> Enumerado que identifica el tipo de programa origen</param> public frmSearchGuest(UserData userdata, EnumProgram program, DateTime?dateTimeCurrent = null) { InitializeComponent(); user = userdata; _program = program; // Cargamos la fecha de busqueda DateTime?dateCurrent = dateTimeCurrent ?? BRHelpers.GetServerDate(); dtpTo.Value = dateCurrent; dtpFrom.Value = dateCurrent.Value.AddDays(-7); // Ocultamos los criterios de busqueda no necesarios para el caso if (_program == EnumProgram.Inhouse) { stkSalesRoom.Visibility = stkPR.Visibility = Visibility.Collapsed; } else { stkReservation.Visibility = btnCancel.Visibility = guHReservIDColumn.Visibility = guAccountGiftsCardColumn.Visibility = Visibility.Collapsed; } }
/// <summary> /// Devuelve los datos para el reporte de produccion por membresia /// </summary> /// <param name="dtmStart">Fecha desde</param> /// <param name="dtmEnd">Fecha hasta</param> /// <param name="leadSources">Claves de Lead Sources</param> /// <param name="pRs">Claves de PRs</param> /// <param name="program">Clave de programa</param> /// <param name="aplication">Clave de membresia</param> /// <param name="company">Clave de compania</param> /// <param name="club">Clave de club</param> /// <param name="onlyWholesalers">Indica si se desean solo mayoristas</param> /// <param name="considerQuinellas">Indica si se debe considerar quinielas</param> /// <param name="basedOnArrival">Indica si se debe basar en la fecha de llegada</param> /// <returns><list type="RptProductionByMember"></list></returns> /// <history> /// [aalcocer] 03/05/2016 Created /// [aalcocer] 24/05/2016 Modified. Se agregó asincronía /// </history> public static async Task <List <RptProductionByMember> > GetRptProductionByMembers(DateTime dtmStart, DateTime dtmEnd, IEnumerable <string> leadSources, IEnumerable <string> pRs = null, EnumProgram program = EnumProgram.All, string aplication = "", int company = 0, Club club = null, EnumOnlyWholesalers onlyWholesalers = EnumOnlyWholesalers.NoOnlyWholesalers, EnumQuinellas considerQuinellas = EnumQuinellas.NoQuinellas, EnumBasedOnArrival basedOnArrival = EnumBasedOnArrival.NoBasedOnArrival) { var result = new List <RptProductionByMember>(); if (pRs == null || !pRs.Any()) { pRs = new[] { "ALL" } } ; await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { dbContext.Database.CommandTimeout = Settings.Default.USP_OR_RptProductionByMember_Timeout; result = dbContext.USP_OR_RptProductionByMember(dtmStart, dtmEnd, string.Join(",", leadSources), string.Join(",", pRs), EnumToListHelper.GetEnumDescription(program), string.IsNullOrWhiteSpace(aplication) ? "ALL" : aplication, company, club?.clID, Convert.ToBoolean(onlyWholesalers), Convert.ToBoolean(considerQuinellas), Convert.ToBoolean(basedOnArrival)).ToList(); } }); return(result); }
/// <summary> /// Obtiene el reporte Production By Lead Source & Market(Monthly). /// </summary> /// <returns>List of RptProductionByLeadSourceMarketMonthly</returns> /// <history> /// [edgrodriguez] 21/Abr/2016 Created /// </history> public static async Task <List <RptProductionByLeadSourceMarketMonthly> > GetRptProductionByLeadSourceMarketMonthly(DateTime?dtmStart, DateTime?dtmEnd, EnumQuinellas quinellas, EnumExternalInvitation external, EnumBasedOnArrival basedOnArrival, string leadSources = "ALL", EnumProgram program = EnumProgram.All) { return(await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { return dbContext.USP_OR_RptProductionByLeadSourceMarketMonthly(dtmStart, dtmEnd, leadSources, EnumToListHelper.GetEnumDescription(program), Convert.ToBoolean(quinellas), Convert.ToInt32(external), Convert.ToBoolean(basedOnArrival)).ToList(); } })); }
/// <summary> /// Carga y configuracion del grid de LeadSources /// </summary> /// <param name="blnOnlyOneRegister"></param> /// <param name="blnLeadSources"></param> /// <param name="blnAllLeadSources"></param> /// <param name="program"></param> /// <param name="blnLsHotelNotNull"></param> /// <history> /// [aalcocer] 26/May/2016 Created /// </history> private async void LoadLeadSources(bool blnOnlyOneRegister, bool blnLeadSources, bool blnAllLeadSources, EnumProgram program, bool blnLsHotelNotNull) { if (!blnLeadSources) { pnlLeadSource.Visibility = Visibility.Collapsed; return; } grdLeadSources.SelectionMode = (blnOnlyOneRegister) ? DataGridSelectionMode.Single : DataGridSelectionMode.Extended; _lstLeadSources = await BRLeadSources.GetLeadSourcesByUser(Context.User.User.peID, program); if (blnLsHotelNotNull) { List <string> lstLsIDHotelNotNull = (await BRLeadSources.GetLeadSources(1, EnumProgram.All)).Where(x => x.lsHotel != null).Select(x => x.lsID).ToList(); _lstLeadSources = _lstLeadSources.Where(x => lstLsIDHotelNotNull.Contains(x.lsID)).ToList(); } grdLeadSources.ItemsSource = _lstLeadSources; chkAllLeadSources.IsChecked = blnAllLeadSources; chkAllLeadSources.IsEnabled = !blnOnlyOneRegister; if (!_frmIh._clsFilter.LstLeadSources.Any()) { return; } chkAllLeadSources.IsChecked = false; _frmIh._clsFilter.LstLeadSources.ForEach(c => grdLeadSources.SelectedItems.Add(_lstLeadSources.SingleOrDefault(x => x.lsID == c))); if (grdLeadSources.SelectedItems.Count == grdLeadSources.Items.Count) { chkAllLeadSources.IsChecked = true; } }
/// <summary> /// Carga y configuracion del grid de Personnel /// </summary> /// <param name="blnOnlyOneRegister"></param> /// <param name="blnPersonnel"></param> /// <param name="blnAllPersonnel"></param> /// <param name="program"></param> private async void LoadPersonnel(bool blnOnlyOneRegister, bool blnPersonnel, bool blnAllPersonnel, EnumProgram program) { if (!blnPersonnel) { pnlPersonnel.Visibility = Visibility.Collapsed; return; } grdPersonnel.SelectionMode = (blnOnlyOneRegister) ? DataGridSelectionMode.Single : DataGridSelectionMode.Extended; List <LeadSourceByUser> listLeadSourceByUsers = await BRLeadSources.GetLeadSourcesByUser(Context.User.User.peID, program); _lstPersonnel = await BRPersonnel.GetPersonnel(string.Join(",", listLeadSourceByUsers.Select(y => y.lsID)), roles : "PR", status : 0); grdPersonnel.ItemsSource = _lstPersonnel; chkAllPersonnel.IsChecked = blnAllPersonnel; chkAllPersonnel.IsEnabled = !blnOnlyOneRegister; if (!_frmIh._clsFilter.LstPersonnel.Any()) { return; } chkAllPersonnel.IsChecked = false; _frmIh._clsFilter.LstPersonnel.ForEach(c => grdPersonnel.SelectedItems.Add(_lstPersonnel.SingleOrDefault(x => x.peID == c))); if (grdPersonnel.SelectedItems.Count == grdPersonnel.Items.Count) { chkAllPersonnel.IsChecked = true; } }
/// <summary> /// Obtiene los Lead Sources de un usuario /// </summary> /// <param name="user">Usuario </param> /// <param name="programs"> Programa o default('ALL') </param> /// <param name="regions">Region o default('ALL') </param> /// <returns>List<LeadSourceByUser></returns> /// <hystory> /// [erosado] 08/03/2016 created /// [aalcocer] 17/03/2016 Modified. Agregado parametros por default /// [erosado] 07/04/2016 Modified. Se cambio el parametro string Progam a EnumPrograms /// [edgrodriguez] 21/May/2016 Modified. El método se volvio asincrónico. /// </hystory> public async static Task <List <LeadSourceByUser> > GetLeadSourcesByUser(string user, EnumProgram program = EnumProgram.All, string regions = "ALL") { List <LeadSourceByUser> result = new List <LeadSourceByUser>(); await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { result = dbContext.USP_OR_GetLeadSourcesByUser(user, EnumToListHelper.GetEnumDescription(program), regions).ToList(); } }); return(result); }
/// <summary> /// Carga y configuración del grid LeadSources /// </summary> /// <param name="blnOnlyOneRegister"></param> /// <param name="blnLeadSources"></param> /// <param name="blnAllLeadSources"></param> /// <param name="program"></param> /// <history> /// [vku] 25/May/2016 Created /// </history> private async void LoadLeadSources(bool blnOnlyOneRegister, bool blnLeadSource, bool blnAllLeadSources, EnumProgram program = EnumProgram.Outhouse) { if (!blnLeadSource) { return; } grdLeadSources.SelectionMode = (blnOnlyOneRegister) ? DataGridSelectionMode.Single : DataGridSelectionMode.Extended; pnlLeadSources.Visibility = Visibility.Visible; _lstLeadSources = await BRLeadSources.GetLeadSourcesByUser(Context.User.User.peID, program, "ALL"); grdLeadSources.ItemsSource = _lstLeadSources; chkAllLeadSources.IsChecked = blnAllLeadSources; chkAllLeadSources.IsEnabled = !blnOnlyOneRegister; if (!frmPO._clsFilter._lstLeadSources.Any()) { return; } chkAllLeadSources.IsChecked = (grdLeadSources.SelectionMode == DataGridSelectionMode.Extended) && frmPO._clsFilter.AllLeadSources; if (grdLeadSources.ItemsSource != null && !frmPO._clsFilter.AllLeadSources && !blnOnlyOneRegister) { grdLeadSources.SelectedItem = null; frmPO._clsFilter._lstLeadSources.ForEach(c => { grdLeadSources.SelectedItems.Add(_lstLeadSources.FirstOrDefault(l => l.lsID == c)); }); } else { grdLeadSources.SelectedItem = _lstLeadSources.FirstOrDefault(c => c.lsID == frmPO._clsFilter._lstLeadSources[0]); } }