/// <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 todos los place y los mantiene en memoria para utilizarlos posteriormente /// </summary> /// <returns>lista dynamica</returns> /// <history> /// [erosado] 29/04/2016 Created /// </history> public async Task <int> getAllPlaces() { places = new List <Item>(); switch (_loginType) { case EnumLoginType.SalesRoom: var sr = await BRSalesRooms.GetSalesRoomsByUser(); sr.ForEach(s => places.Add(new Item() { Id = s.srID, Name = s.srN, UserId = s.plpe })); break; case EnumLoginType.Warehouse: var wh = await BRWarehouses.GetWarehousesByUser(); wh.ForEach(w => places.Add(new Item() { Id = w.whID, Name = w.whN, UserId = w.plpe })); break; case EnumLoginType.Location: var lo = await BRLocations.GetLocationsByUser(programs : EnumToListHelper.GetEnumDescription(_program)); lo.ForEach(l => places.Add(new Item() { Id = l.loID, Name = l.loN, UserId = l.plpe })); break; } return(1); }
/// <summary> /// Abre cada módulo al oprimir dos veces el botón correspodiente /// </summary> /// <history> /// [lchairez] 05/Feb/2016 Created /// </history> private void lsbLauncher_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (lsbLauncher.SelectedItem != null) { Item item = (Item)lsbLauncher.SelectedItem; CallingExe(EnumToListHelper.StringToEnum <EnumMenu>(item.Id)); } }
/// <summary> /// Abre cada módulo a oprimir Enter en el botón correspodiente /// </summary> /// <history> /// [lchairez] 05/Feb/2016 Created /// </history> private void lsbLauncher_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter && lsbLauncher.SelectedItem != null) { Item item = (Item)lsbLauncher.SelectedItem; CallingExe(EnumToListHelper.StringToEnum <EnumMenu>(item.Id)); } }
/// <summary> /// Carga los combobox. /// </summary> /// <history> /// [edgrodriguez] 21/May/2016 Created /// </history> private void LoadCombos() { cboStatus.ItemsSource = EnumToListHelper.GetList <EnumStatus>(); cboSaveCourtesyTours.ItemsSource = EnumToListHelper.GetList <EnumSaveCourtesyTours>(); cboExternal.ItemsSource = EnumToListHelper.GetList <EnumExternalInvitation>(); cboGiftsReceiptType.ItemsSource = EnumToListHelper.GetList <EnumGiftsReceiptType>(); cboGiftSale.ItemsSource = EnumToListHelper.GetList <EnumGiftSale>(); }
/// <summary> /// Obtiene el listado de dias libres del personal /// </summary> /// <param name="placeID">ID del lugar de trabajo</param> /// <param name="teamType"></param> /// <returns></returns> /// <history>[ECANUL] 09-08-2016 Created</history> public static List <PersonnelDayOff> GetPersonnelDaysOff(string placeID, EnumTeamType teamType) { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { string _teamType = EnumToListHelper.GetEnumDescription(teamType); return(dbContext.USP_OR_GetPersonnelDaysOff(_teamType, placeID).ToList()); } }
/// <summary> /// Obtiene la lista de empleados En un periodo de fechas establecido y que NO ha sido registrado en la base de datos /// NO REGISTRA SOLO HACE UNA CONSULTA /// </summary> /// <param name="palaceType">LS, SR o WH</param> /// <param name="PalaceID"> String con el ID del Sitio </param> /// <param name="dateStart">Fecha inicio de la lista de asistencia</param> /// <param name="DateEnd">Fecha fin de la lista de asistencia</param> /// <returns>Lista de asistencia enrtre las fechas seleccionadas</returns> /// <history>[ECANUL] 19-03-2016 CREATED</history> public static List <PersonnelAssistance> GetPersonnelAssistance(EnumPlaceType palaceType, string PalaceID, DateTime dateStart, DateTime DateEnd) { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { string strPalaceType = EnumToListHelper.GetEnumDescription(palaceType); return(dbContext.USP_OR_GetPersonnelAssistance(strPalaceType, PalaceID, dateStart, DateEnd).ToList()); } }
/// <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; }
/// <summary> /// Agrega un elemento EnumMenu a la lista actual /// </summary> /// <param name="item">Enumerado del elemento</param> /// <history> /// [wtorres] 16/Jul/2016 Created /// </history> public void Add(EnumMenu item) { Add(new Item() { Id = item.ToString(), Name = EnumToListHelper.GetEnumDescription(item), ImageUrl = $"pack://application:,,,/IM.Styles;component/Images/{item.ToString()}.png" }); }
/// <summary> /// Carga los Grids del formulario /// </summary> /// <history> /// [ecanul] 22/04/2016 Created /// </history> private void LoadGrids() { //Reportes por Sales Room dtgSalesRoom.ItemsSource = EnumToListHelper.GetList <EnumRptSalesRoom>().OrderBy(x => x.Value); //Reportes por Sales Room y Salesman dtgSalesman.ItemsSource = EnumToListHelper.GetList <EnumRptSalesRoomAndSalesman>().OrderBy(x => x.Value); statusBarReg.Content = $"{dtgSalesRoom.Items.Count + dtgSalesman.Items.Count} Reports"; }
/// <summary> /// Carga los combobox. /// </summary> /// <param name="blnClub"></param> /// <history> /// [aalcocer] 24/May/2016 Created /// </history> private async void LoadCombos(bool blnClub) { cboSaveCourtesyTours.ItemsSource = EnumToListHelper.GetList <EnumSaveCourtesyTours>(); cboExternal.ItemsSource = EnumToListHelper.GetList <EnumExternalInvitation>(); if (blnClub) { cboClub.ItemsSource = await BRClubs.GetClubs(nStatus : 1); } LoadUserFilters(); }
/// <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> /// obtiene registros del catalogo PersLSSR /// </summary> /// <param name="idUser">id del Usuario</param> /// <param name="typeAcces">SR. Sales Room | LS. Lead Source | WH. Wharehouse</param> /// <returns></returns> public static async Task <List <PersonnelAccess> > getPersonnelAcces(string idUser, EnumPlaceType enumPlaceType) { List <PersonnelAccess> lstPersonnelAcces = await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { string placeType = EnumToListHelper.GetEnumDescription(enumPlaceType); return(dbContext.PersonnelAccessList.Where(pl => pl.plpe == idUser && pl.plLSSR == placeType).ToList()); } }); return(lstPersonnelAcces); }
/// <summary> /// Configura los controles de fecha /// </summary> /// <param name="multiDate">Si requiere o no de fechas</param> /// <param name="period">Periodo en el que se va a filtrar las fechas</param> /// <history> /// [ecanul] 26/04/2016 Created /// </history> private void ConfigureDates(bool multiDate, EnumPeriod period = EnumPeriod.None) { if (!multiDate) //si no es solo una fecha { Dictionary <EnumPredefinedDate, string> dictionaryPredefinedDate = EnumToListHelper.GetList <EnumPredefinedDate>(); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.DatesSpecified)); switch (period) { //Sin periodo case EnumPeriod.None: cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Today)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Yesterday)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisHalf)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousHalf)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisYear)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousYear)); break; //Semanal case EnumPeriod.Weekly: cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoWeeksAgo)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeWeeksAgo)); //Title += $" ({EnumToListHelper.GetEnumDescription(enumPeriod)})"; break; //Mensual case EnumPeriod.Monthly: cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoMonthsAgo)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeMonthsAgo)); //Title += $" ({EnumToListHelper.GetEnumDescription(enumPeriod)})"; break; } cmbDate.SelectedIndex = 0; } else // el formulario no necesita de filtro de fechas { grdDates.Visibility = Visibility.Collapsed; bdrDates.Visibility = Visibility.Collapsed; } }
/// <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> /// Configura los controles de fecha. /// </summary> /// <history> /// [edgrodriguez] 05/Mar/2016 Created /// </history> private void ConfigureDates(bool blnOneDate, EnumPeriod enumPeriod, bool blnDateRange) { Dictionary <EnumPredefinedDate, string> dictionaryPredefinedDate = EnumToListHelper.GetList <EnumPredefinedDate>(); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.DatesSpecified)); _enumPeriod = enumPeriod;//Asignamos el enumPeriod a la variable privada del formulario. switch (enumPeriod) { //Sin periodo case EnumPeriod.None: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Today)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Yesterday)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisHalf)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousHalf)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisYear)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousYear)); break; //Semanal case EnumPeriod.Weekly: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoWeeksAgo)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeWeeksAgo)); Title += $" ({EnumToListHelper.GetEnumDescription(enumPeriod)})"; break; //Mensual case EnumPeriod.Monthly: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoMonthsAgo)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeMonthsAgo)); Title += $" ({EnumToListHelper.GetEnumDescription(enumPeriod)})"; break; } cboDate.SelectedIndex = 0; //Si es un rango de fechas. cboDate.IsEnabled = pnlDtmEnd.IsEnabled = !blnOneDate; grpDates.Visibility = (blnDateRange) ? Visibility.Visible : Visibility.Collapsed; }
/// <summary> /// Configura los controles de fecha. /// </summary> /// <history> /// [aalcocer] 16/Mar/2016 Created /// [aalcocer /// </history> private void ConfigureDates(bool blnOneDate, EnumPeriod enumPeriod) { Dictionary <EnumPredefinedDate, string> dictionaryPredefinedDate = EnumToListHelper.GetList <EnumPredefinedDate>(); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.DatesSpecified)); switch (enumPeriod) { //Sin periodo case EnumPeriod.None: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Today)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Yesterday)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisHalf)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousHalf)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisYear)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousYear)); break; //Semanal case EnumPeriod.Weekly: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoWeeksAgo)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeWeeksAgo)); Title += $" ({EnumToListHelper.GetEnumDescription(enumPeriod)})"; break; //Mensual case EnumPeriod.Monthly: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoMonthsAgo)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeMonthsAgo)); Title += $" ({EnumToListHelper.GetEnumDescription(enumPeriod)})"; break; } cboDate.SelectedIndex = 0; //Si es un rango de fechas. cboDate.IsEnabled = pnlDtmEnd.IsEnabled = !blnOneDate; }
/// <summary> /// Carga los Combos /// </summary> /// <history> /// [vku] 25/May/2016 Created /// [emoguel] se volvió async /// </history> private async void LoadCombos() { try { _lstFoliosInvitationOuthouse = await BRFoliosInvitationsOuthouse.GetFoliosInvittionsOutside(nStatus : 1); _lstFoliosInvitationOuthouse.Insert(0, new FolioInvitationOuthouse { fiID = 0, fiSerie = "ALL", fiFrom = 0, fiTo = 0, fiA = Convert.ToBoolean(1) }); cboFolSeries.ItemsSource = _lstFoliosInvitationOuthouse.Select(c => c.fiSerie).Distinct(); cboSaveCourtesyTours.ItemsSource = EnumToListHelper.GetList <EnumSaveCourtesyTours>(); cboExternal.ItemsSource = EnumToListHelper.GetList <EnumExternalInvitation>(); } catch (Exception ex) { UIHelper.ShowMessage(ex); } }
/// <summary> /// Carga el combobox de Predefined Date dependiendo el tipo de periodo /// </summary> /// <param name="cmbDate">Combobox a llenar</param> /// <param name="enumPeriod">Tipo de periodo</param> /// <param name="selectedCmb">index a seleccionar en el combo</param> /// <history> /// [emoguel] created 11/05/2016 /// </history> public static void ConfigureDates(ComboBox cmbDate, EnumPeriod enumPeriod, int selectedCmb = 0) { Dictionary <EnumPredefinedDate, string> dictionaryPredefinedDate = EnumToListHelper.GetList <EnumPredefinedDate>(); cmbDate.Items.Clear(); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.DatesSpecified)); switch (enumPeriod) { //Sin periodo case EnumPeriod.None: cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Today)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Yesterday)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisHalf)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousHalf)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisYear)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousYear)); break; //Semanal case EnumPeriod.Weekly: cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoWeeksAgo)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeWeeksAgo)); break; //Mensual case EnumPeriod.Monthly: cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoMonthsAgo)); cmbDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeMonthsAgo)); break; } cmbDate.SelectedIndex = selectedCmb; }
/// <summary> /// Llena una lista con las fechas predefinidas para cada periodo /// </summary> /// /// <param name="cboDate">Combobox a llenar</param> /// <param name="period">EnumPeriod para el llenado de fechas</param> /// <history> /// [ecanul] 26/04/2016 Created /// </history> public static void PopulateDates(ComboBox cboDate, EnumPeriod period = EnumPeriod.None) { Dictionary <EnumPredefinedDate, string> dictionaryPredefinedDate = EnumToListHelper.GetList <EnumPredefinedDate>(); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.DatesSpecified)); switch (period) { //Sin periodo case EnumPeriod.None: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Today)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.Yesterday)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisHalf)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousHalf)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisYear)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousYear)); break; //Semanal case EnumPeriod.Weekly: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousWeek)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoWeeksAgo)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeWeeksAgo)); break; //Mensual case EnumPeriod.Monthly: cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThisMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.PreviousMonth)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.TwoMonthsAgo)); cboDate.Items.Add(dictionaryPredefinedDate.Single(c => c.Key == EnumPredefinedDate.ThreeMonthsAgo)); break; } cboDate.SelectedIndex = 0; // return cboDate; }
/// <summary> /// Load Invitation Info es el mensaje que sale a lado del menu bar en la invitacion /// </summary> /// <history> /// [erosado] 17/08/2016 Created. /// </history> public void LoadInvitationInfo() { string invitType = string.Empty; switch (_invitationType) { case EnumInvitationType.existing: invitType = "Existing Guest"; break; case EnumInvitationType.newOutHouse: invitType = "New OutHouse"; break; case EnumInvitationType.newExternal: invitType = "New External"; break; } InvitationInfo = $"Mode: {EnumToListHelper.GetEnumDescription(InvitationMode)} | Module: {_module} | Invitation Type: {invitType}"; }
/// <summary> /// Carga y configuracion del grid PRs /// </summary> /// <param name="blnOnlyOneRegister"></param> /// <param name="blnPRs"></param> /// <param name="blnAllPRs"></param> /// <history> /// [vku] 25/May/2016 Created /// </history> private async void LoadPRs(bool blnOnlyOneRegister, bool blnPRs, bool blnAllPRs) { if (!blnPRs) { return; } grdPR.SelectionMode = (blnOnlyOneRegister) ? DataGridSelectionMode.Single : DataGridSelectionMode.Extended; pnlPR.Visibility = Visibility.Visible; var x = (await BRLeadSources.GetLeadSourcesByUser(Context.User.User.peID, EnumProgram.Outhouse)).Select(y => y.lsID).ToList(); _lstPRs = await BRPersonnel.GetPersonnel(string.Join(",", x), roles : EnumToListHelper.GetEnumDescription(EnumRole.PR), status : 0); grdPR.ItemsSource = _lstPRs; chkAllPR.IsChecked = blnAllPRs; chkAllPR.IsEnabled = !blnOnlyOneRegister; if (!frmPO._clsFilter._lstPRs.Any()) { return; } chkAllPR.IsChecked = (grdPR.SelectionMode == DataGridSelectionMode.Extended) && frmPO._clsFilter.AllPRs; if (grdPR.ItemsSource != null && !frmPO._clsFilter.AllPRs && !blnOnlyOneRegister) { grdPR.SelectedItem = null; frmPO._clsFilter._lstPRs.ForEach(c => { grdPR.SelectedItems.Add(_lstPRs.FirstOrDefault(pr => pr.peID == c)); }); } else { grdPR.SelectedItem = _lstPRs.FirstOrDefault(c => c.peID == frmPO._clsFilter._lstPRs[0]); } }
/// <summary> /// Carga personal en el combobox /// </summary> /// <history> /// [erosado] 18/04/2016 Created /// [vipacheco] 02/Mayo/2016 Modified --> Se cambio el parametro de string a un tipo EnumRole /// </history> public void LoadPersonnel() { StaStart("Loading Personnel..."); DoGetPersonnel(Context.User.SalesRoom.srID, EnumToListHelper.GetEnumDescription(EnumRole.Liner)); }
/// <summary> /// Carga los integrantes /// </summary> /// <history> /// [vku] 12/Jul/2016 Created /// </history> public async void LoadIntegrantes(TeamGuestServices team) { try { List <Personnel> lstPersonnel = await BRPersonnel.GetPersonnels(blnLiner : true); List <Personnel> lstPersonnelIni = await BRPersonnel.GetPersonnels(blnLiner : true); List <Personnel> lstliner = new List <Personnel>(); lstliner.AddRange(lstPersonnel); cboIntegrant.ItemsSource = lstPersonnel; cboLiner.ItemsSource = lstliner; _lstPersonnel = lstPersonnel.Where(pe => pe.peTeam == team.tgID && pe.peTeamType == EnumToListHelper.GetEnumDescription(EnumTeamType.TeamPRs) && pe.pePlaceID == team.tglo).ToList(); _lstOldPersonnel = lstPersonnelIni.Where(pe => pe.peTeam == team.tgID && pe.peTeamType == EnumToListHelper.GetEnumDescription(EnumTeamType.TeamPRs) && pe.pePlaceID == team.tglo).ToList(); //Cargamos la lista con los datos iniciales dgrIntegrants.ItemsSource = _lstPersonnel; StatusBarReg.Content = _lstPersonnel.Count + " Integrants."; status.Visibility = Visibility.Collapsed; } catch (Exception ex) { UIHelper.ShowMessage(ex); } }
public FormSalePriceControlRules() { InitializeComponent(); this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; SalePriceControlRulesModel m = this.PharmacyDatabaseService.GetSalePriceControlRules(out msg); if (m.RuleType == 0) { m = new SalePriceControlRulesModel { RuleType = 0, Description = "在销售开票界面中,控制销售价不得低于采购价。客户端销售开票时,药品选择界面中定义的价格无效,以采购价显示当前药品的销售价,销售价格不得低于采购价格,否则无法开票销售。请注意,销售价格不得低于本公司对该品种定义的最低销售价格。", RuleName = Models.SalePriceControlEnum.低于采购价.ToString(), SalesOrderPrintRuleValue = m.SalesOrderPrintRuleValue }; this.label2.Text = m.Description; } var c = EnumToListHelper.ConverEnumToList(typeof(Models.SalePriceControlEnum)); this.comboBox1.DisplayMember = "Name"; this.comboBox1.ValueMember = "Id"; this.comboBox1.DataSource = c.OrderBy(r => r.Id).ToList(); this.comboBox1.SelectedIndex = m.RuleType; this.label2.Text = m.Description; if (m.RuleType == (int)Models.SalePriceControlEnum.高于最高定价) { this.textBox1.Enabled = true; this.textBox1.Text = m.RuleRate.ToString(); } var p = EnumToListHelper.ConverEnumToList(typeof(EnumSalesOrderPrintRule)); this.comboBox2.DisplayMember = "Name"; this.comboBox2.ValueMember = "Id"; this.comboBox2.DropDownStyle = ComboBoxStyle.DropDownList; this.comboBox2.DataSource = p; this.comboBox2.SelectedValue = (int)m.SalesOrderPrintRuleValue; #region 控价规则选择 this.comboBox1.SelectedIndexChanged += (s, e) => { var idx = this.comboBox1.SelectedIndex; if (idx == 0) { this.label2.Text = "在销售开票界面中,控制销售价不得低于采购价。客户端销售开票时,药品选择界面中定义的价格无效,以采购价显示当前药品的销售价,销售价格不得低于采购价格,否则无法开票销售。请注意,销售价格不得低于本公司对该品种定义的最低销售价格。"; } if (idx == 1) { this.label2.Text = "在销售开票界面中,以药品选择界面中定义的销售价显示当前价格,可低于采购价销售。请注意,销售价格不得低于本公司对于该品种定义的最低销售价格。"; } if (idx == 2) { this.label2.Text = "在销售开票界面,以采购价的N倍比例显示当前药品销售价格,可以在文本框中填写该比例。药品选择界面中定义的销售价格无效。本规则可低于采购价销售,但不能高于最高定价。请注意,销售价格不得低于本公司对于该品种定义的最低销售价格。"; } this.textBox1.Enabled = idx == 2; }; #endregion //保存 #region 保存 this.toolStripButton1.Click += (s, e) => { var re = MessageBox.Show("确定需要保存销售价格控制规则吗?", "提示", MessageBoxButtons.OKCancel); if (re == System.Windows.Forms.DialogResult.Cancel) { return; } m.RuleType = this.comboBox1.SelectedIndex; m.RuleName = ((Models.SalePriceControlEnum)(this.comboBox1.SelectedIndex)).ToString(); m.Description = this.label2.Text; m.SalesOrderPrintRuleValue = (EnumSalesOrderPrintRule)this.comboBox2.SelectedValue; decimal rate = 1m; if (m.RuleType == (int)Models.SalePriceControlEnum.高于最高定价) { if (string.IsNullOrEmpty(this.textBox1.Text.Trim())) { MessageBox.Show("该规则需要您填写比例!"); this.textBox1.Focus(); return; } if (!decimal.TryParse(this.textBox1.Text.Trim(), out rate)) { MessageBox.Show("请输入比例!"); return; } m.RuleRate = rate; } if (this.PharmacyDatabaseService.SaveSalePriceControlRules(m, out msg)) { MessageBox.Show("销售价格控制规则保存成功!请注意设定品种价格或者最低价格等信息!"); this.PharmacyDatabaseService.WriteLog(BugsBox.Pharmacy.AppClient.Common.AppClientContext.currentUser.Id, "保存销售价格控制规则成功!"); } else { MessageBox.Show("信息保存失败,异常信息:\n" + msg); } }; #endregion }
/// <summary> /// Agrega | Actualiza un equipo de PRs /// </summary> /// <param name="idUser">Clave de usuario</param> /// <param name="team">Objeto a guardar</param> /// <param name="blnUpdate">True - Actualiza | False - Agrega</param> /// <param name="lstAdd">Personnels a asignar al equipo</param> /// <param name="lstDel">Personeels a remover del equipo</param> /// <param name="lstChanged">Lista de integrantes que tuvieron cambios</param> /// <returns>0. No se guardó | 1. Se guardó | -1. Existe un registro con el mismo ID</returns> /// <history> /// [vku] 13/Jul/2016 Created /// </history> public async static Task <int> SaveTeam(string idUser, TeamGuestServices team, bool blnUpdate, List <Personnel> lstAdd, List <Personnel> lstDel, List <Personnel> lstChanged) { bool HadPost = false; int nRes = await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable)) { try { #region ChangePersonnel if (lstChanged.Count > 0) { foreach (Personnel pe in lstChanged) { dbContext.Entry(pe).State = EntityState.Modified; } } #endregion #region Update if (blnUpdate) { dbContext.Entry(team).State = EntityState.Modified; } #endregion #region Add else { TeamGuestServices teamVal = dbContext.TeamsGuestServices.Where(te => te.tgID == team.tgID).FirstOrDefault(); if (teamVal != null) { return(-1); } else { dbContext.TeamsGuestServices.Add(team); } } #endregion #region addPerssonnel if (lstAdd.Count > 0) { dbContext.Personnels.AsEnumerable().Where(pe => lstAdd.Any(pee => pee.peID == pe.peID)).ToList().ForEach(pe => { pe.peTeamType = EnumToListHelper.GetEnumDescription(EnumTeamType.TeamPRs); pe.pePlaceID = team.tglo; pe.peTeam = team.tgID; if (pe.pepo == "GS" || pe.pepo == "OPC") { HadPost = true; } if (BRPrograms.GetProgramByLocation(team.tglo) == EnumToListHelper.GetEnumDescription(EnumProgram.Inhouse)) { pe.pepo = "GS"; } else { pe.pepo = "OPC"; } DateTime dtmServerDate = BRHelpers.GetServerDateTime(); TeamLog teamLog = new TeamLog(); teamLog.tlDT = dtmServerDate; teamLog.tlChangedBy = idUser; teamLog.tlpe = pe.peID; teamLog.tlTeamType = pe.peTeamType; teamLog.tlPlaceID = pe.pePlaceID; teamLog.tlTeam = pe.peTeam; dbContext.TeamsLogs.Add(teamLog); if (HadPost == false) { PostLog postLog = new PostLog(); postLog.ppChangedBy = idUser; postLog.ppDT = dtmServerDate; postLog.pppe = pe.peID; postLog.pppo = pe.pepo; dbContext.PostsLogs.Add(postLog); } }); } #endregion #region del Personnel if (lstDel.Count > 0) { dbContext.Personnels.AsEnumerable().Where(pe => lstDel.Any(pee => pee.peID == pe.peID)).ToList().ForEach(pe => { pe.peTeamType = null; pe.pePlaceID = null; pe.peTeam = null; pe.pepo = null; pe.peLinerID = null; DateTime dtmServerDate = BRHelpers.GetServerDateTime(); TeamLog teamLog = new TeamLog(); teamLog.tlDT = dtmServerDate; teamLog.tlChangedBy = idUser; teamLog.tlpe = pe.peID; teamLog.tlTeamType = pe.peTeamType; teamLog.tlPlaceID = pe.pePlaceID; teamLog.tlTeam = pe.peTeam; dbContext.TeamsLogs.Add(teamLog); PostLog postLog = new PostLog(); postLog.ppChangedBy = idUser; postLog.ppDT = dtmServerDate; postLog.pppe = pe.peID; postLog.pppo = pe.pepo; dbContext.PostsLogs.Add(postLog); }); } #endregion int nSave = dbContext.SaveChanges(); transaction.Commit(); return(nSave); } catch { transaction.Rollback(); return(0); } } } }); return(nRes); }
//新增构造函数 public Form_SalesOrder() { InitializeComponent(); this.invoicer.Text = Pharmacy.AppClient.Common.AppClientContext.CurrentUser.Employee.Name; this.lblCreateDate.Text = DateTime.Now.Date.ToLongDateString(); #region 列表处理 this.dataGridView1.RowPostPaint += (s, e) => DataGridViewOperator.SetRowNumber(this.dataGridView1, e); this.dataGridView1.CellClick += dataGridView1_CellClick; this.dataGridView1.CellMouseDown += (s, e) => //选定列表中的药品id,给右键菜单使用 { if (this.dataGridView1.Rows.Count <= 0) { return; } var c = this.dataGridView1.CurrentRow.DataBoundItem as SalesOrderDetailModel; this.BaseRightMenu.DrugId = c.DrugInfoId; }; this.BaseRightMenu = new UI.Forms.BaseForm.BasicInfoRightMenu(this.dataGridView1); //右键支持 this.BaseRightMenu.InsertDrugBasicInfo(); //加入药品基本信息查询功能 this.BaseRightMenu.InserMenu("删除该品种", () => { if (this.dataGridView1.Rows.Count <= 0) { return; } var c = MessageBox.Show("确定需要删除该品种吗", "提示", MessageBoxButtons.OKCancel); if (c == System.Windows.Forms.DialogResult.Cancel) { return; } this.DeleteDrug(); }); #endregion #region 择客户单位 this.textBox1.Focus(); this.textBox1.KeyDown += (s, e) => { if (e.KeyCode != Keys.Return) { return; } using (Common.FormPurchaseSelector frm = new Common.FormPurchaseSelector(this.textBox1.Text.Trim())) { var re = frm.ShowDialog(); if (re == System.Windows.Forms.DialogResult.OK) { this.CurrentPurchaseUnit = frm.Result; this.txtPurchaseName.Text = this.CurrentPurchaseUnit.Name; this.BaseRightMenu.InsertPurchaseUnitBasicInfo(); //加入右键查询该客户的基本信息查询界面 #region 当前客户单位的采购员 var c = this.PharmacyDatabaseService.GetPurchaseUnitBuyersByPurchaseUnitId(this.CurrentPurchaseUnit.Id, out msg).OrderBy(r => r.Name).ToList(); c.Add(new PurchaseUnitBuyer { Id = Guid.Empty, Name = "请选择" }); this.cmbPurchaseUnitBuyer.DisplayMember = "Name"; this.cmbPurchaseUnitBuyer.ValueMember = "Id"; this.cmbPurchaseUnitBuyer.DataSource = c; if (c.Count > 0) { this.cmbPurchaseUnitBuyer.SelectedIndex = 0; this.CurrentPurchaseUnitBuyer = c.First(); } #endregion } } }; #endregion #region 客户采购员选择 this.cmbPurchaseUnitBuyer.SelectedIndexChanged += (s, e) => { this.CurrentPurchaseUnitBuyer = this.cmbPurchaseUnitBuyer.SelectedItem as PurchaseUnitBuyer; }; #endregion #region 提货方式 var pickupGoodTypeList = EnumToListHelper.ConverEnumToList(typeof(PickUpGoodType)); this.cmbPickUpGoods.DisplayMember = "Name"; this.cmbPickUpGoods.ValueMember = "Id"; this.cmbPickUpGoods.DataSource = pickupGoodTypeList; this.cmbPickUpGoods.SelectedValue = (int)this.CurrentPickUpGoodType; #endregion #region 品种类型选择下拉列表 var drugTypeList = EnumToListHelper.ConverEnumToList(typeof(SalesDrugType)); this.comboBox1.DisplayMember = "Name"; this.comboBox1.ValueMember = "Id"; this.comboBox1.DataSource = drugTypeList; this.comboBox1.SelectedIndex = 0; this.comboBox1.SelectedIndexChanged += (s, e) => { this.CurrentSalesDrugType = (SalesDrugType)this.comboBox1.SelectedIndex; this.toolStripStatusLabel2.Text = ((MyLibs.EnumTypeList) this.comboBox1.SelectedItem).Name; }; #endregion #region 销售人员名单绑定列表 System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument(); xmlDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "BugsBox.Pharmacy.AppClient.SalePriceType.xml"); System.Xml.XmlNodeList xmlNode = xmlDocument.SelectNodes("/SalePriceType/priceType"); xmlNode = xmlDocument.SelectNodes("/SalePriceType/salerRoleName"); string salerRoleName = xmlNode[0].Attributes[0].Value.ToString(); var SalerNames = this.PharmacyDatabaseService.GetUserByPosition(salerRoleName, string.Empty, string.Empty).OrderBy(r => r.Employee.Name).ToList();//根据角色获取用户 var UE = (from i in SalerNames select new SalerNames { Id = i.Id, EName = i.Employee.Name }).ToList(); //插入一条“请选择” UE.Insert(0, new SalerNames { Id = Guid.Empty, EName = "请选择销售员" }); this.cmbSalesMan.ValueMember = "Id"; this.cmbSalesMan.DisplayMember = "EName"; this.cmbSalesMan.DataSource = UE; this.cmbSalesMan.SelectedIndex = 0; #endregion }
public Form_PurchaseOrderImpt() { InitializeComponent(); #region 绑定类型 var ordertypes = EnumToListHelper.ConverEnumToList(typeof(PurchaseDrugTypes)).Where(r => r.Name != "食品").ToList(); this.toolStripComboBox1.ComboBox.DisplayMember = "Name"; this.toolStripComboBox1.ComboBox.ValueMember = "Id"; this.toolStripComboBox1.ComboBox.DataSource = ordertypes; #endregion #region DataGridView初始化 this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; this.dataGridView1.RowPostPaint += (s, e) => DataGridViewOperator.SetRowNumber(this.dataGridView1, e); this.dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; this.dataGridView2.RowPostPaint += (s, e) => DataGridViewOperator.SetRowNumber(this.dataGridView2, e); #endregion #region 右键菜单 BugsBox.Pharmacy.UI.Common.BaseRightMenu brm = new BugsBox.Pharmacy.UI.Common.BaseRightMenu(this.dataGridView1); #endregion #region 清理表格数据 Action ClearData = () => { this.ListDetails.Clear(); this.dataGridView1.DataSource = null; this.ListDetailsWaitingImpt.Clear(); this.dataGridView2.DataSource = null; }; #endregion #region 打开EXCEL文件 this.toolStripButton1.Click += (s, e) => { OpenFileDialog ofd = new OpenFileDialog { Filter = "XLS文件|*.xls|XLSX文件|*.xlsx", }; var re = ofd.ShowDialog(); if (re != System.Windows.Forms.DialogResult.OK) { return; } FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read); NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(fs); int sheetCount = book.NumberOfSheets; NPOI.SS.UserModel.ISheet sheet = book.GetSheetAt(0); #region 简单验证一下excel表格 if (sheet == null) { MessageBox.Show("模板文件出错,请检查!"); return; } NPOI.SS.UserModel.IRow row = sheet.GetRow(0); if (row == null) { MessageBox.Show("模板文件出错,请检查!"); return; } int firstCellNum = row.FirstCellNum; int lastCellNum = row.LastCellNum; if (firstCellNum == lastCellNum) { MessageBox.Show("模板文件出错,请检查!"); return; } #endregion ClearData(); for (int i = 1; i < sheet.LastRowNum + 1; i++) { var sheetrow = sheet.GetRow(i); Business.Models.PurchaseOrderImpt m = new Business.Models.PurchaseOrderImpt(); m.ProductGeneralName = sheet.GetRow(i).Cells[0].StringCellValue; m.DosageName = sheet.GetRow(i).Cells[1].StringCellValue; m.SpecificName = sheet.GetRow(i).Cells[2].StringCellValue; m.MeasurementName = sheet.GetRow(i).Cells[3].StringCellValue; m.FactoryName = sheet.GetRow(i).Cells[4].StringCellValue; m.Origin = sheet.GetRow(i).Cells[5].StringCellValue; m.Amount = decimal.Parse(sheet.GetRow(i).Cells[6].NumericCellValue.ToString()); m.UnitPrice = decimal.Parse(sheet.GetRow(i).Cells[7].NumericCellValue.ToString()); m.TaxRate = decimal.Parse(sheet.GetRow(i).Cells[8].NumericCellValue.ToString()); this.ListDetails.Add(m); } this.dataGridView1.DataSource = this.ListDetails; this.dataGridView1.Columns["DruginfoId"].Visible = false; }; #endregion #region 生成模板文件 this.toolStripButton4.Click += (s, e) => { DownlodExcel(); MessageBox.Show("导出成功!"); }; #endregion #region 务器端验证 this.toolStripButton2.Click += (s, e) => { if (this.dataGridView1.Rows.Count <= 0) { return; } var result = this.PharmacyDatabaseService.CheckForPurchaseOrderDetails(this.ListDetails, out msg).ToList(); if (result.Any(r => r.DrugInfoId == Guid.Empty)) { MessageBox.Show("有一个或多个记录没有验证成功,请检查品名,剂型,规格等基本信息!您可以修改后再尝试验证!"); } this.ListDetails = result.Where(r => r.DrugInfoId == Guid.Empty).ToList(); this.dataGridView1.DataSource = ListDetails; this.ListDetailsWaitingImpt = result.Where(r => r.DrugInfoId != Guid.Empty).ToList(); this.dataGridView2.DataSource = this.ListDetailsWaitingImpt; this.dataGridView2.Columns["DrugInfoId"].Visible = false; this.dataGridView2.Refresh(); }; #endregion #region 导入按钮click this.toolStripButton3.Click += (s, e) => { if (this.ListDetailsWaitingImpt.Count <= 0) { return; } if (this.OnPurchaseOrderImpt != null) { PurchaseOrderImptEventArgs args = new PurchaseOrderImptEventArgs { ImptList = this.ListDetailsWaitingImpt }; this.OnPurchaseOrderImpt(args); } }; #endregion }
/// <summary> /// Llena el combobox de periods /// </summary> /// <history> /// [emoguel] created 10/05/2016 /// </history> private void LoadPeriods() { cmbPeriod.ItemsSource = EnumToListHelper.GetList <EnumPeriod>().Where(ep => ep.Value != "None").OrderBy(ep => ep.Value); cmbPeriod.SelectedIndex = 0; }
/// <summary> /// Carga el combobox de patrones /// </summary> /// <history> /// [emoguel] created 16/05/2016 /// [erosado] 19/05/2016 Modified. Se agregó asincronía /// </history> private async void LoadBoss() { try { List <PersonnelShort> lstBoss = await BRPersonnel.GetPersonnel(roles : EnumToListHelper.GetEnumDescription(EnumRole.Boss)); cmblsBoss.ItemsSource = lstBoss; } catch (Exception ex) { UIHelper.ShowMessage(ex); } }