private void ObtenerUbicacionesPorFiltros(object sender) { if (string.IsNullOrEmpty(PrepararBodegas())) { return; } UsuarioDeseaObtenerUbicacionesPorFiltro?.Invoke(sender, new ConteoFisicoArgumento { Bodegas = PrepararBodegas() , Regimen = UiListaRegimen.EditValue?.ToString() ?? "" , Zonas = PrepararZonas() , Clientes = PrepararClientes() , Ubicaciones = PrepararUbicaciones() , Materiales = PrepararMateriales() , UbicacionesVacias = IncluirTodasUbicaciones ? 1 : 0 }); if (ConteoDetalles != null && ConteoDetalles.Count > 0) { var conteos = ConteoDetalles.ToList(); var usuarios = Usuarios.Where(x => x.IS_SELECTED).ToList(); var cantidad = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(conteos.Count()) / Convert.ToDecimal(usuarios.Count()))); var ultimaCantidad = 0; var cantidadUsuarios = usuarios.Count; for (int j = 0; j < cantidadUsuarios; j++) { var pose = ultimaCantidad + cantidad; for (int i = ultimaCantidad; i < pose; i++) { conteos[i].ASSIGNED_TO = usuarios[0].LOGIN_ID; if (i == pose - 1) { ultimaCantidad = pose; } } usuarios = usuarios.Where(x => x.LOGIN_ID != usuarios[0].LOGIN_ID).ToList(); cantidad = usuarios.Count == 0 ? 1 : Convert.ToInt32(Math.Ceiling((Convert.ToDecimal(conteos.Count(x => string.IsNullOrEmpty(x.ASSIGNED_TO))) / Convert.ToDecimal(usuarios.Count())))); } ConteoDetalles = conteos; } }
private void UibotonCrearConteo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (ConteoDetalles == null || ConteoDetalles.Count <= 0) { return; } UsuarioDeseaGrabarConteoFisico?.Invoke(sender, new ConteoFisicoArgumento { Tarea = new Tarea { CREATE_BY = InteraccionConUsuarioServicio.ObtenerUsuario() , TASK_TYPE = Enums.GetStringValue(TareasTipo.Conteo) , TASK_ASSIGNED_TO = InteraccionConUsuarioServicio.ObtenerUsuario() , REGIMEN = UiListaRegimen.EditValue?.ToString() ?? "" , PRIORITY = Convert.ToInt16(UiListaPrioridad.EditValue?.ToString() ?? "1") , COMMENTS = "" } , ConteoFisicoEncabezado = new ConteoFisicoEncabezado { REGIMEN = UiListaRegimen.EditValue?.ToString() ?? "" , DISTRIBUTION_CENTER = InteraccionConUsuarioServicio.ObtenerCentroDistribucion() } , ConteoFisicoDetalle = ConteoDetalles.ToList() }); LimpiarControles(); }